Uso de Git con Visual Source Safe 6.0


Lo siento por esta horrible, horrible pregunta.. pero no hay manera de que no use VSS.

Me gustaría poder usar Git localmente para el desarrollo de ramas, etc. durante el uso de Visual Source Safe 6. Mi conocimiento de todos los entresijos de Git es limitado en este momento, ya que soy un converso reciente.

Pregunta:
Lo que me gustaría poder hacer es trabajar dentro de un repositorio Git. Me gustaría hacer esto y obtener todas las golosinas que esto permitirá con ramificación, etc. Al final de mi día, o en otros momentos necesarios, me gustaría poder tomar cualquier trabajo que esté haciendo y colocarlo en el repositorio maestro que luego colocaría en VSS.

Idealmente, al comienzo del día de trabajo obtendría la última versión de VSS.. confirme esto a Git.. a continuación, trabajar en una rama alternativa, poniendo los cambios de nuevo en el maestro cuando necesitaba para comprometerse a VSS.

Siendo que soy un novato de git relativo, cuál podría ser la mejor manera de lograr este.. junto con los mejores comandos para emitir/forma de configurar esto.

*nota: Source Safe necesita que se compruebe el archivo antes de que se puedan realizar cambios en él, creo. Tal vez hay alguna herramienta / script que pueda utilizar para ayudar a automatizar esto para empujar los cambios de nuevo en VSS ?

Author: Seph, 2009-12-15

3 answers

La configuración que estás considerando debería funcionar bien. Para los comandos de git, simplemente revise los tutoriales.

El flujo de trabajo que he usado (no con VSS, pero el concepto es el mismo) es algo así como:

  • Pago desde main (es decir, VSS)
  • Mantenga una rama" trunk " que esté sincronizada con VSS
    • siempre se mantendrá limpio
  • Se desarrollan en ramas ramificadas de"tronco"
  • Actualización desde VSS:
    • cambiar a"trunk"
    • actualizar con VSS
    • git confirma los cambios
    • rebase las ramas que se ramifican del tronco
  • Para enviar cambios a VSS:
    • envía cambios desde la rama de desarrollo a "trunk"
    • cambiar a"trunk"
    • VSS confirma los cambios
 10
Author: orip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-14 22:29:19

Cualquier persona atascada con VSS puede encontrar el siguiente post útil si tiene que lidiar con ramas:

Http://timwise.blogspot.com/2011/11/multiple-working-folders-for-git-on.html

Básicamente se detalla usando la unión de SysInternals para obtener soporte de enlace simbólico en Windows y luego compartir un repositorio de git entre las carpetas de ramas físicas que VSS le obliga copiando los archivos en el .git folder, y sym-enlazando las carpetas.

Y aquí están los scripts para automatización del uso compartido

 2
Author: Tim Abell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-01 12:17:23

También estoy atrapado en esto, la forma en que lo hago es no tener que otros toquen mi VSS y tener todos los archivos revisados todo el tiempo, esto significa que nadie más puede contribuir, por lo que esto naturalmente no es una solución viable para todos. La solución que sugeriría es que:

  • Chekout de VSS
  • Crea una rama para trabajar en tu característica
  • terminar el trabajo en su característica
  • Cambiar a la rama Principal
  • Actualizar el último VSS
    • Si se realizan cambios, rebase su sucursal
  • Vea qué archivos se cambian usando $ git diff --name-status master..branchName (vea Mostrando qué archivos han cambiado entre dos revisiones para la fuente de esto)
  • Echa un vistazo a los archivos alterados usando VSS
  • Fusiona tu rama en master (preferiblemente borrando tu rama feature)
  • Comprometerse a VSS

Algunos de estos podrían ser capaces de escribir su salida, pero ya que lo más probable es que esté usando M this (ya que está usando VSS) esto no es algo que pueda te ayudaré.

La forma en que funciona VSS Creo que sería mejor minimizar el tiempo pasado con los archivos extraídos de VSS y, por lo tanto, que esta es una mejor manera.

Tenga en cuenta que puede haber algunos problemas para actualizar los archivos, ya que VSS establece automáticamente el indicador readonly en los archivos que no se han extraído. Una solución podría ser necesaria aquí.

 0
Author: Paul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:33:44