TFS como fuente-control: ¿qué amas? ¿qué odias?
tfs2008 (12)
Odia
- No realiza un seguimiento de los cambios realizados en los archivos a menos que los haya revisado, por lo que si edita un archivo en Notepad ++, TFS no tiene conocimiento de que haya cambiado nada.
- Es muy fácil para alguien revisar un archivo y bloquearlo para que nadie más pueda hacer cambios. TFS no debería abandonar esta habilidad, pero ciertamente debería hacerlo mucho más difícil de lo que es actualmente.
- Los métodos para deshacer un compromiso o dos son muy poco claros, tanto que nunca estoy seguro de si funcionó o no.
- La forma en que TFS hace que los archivos se lean solo a menos que los extraiga es desagradable, aunque me ayuda a recordar revisar los archivos antes de guardar las ediciones que he hecho.
Ama
- Supongo que la integración integrada con Visual Studio es agradable, si te gusta ese tipo de cosas (no me gusta)
He usado TFS durante aproximadamente 18 meses y no estoy realmente entusiasmado con eso. Parece lo peor de las versiones actuales de SCM en el mercado.
Creo que este hilo ayudará a las personas a decidir si TFS es para ellos frente a otros sistemas de control de origen. Si bien TFS hace mucho más que eso, creo que el control de fuente es tan importante para el desarrollo de software que cualquier sistema (o una combinación de ellos) que elija debe considerar primero el control de fuente.
¿Cuáles son las cosas buenas de TFS frente a otros controles de origen? ¿Qué hace bien que nadie más lo hace?
¿Cuáles son las cosas por las que TFS es malo en que todos los demás parecen hacerlo bien?
Creo que TFS es el mejor producto ALM en el mercado hoy en día. Mirarlo desde una única plataforma de control de fuente está inclinado. He usado muchos productos en mi carrera hasta la fecha: VSS, SVN, Git, StarTeam, CC / Harvest y ClearCase, además de TFS. Personalmente, me estremezco ante la idea de volver a otra cosa que no sea TFS.
TFS es una plataforma extremadamente poderosa. Mi mayor problema con frecuencia está relacionado con las personas que no saben cómo usarlo o usarlo incorrectamente. No se pretende que sea una aplicación que "simplemente funciona". Claro, puedes usarlo para el control de fuente básico sin aprender mucho sobre él, pero si es para eso que lo usas, entonces es mejor que uses una de las herramientas menos robustas que existen. En realidad, lo que TFS no le brinda es la manera de interpretar las funciones como lo desea. Se construye específicamente desde el principio para admitir el proceso y no solo ser un repositorio.
No le gusta:
- Usar la historia para descubrir lo que se ha hecho es incómodo por decir lo menos. Tiene que hacer clic en cada entrada del historial para ver qué archivos se modificaron, y luego debe pasar por un menú contextual para obtener una diferencia.
- Trabajar mientras está desconectado de la red es un gran no-no. ¿Has oído hablar de trabajar en un avión?
- No hay integración del Explorador de Windows para cuando trabaja con archivos fuera de VS (piense en TortoiseSVN).
- A los metodólogos de procesos (administradores de configuración) les encanta no permitir salidas compartidas. Esto es absolutamente horrible, por ejemplo, para los archivos de configuración que necesita modificar para las pruebas.
- SC se confunde con operaciones complejas de mover / eliminar.
- SC no reconoce cuando un archivo desprotegido no ha cambiado. Por ejemplo, las actualizaciones de referencia del servicio verifican todos los archivos relacionados y, a menudo, regeneran exactamente el mismo contenido. Estos archivos deberían eliminarse implícitamente de los registros porque solo agregan ruido cuando miras tu conjunto de cambios más adelante.
Gustos:
- Estantería.
¿Alguien adivinó cuál es mi sistema SCM favorito? SVN + TortoiseSVN + VisualSVN :-)
Soy miembro del equipo de Team Foundation Server en Microsoft. Hay un montón de cuestiones muy válidas planteadas aquí. Algunos de ellos se abordan en la versión 2010. Otros siguen siendo problemas, pero los reconocemos y estamos trabajando para mejorar la experiencia del desarrollador con la próxima versión. Las discusiones como esta son excelentes para ayudarnos a asegurarnos de que estamos resolviendo los problemas correctos.
Aquí hay información sobre problemas que se abordan al menos parcialmente hoy en la versión 2010:
Cliente independiente
Para los clientes que no son desarrolladores que desean usar el producto fuera de VS, pueden usar la extensión de Windows Shell powertool .
Si tiene usuarios (desarrolladores o no) que necesitan acceder a TFS desde máquinas que no son de Windows, pueden usar Team Explorer en todas partes. Esto es compatible con plataformas que incluyen Mac y Linux.
Espacio de trabajo de copia
Hay dos formas de copiar un espacio de trabajo hoy. El primero es mediante el uso del comando de plantilla de área de trabajo en la línea cmd. Ex.
Tf / workspace / new / template [nombre del espacio de trabajo / propietario para copiar desde]
Alternativamente, puede abrir un área de trabajo en la interfaz de usuario, seleccionar todas las asignaciones, copiarlas y luego pegarlas en un archivo / correo electrónico. Alguien más puede pegar esas mismas asignaciones en su área de trabajo.
Definitivamente sería genial si simplemente pudiera especificar un espacio de trabajo predeterminado que los clientes seleccionen automáticamente, pero no tenemos esto hoy.
Fusionando robustez
El escenario descrito donde realiza una adición, renombra, agrega y luego tiene problemas cuando se fusiona se ha abordado en TFS 2010.
Rama / Fusionar como una experiencia de primera clase
En TFS 2010, las ramas ahora son objetos de primera clase en TFS. Puede visualizar sus sucursales e incluso realizar un seguimiento de los cambios a medida que se mueven a través de la rama. La ramificación también es ahora una operación rápida basada en servidor.
Obtenga la última versión de múltiples proyectos
Puede hacer esto hoy mismo seleccionando el nodo de instancia de TFS en el explorador de control de fuente y luego seleccionando obtener más reciente. Este es el equivalente de la carpeta raíz ($).
Bloqueo de archivos
De forma predeterminada, TFS nunca bloquea los archivos cuando los usuarios los desprotegen. Esta es la forma en que usamos TFS en Microsoft y cómo vemos a la mayoría de nuestros clientes que usan TFS. Es posible permitir que los usuarios bloqueen explícitamente los archivos. Algunos clientes consideran que esto es deseable, pero no es la experiencia de ruta predeterminada.
Con: sellos de tiempo . No hay forma de configurar TFS para que use la marca de hora de última modificación remota como la marca de hora de última modificación local. La marca de tiempo del archivo local solo me dice cuando recibí el archivo. Si obtengo un archivo que tiene 2 años de antigüedad, no hay forma de saberlo según la marca de tiempo local.
Otros controles de fuente que he usado tienen esta habilidad.
Con : Checkout model. Muchas aplicaciones no manejan bien los archivos que están marcados como de solo lectura, luego cambian a escritura (Word 2007, Bloc de notas). Así que abre un archivo, lo edita, trata de guardarlo y le dicen que no puede guardarlo porque es de solo lectura. Genial, ahora tienes que guardar como ..., eliminar el original y cambiarle el nombre al nombre antiguo. Si hay una ventaja de que los archivos locales sean de solo lectura, no los veo. Realmente prefiero el enfoque de Subversión a esto.
La única ventaja de hacer que los archivos sean de solo lectura es que le recuerda que los revise. Sin embargo, eso es solo un síntoma del modelo de check-out.
Contras :
- Versión del área de trabajo: no puede identificar la versión de un área de trabajo sin hacer una búsqueda recursiva.
- terrible experiencia fuera de línea. attrib -r + tfpt en línea no debería ser la forma de trabajar sin conexión. Dame algo como git que me permita hacer un seguimiento del estado, deshacer y hacer cambios. Incluso estoy bien si solo almacena la diferencia entre la versión del área de trabajo y la actual.
- Fusión de solidez: un archivo modificado en el servidor + una edición local en diferentes líneas no es un conflicto. un archivo grabable no debe ser un conflicto automático. El botón de combinación automática NO debería existir, porque nunca debería ser un escenario.
- Áreas de trabajo: la idea de poder reorganizar la estructura de origen es extraña y causa problemas. el requisito de tener ambas ramas asignadas para fusionarse es impar. El requisito de tener que realizar una operación varias veces, porque mi asignación de espacio de trabajo no tiene una carpeta raíz verdadera es incorrecto.
- Dependencia total en el servidor remoto: hay algunas cosas buenas acerca de tener todas estas cosas almacenadas en el servidor, pero en realidad, puede almacenar la información localmente y luego cargarla cuando sea necesario. Mantenga los cambios pendientes, las asignaciones de espacios de trabajo, el historial básico de deshacer localmente, etc.
Pros
- Estanterías: me encantan estas, y deseo que el soporte para ellas también se haya llevado al disco local (piensa en el git stash)
- Vista de control de fuente en VS: Es genial poder ver todo el repositorio sin descargarlo. Hay algunos problemas de usabilidad, pero la idea general es genial.
- Espacios de trabajo: sí, ambos lugares. Si bien la reorganización de un repositorio es extraña, la capacidad de descargar solo lo que necesita es bastante impresionante. A menudo me gustaría poder elegir una carpeta raíz y luego marcar la casilla de las rutas que necesito, pero bueno.
Contras : si desea mover varios archivos a una subcarpeta de la ubicación existente, debe hacerlo de uno en uno . Wow, eso es horrible.
Pros
- Fundamentalmente es un sistema de sonido. Robusto y fiable.
- Integrado con elementos de trabajo, informes, etc.
- Las herramientas eléctricas son realmente buenas.
- [editar] Está mejorando, y ha dado buenos saltos hacia adelante con 2010, 2012, 2013
- TFS es altamente accesible para herramientas personalizadas. Hay una API enriquecida que facilita la escritura de paneles y otras herramientas para obtener los datos en TFS. Y como todos los datos se almacenan en SQL, puede examinarlos y consultarlos directamente si es necesario. He trabajado con muchos SCM diferentes a lo largo de los años y nunca he encontrado uno que sea tan abierto y accesible: todo (historias de usuarios, tareas, errores, problemas, planes de prueba, iteraciones, control de código fuente y sucursales, compilaciones, pruebas de unidad, integración continua) está justo allí a su alcance. Esta es una característica impresionante de TFS. Muchas de las fallas en la interfaz de usuario de TFS se han solucionado en algunas tardes, herramientas de escritura y un panel de control para que lo use mi equipo. Y seamos sinceros, si escribes el tuyo, hace exactamente lo que necesitas.
Contras
Hay un área en la que la robustez falla miserablemente: si aplica varios cambios a un archivo (agregar, renombrar, editar) en "una sola vez", se confunde terriblemente. Si no verifica estas acciones por separado, tanto TFS2005 como TFS2008 se bloquean cuando va a combinar esos cambios en las sucursales. A partir de 2010 ya no se bloquea, pero a menudo no se verifica correctamente los cambios, por lo que tiene que entrar y limpiar un lío de archivos faltantes y con nombres incorrectos.
No hay un navegador de control de fuente independiente. Está integrado en VS, lo que es realmente molesto cuando solo desea trabajar en los elementos de control de origen sin necesidad de ejecutar otra copia de VS. Por supuesto, puede darle a su artista un Explorador de equipos, pero preguntémonos si un artista que solo quiere ver los archivos, verificar, registrar y GLV realmente necesita una instancia de VSTS complicada completamente ejecutada para lograrlo. Además, la integración es tan deficiente que no puede usar TFS de manera realista desde el Explorador de soluciones (simplemente se trata de lo que ha comprobado y es tan poco confiable cuando aplica acciones desde esa ventana que pronto aprende a abrir la fuente). ventana de control y trabajo allí, lo que anula el punto de integración en primer lugar) [editar: la extensión del explorador de archivos es excelente, está cerca de un navegador independiente y es simple y fácil de usar. El principal inconveniente de esto es la falta de una integración adecuada con los comandos de archivo: para cambiar el nombre o eliminar archivos, debe recordar usar el submenú TFS, o cambiará el nombre o lo eliminará localmente y esto arruina el control de origen completamente, ya que TFS no sabe nada de los cambios Han hecho. Desafortunadamente, esto significa que solo los usuarios "avanzados" de TFS pueden confiar en su uso. Entonces, esencialmente, sigue siendo un caso de "navegador independiente" para la mayoría de los usuarios]
La interfaz de usuario apesta (pero está mejorando, al menos en el lado del acceso web). Claro, funciona, pero se puede hacer mucho para que sea eficiente, agradable y más fácil de usar. por ejemplo, [antes de 2012] Cuando hace clic en "registrar", marca todos los elementos restantes que no se han registrado, de modo que si accidentalmente hace clic en Registrar nuevamente en el futuro, verifica una carga de cosas que no desea. Y después de esto, sería tan fácil proporcionar una opción de "deshacer el último registro" para revertirla rápidamente, pero no hay ninguna. [Edición: la interfaz de usuario ha mejorado, pero estos problemas específicos todavía están presentes en VS2010, aunque ahora tiene un cuadro de diálogo de confirmación de registro que reduce el riesgo de registros accidentales] [edición: en 2012 es mucho mejor, pero Se volvió loco y enroló todos los diálogos de TFS separados en una sola ventana, lo cual fue un paso serio hacia atrás. La ventana de cambios pendientes no funciona tan bien como en 2010: es más difícil encontrar cosas, se necesitan más clics para lograr las mismas cosas, y si registra un archivo desde cualquier lugar, todos los archivos ''incluidos'' actualmente se eliminan. en ''excluido'' así que si tienes varias cosas en movimiento, todos se mezclan]
Espacios de trabajo. En la mayoría de los casos, cada miembro del equipo debe tener esencialmente la misma asignación de espacio de trabajo, esclavizada en una carpeta raíz local. Necesitamos 7 asignaciones definidas, lo que demora unos 5 minutos en configurarse. No hay manera de empujar la definición del espacio de trabajo desde el servidor. No hay una manera fácil de [editar] [/ editar] duplicar un espacio de trabajo para que pueda usar uno existente (u otro usuario) como punto de partida. No, tienes que volver a ingresar manualmente todos los enlaces una y otra y otra y otra vez. Si cambia su área de trabajo activa en el explorador de control de origen, no se sincroniza con la ventana de cambios pendientes, por lo que dedica 15 minutos a preguntarse por qué el archivo que fusionó de su otra rama simplemente no aparece en la lista. [edit: esto está mejorando con el 2010/2012, ya que puedes ver áreas de trabajo en otras PC y copiarlas y pegarlas más fácilmente, pero aún así es una IU bastante torpe]
Tiene conjuntos de cambios, pero no puede agrupar elementos en conjuntos de cambios separados en su lista de registros pendientes como puede hacerlo en Perforce, solo puede asociarlos con un conjunto de cambios al registrarlos. Realmente solo puede trabajar en un conjunto de cambios a la vez , o tiene que separar los archivos manualmente en su lista pendiente a medida que avanza para registrarse. [aún muy pobre en 2012]
Las herramientas de fusión son terribles. Como en: simplemente no funcionan, e introducen errores innecesariamente en su código si confía en la combinación automática. Estas herramientas son tan malas como lo eran cuando utilicé SourceSafe por primera vez en 1994. Entonces, lo primero que debe hacer después de comprar una licencia VSTS muy costosa es reemplazar las herramientas de combinación con algo que realmente funcione. Y eso significa que cada vez que obtenga un conflicto de combinación, debe seleccionar cada archivo. Elige resolver el conflicto y ok. Elija utilizar su herramienta de combinación de terceros y ok. Entonces fusionar. Entonces guarda. Luego elige aceptar tus cambios combinados. (Debería poder elegir "fusión automática" y hacer que simplemente use la herramienta de combinación de terceros que realmente funciona sin golpearlo con un aluvión de diálogos sin sentido y molestos que siempre tienen la opción incorrecta) [Editar: InVS2010 las herramientas de combinación todavia son horribles Pero la interfaz de usuario de front-end está muy mejorada (la fusión de un conflicto ahora requiere un solo clic en lugar de 4 o 5 clics, una mejora masiva cuando se deben combinar muchos archivos] [En 2012 ha habido más mejoras, pero aún están '' ok ''en lugar de bien]
No se sincroniza entre las instancias en ejecución de VS. Por lo tanto, si registra un archivo en un VS, otro aún lo incluirá en sus registros pendientes. (es claramente fácil de sincronizar porque todos los cambios realizados por la herramienta de extensión de Windows Explorer-explorer se reflejan en VS al instante). [Editar: En 2012 han solucionado este problema. Ahora, cada vez que se cambia a la vista de cambios pendientes, se gasta 15 segundos en renovarse (en 2010 la almacenó en caché y la mostró al instante, pero ocasionalmente estaba desactualizada)]
La ramificación es la forma estándar de trabajar en estos días. Así que esperaría que las herramientas de derivación / fusión hicieran esto rápido y fácil. Pero no. [edición: Se hicieron grandes mejoras en 2010 y 2012, pero la fusión es terriblemente compatible, requiere mucha mano de obra. Solo pequeñas cosas, como solo poder fusionar un conjunto contiguo de cambios, así que si desea fusionar 5 cambios que no son contiguos, debe hacerlo uno por uno, pero cada vez que abra el cuadro de diálogo comienza desde cero en lugar de recordar dónde estuvo, qué fue lo que fusionó por última vez, la lista de conjuntos de cambios disponibles, etc. Debe poder seleccionar cualquier conjunto de cambios que desee y debería automatizar el resto]
Si usted GLV (obtiene la última versión de) una solución, y se han modificado algunos de sus proyectos, VS le pregunta repetidamente si desea volver a cargar cada proyecto modificado. Es 10 veces más rápido cerrar la solución, luego GLV, luego abrir la solución nuevamente que GLV con ella abierta. Si estoy GLV''ing, por supuesto, quiero volver a cargar los proyectos! Cuando compro mi comida en el supermercado, no me preguntan por cada artículo "¿quieres llevar este artículo a casa?". [Editar: Todavía roto en VS2010] [Corregido en 2012. ¡Hurra!]
[editar] Si dos miembros del equipo agregan un nuevo proyecto a una solución, entonces, cuando la segunda persona va a registrarse, (obviamente) deben resolver un conflicto de combinación. Sin embargo, TFS trata el archivo .sln como un archivo de texto y lo corrompe (agrega las dos entradas del proyecto, pero el recuento del proyecto solo se incrementa una vez). Sería tan fácil arreglar el formato sln para que los archivos puedan fusionarse.
[editar] No realizo ninguna operación de control de origen desde la ventana del Explorador de soluciones, ya que ha sido poco confiable desde que apareció por primera vez la "integración". Incluso en 2008, por lo general tiene íconos de "desprotegido" al azar en archivos que no están desprotegidos, y las operaciones recursivas a veces hacen cosas extrañas. Casi todos los "fallos" de control de fuente que tenemos son el resultado de que alguien haya iniciado una operación desde el Explorador de soluciones. Por suerte, prefiero trabajar en una ventana de control de fuente de todos modos. [2012: Lo siento, no puedo decirte si esto está solucionado, ya que no he usado esta función desde 2008]
[editar] ¿Dónde comenzar con la ventana de enlaces de control de origen? VS podría decir "Sus configuraciones de control de fuente se han corrompido de nuevo sin ninguna razón obvia. Nunca pude dominar los jueves. ¿Debo arreglar esto por usted? [SÍ]" , pero en cambio, muestra un diálogo complicado y confuso lleno de información que no tiene sentido para nadie, lo que resulta en una interfaz de usuario tan atemorizante que hace que los programadores junior se ensucien. El truco es ignorar toda la ventana, esconderse detrás de su escritorio y hacer clic en el botón "arreglarlo", y lo arregla.
[edit - added 12/2010] Cuando obtiene el código fuente, especialmente cuando resuelve conflictos de combinación, a menudo aparecen otras ventanas al frente (o bien el Explorador de soluciones salta frente a mi vista Cambios pendientes, que he acoplado en la misma pestaña) El área o la ventana de control de fuente se desvanece detrás de otra ventana de documento. Esto es realmente molesto cuando tiene otro archivo para combinar u otra carpeta para obtener, ya que debe "buscar" la ventana de control de fuente / cambios pendientes. El código de obtención no debe Reordenar constantemente las ventanas de mi documento / herramienta. [2012: Aún no funciona]
[editar - agregado 1/2014] Con TFS 2012/2013, hay una opción de Servidor o espacios de trabajo locales. Servidor es el nombre del sistema antiguo en el que debe estar en línea con el servidor para revisar los archivos. Local es el nuevo valor predeterminado y hace una copia de todo el repositorio de origen en su computadora, lo que le permite editar cualquier archivo sin necesidad de verificarlo primero. TFS luego difumina sus archivos contra su copia local para resolver lo que cambió. Esto suena bien, y para muchas personas probablemente sea bueno, pero tiene algunos inconvenientes graves que debe tener en cuenta:
Como ya no retira los archivos, no se bloquean cuando los edita y, por lo tanto, varias personas pueden editar un archivo dado simultáneamente, lo que requiere una operación de combinación cuando se registran. Esto está bien para archivos de código fuente basados en texto, pero resulta en situaciones difíciles o trabajo perdido cuando los archivos no se pueden fusionar. Los archivos no fusionables o que no se pueden fusionar automáticamente incluyen Solución, Proyecto, Recurso (resx), XAML y cualquier otro archivo XML, por lo que esto causa muchos problemas en un entorno de desarrollo. Si (como nosotros) también desea almacenar documentos de Word y Excel y archivos binarios bajo el control de código fuente, las áreas de trabajo locales son peligrosas. Hemos perdido varios días de trabajo porque alguien, sin saberlo, usó un espacio de trabajo local y luego no fue posible fusionar sus cambios. Puede reconfigurar el servidor TFS para hacer que las áreas de trabajo del Servidor sean las predeterminadas para defenderse de esto.
Con las áreas de trabajo locales, debe guardar dos copias de todo en su computadora. Cuando actualizamos TFS, de repente, encontramos que todos perdieron 25 GB de espacio en disco, ¡y nos llevó varias semanas averiguar dónde había ido el espacio en disco! Este fue un gran problema para nosotros porque todos usamos SSD y es solo ahora (2014) que los SSD se están volviendo lo suficientemente grandes / baratos que podemos permitirnos ser tan ineficientes con nuestro espacio en disco.
En las pocas semanas en que usamos espacios de trabajo locales tuvimos varios incidentes en los que TFS dañó los archivos o perdió los cambios, probablemente debido a errores en la implementación. Sencillamente, no podemos aceptar nada menos del 100% de fiabilidad para nuestro sistema de control de fuente.
TFS es cada vez más fácil de administrar; En estos días, si no desea personalizar demasiado, puede configurar un servidor en muy poco tiempo (horas) y configurar las compilaciones y copias de seguridad de integración continua, etc. es extremadamente fácil. Por otro lado, si bien me resultó muy fácil configurar las copias de seguridad de una base de datos TFS, restaurar esa base de datos y comenzar a utilizar nuestro servidor fue otro problema: nos llevó 4 días solucionar todos los problemas de bloqueo innecesarios ( Por ejemplo, tiene que restaurar la copia de seguridad de una unidad de red, los datos no pueden ser locales. Cuando intenté restaurar la imagen en el servidor reconstruido, TFS me dijo que no había bases de datos que pudieran restaurarse. , TFS no usaría las bases de datos porque no coincidían con el servidor host (porque ese servidor se había ido, el sistema operativo se había reinstalado). Se necesitó mucha búsqueda y recuperación para restaurar la copia de seguridad. La restauración debería "simplemente trabajo"!
Como puede ver, la mayoría de los anteriores son solo triviales quejas de UI. Hay tantas cosas que podrían mejorarse acerca de la interfaz de usuario. Pero el producto subyacente real es bueno. Prefiero TFS a casi todos los demás SCM que he usado en los últimos 28 años.
Ni siquiera me importaría tanto la UI pobre, excepto que es uno de los desarrolladores de UI centrales que deben utilizar hora por hora, y tienen que pagar mucho para obtenerla. Si el dinero de la suscripción de un solo desarrollador se invirtiera en mejorar la interfaz de usuario, ¡sería una gran diferencia para la usabilidad de TFS! Es doloroso pensar que TFS es simplemente bueno o correcto cuando podría ser excelente con un poco de interfaz de usuario agradable.
La falta de retroceso ha sido mi mayor punto de dolor.
¿La funcionalidad de búsqueda no está implementada en TFS 2010? VSS tenemos búsqueda en archivo; TFS 2008 tenemos archivo de búsqueda ...
La falta de un verdadero soporte de reversión y la incapacidad de cambiar el nombre de un proyecto TFS son mis dos principales causas de mascotas con TFS. Aparte de eso, he estado muy feliz con esto durante 2-3 años.
El hecho de que ciertas aplicaciones no admitan cambios en la edición de solo lectura a escritura (lo que obliga a volver a abrir el archivo en cuestión) es molesto, pero en realidad es un problema con esas aplicaciones específicas. El hecho de que un archivo sea de solo lectura mientras no esté desprotegido tiene ciertos usos, uno de los cuales es que le recuerda que revise el archivo. Sin embargo, ocasionalmente genera confusión al tratar de obtener revisiones específicas de archivos. Los archivos grabables no se vuelven a descargar a menos que habilite una marca, ya que se consideran ediciones locales.