Acabo de recibir una pregunta rápida sobre git, ¿qué tan compatibles con versiones anteriores son los repositorios de git? Por ejemplo, he creado un repositorio usando git 1.6.4 y el script svn2git ruby, pero quiero ponerlo en una máquina que ejecuta Debian Lenny, que tiene git 1.5.6.5. ¿Todavía podría interactuar con el repositorio correctamente?Compatibilidad con versiones anteriores del repositorio de Git
Respuesta
Es extremadamente compatible con versiones anteriores en cuanto al almacenamiento real de la información, que es todo lo que le preocupa en este caso. No soy un experto total, pero dudo que haya cambiado desde la primera versión estable.
El único problema de compatibilidad que puedo pensar es si las dos versiones de git están trabajando en el mismo repos (no clones) y hay opciones/alias establecidos en .git/config que funcionan en el más nuevo versión pero no se implementaron [completamente] en la versión anterior ... pero incluso entonces tendrías que intentar con las versiones de esta manera. Y nuevamente, esto no tiene nada que ver con la información real en el repositorio, solo con los comandos que usa para administrarlo. Ahí es donde se desarrolla el desarrollo de git.
Hubo muy pocos cambios incompatibles en el diseño del repositorio de git; incompatible en el sentido de que una versión anterior podría no ser capaz de tratar con el repositorio creado con una versión más nueva, o hacer un intercambio (buscar o enviar) con un servidor más nuevo.
Debe verificar RelNotes (por ejemplo, desde here) para ver si hubo algún cambio incompatible entre las versiones que usa.
Algunos (probablemente todos) de esos cambios incompatibile son:
- submódulos apoyan: versión git antes del apoyo submódulo se introdujo en el núcleo git no será capaz de manejar repositorio que utiliza submódulos (no lo hace entienda las entradas de subtree/gitlink)
- refs compactos: la versión anterior de git no podría buscarse a través de HTTP desde un repositorio más nuevo que utiliza referencias empaquetadas (
.git/packed-refs
). Lo mismo con el viejo git usando el mismo repositorio que el nuevo git que ha empaquetado refs - offset delta packfiles: viejo git no entiende la versión más nueva (más compacta) de git packfile (ofs-delta). Esto no es un problema para buscar y empujar, ya que hay un descubrimiento de las características que el servidor admite.
Ninguno de ellos estaba entre 1.6.4 y 1.5.6, creo.
- 1. Deserialización compatibilidad con versiones anteriores
- 2. MS Office PIAs "compatibilidad con versiones anteriores"
- 3. ISerializable y compatibilidad con versiones anteriores
- 4. Compatibilidad con versiones anteriores y servicios web
- 5. .lib y .dll Compatibilidad con versiones anteriores
- 6. Versiones de clase para admitir la compatibilidad con versiones anteriores
- 7. Renombrado de funciones con preservación de compatibilidad con versiones anteriores
- 8. Temas de Android Holo con compatibilidad con versiones anteriores
- 9. Compatibilidad con versiones anteriores en .NET con BinaryFormatter
- 10. Compatibilidad con versiones anteriores de SQL Server en Entity Framework?
- 11. Compatibilidad con versiones anteriores de Java 6 Source y SQL
- 12. Integración de Kiosco sin romper la compatibilidad con versiones anteriores
- 13. WCF Service - Problema de compatibilidad con versiones anteriores
- 14. Mejores prácticas para la compatibilidad con versiones anteriores de API
- 15. Windows API Codepack Compatibilidad con versiones anteriores en Windows XP
- 16. Estrategias para Honeycomb y compatibilidad con versiones anteriores
- 17. iOS 6 API y compatibilidad con versiones anteriores
- 18. ¿Cuán importante es la compatibilidad con versiones anteriores?
- 19. ¿Compatibilidad con versiones anteriores o posteriores en Android?
- 20. ¿Cómo se puede separar limpiamente el código de compatibilidad con versiones anteriores del código principal?
- 21. GitHub: buscando en versiones anteriores de archivos
- 22. Compatibilidad con versiones anteriores de la serialización de vector (de) con Boost.serialization
- 23. Haciendo servicios WCF compatibles con versiones anteriores
- 24. Uso de las características de iOS 5 sin romper la compatibilidad con versiones anteriores
- 25. ¿Cómo puedo probar la compatibilidad con versiones anteriores de la API entre los ensamblados de .NET
- 26. ¿Puede eliminar la finalización de una definición de clase romper la compatibilidad con versiones anteriores?
- 27. Usando `@ unittest.skipIf` con versiones anteriores de Python
- 28. ¿Cómo mantener la compatibilidad con versiones anteriores mientras utilizas Android API Level 15?
- 29. ¿Debería Java romper la compatibilidad con versiones anteriores en beneficio de un lenguaje más limpio?
- 30. Diseño de la API que garantiza la compatibilidad con versiones anteriores
Bueno, sé que en una versión 1.5, el formato del repositorio fue cambiado, pero supongo que eso es todo. Gracias, probablemente pueda continuar con mi trabajo. Me pregunto, ¿la gitosis podría tener problemas con las versiones anteriores? Quiero configurar gitosis en este nuevo servidor de Lenny. Supongo que debería poder recibir empujones y cosas bien. – Ibrahim
Algunas cosas cambiaron con 1.5, pero aquí ver cómo son cautelosos: http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.0.txt Las cosas que cambiaron por defecto configuración, trabaje desde la versión 1.4.3 (al menos). – u0b34a0f6ae
¡Ja! ¡Destruye tu reputación maligna de 666 con un +1! – Bombe