2010-03-17 229 views
8

Nuestra compañía tiene una gran base de código en VB6, y actualmente usamos VSS que, por lo que odiamos al respecto, al menos se integra en el VB6 IDE.Usando Git con VB6

Mi propio equipo, que usa .NET, ahora está buscando SCM alternativas como mi favorito personal, Git. Con Git Extensions, parece que podremos integrar bastante bien los comandos de Git en el Visual Studio IDE.

Sin embargo, se ha formulado la pregunta: ¿se podría usar Git también para nuestra base de código VB6?

Por supuesto, supongo que los archivos en sí funcionarían bien en los repositorios de git, pero sin duda los desarrolladores se quejarían si tuvieran que usar la línea de comandos para hacer todo su control de fuente. Pero, ¿alguien ha tenido alguna experiencia con VB6 y Git? ¿Alguna integración disponible desde el IDE de VB6? ¿O acaso no es una molestia no tener la integración IDE?

Y puedo obtener una tarjeta de identificación por ser los primeros en crear la combinación de etiquetas absurdo de [VB6] y [git]?

+0

personalmente no tienden a como la integración IDE que no sea para comunicar el estado (luces verdes, etc), nunca he una Como sustituto prefiero personalmente dentro de un IDE, todos tienden a ser programas de terceros, shell integrado o mi favorito personal, la línea de comandos. Y sí, definitivamente debería obtener una insignia para crear una etiqueta vb6 y git :) –

+7

vb6 y git en la misma oración? sí, definitivamente merece una insignia – hasen

Respuesta

3

¿Qué tiene de diferente VB6 como base de código (es decir, archivos de texto) que lo hace no apto para git?

La cultura es otra cosa: si tienes muchos desarrolladores incompetentes que no pueden manejar la línea de comandos, la cura probablemente incluya huir de VB6 tanto como puedas.

El único problema potencial es que windows en el mundo git es algo así como un ciudadano de segunda clase. Quizás quieras probar bazar o mercurial si crees que git no funciona muy bien en tu entorno.

+0

si usa msysgit en Windows, entonces no debería tener un problema con ser un ciudadano de segunda clase. Lo uso para conectarme a TFS (a través de SVNBridge y luego git-svn) y no tengo ningún problema con él (excepto la velocidad de SVNBridge). Históricamente, esto puede ser cierto, pero no tanto ahora. –

+3

Algunos archivos de código VB6 son binarios (por ejemplo, archivos '.frx'). – MarkJ

+0

Entonces VB6 solo * tiene * que ser un SOB. – hasen

4

Conoces mejor a tus desarrolladores. ¿Les importaría usar la línea de comando? ¿Están interesados ​​en la integración de IDE? Estas son preferencias personales.

Asegúrese de que los desarrolladores más respetados comprendan los beneficios de git y estén detrás de la decisión.

Tenga en cuenta que algunos archivos fuente VB6 son binarios y shouldn't ever be merged: p. .frx archivos. No lo sé, así que no sé si eso es un problema.

6

He estado usando Git para administrar proyectos de VB6 desde hace aproximadamente un año. Nunca encontré ninguna integración IDE. Personalmente, me gusta la línea de comando, así que no he estado buscando mucho. Los dos principales problemas que he encontrado son:

  1. IDE de VB6 no supervisa los archivos de proyecto, si se cambia cualquiera de ellos externamente (por ejemplo, usando 'git reset', 'git checkout') entonces las necesidades del proyecto para ser reabierto para reflejar los cambios.
  2. VB6 IDE a veces cambia el caso de parámetros de evento o variables al cargar un proyecto, por lo que nunca es seguro usar 'git commit --all' a menos que desee mucha basura con los cambios de código.
3

Estamos haciendo esto. Hemos añadido el siguiente a .gitignore

  • * .csi
  • * .exp
  • * .lib
  • *.LVW
  • * .vbw
  • MiProyecto .dll
2

Tienes que crear el archivo .gitattributes utilizar los finales de línea (CRLF) ventanas porque git nació en UNIX.

# Declare files that will always have CRLF line endings on checkout. 
*.vbp text eol=crlf 
*.frm text eol=crlf 
*.cls text eol=crlf 
*.bas text eol=crlf 
*.dsr text eol=crlf 
*.ini text eol=crlf 

# Denote all files that are truly binary and should not be modified. 
*.frx binary 
*.exe binary 
*.dll binary 
*.ocx binary 

Crear también .gtiignore archivo con las siguientes líneas:

## Ignore Visual Studio temporary files, build results, and 
## files generated by popular Visual Studio add-ons. 

# User-specific files 
*.vbw 
*.tmp 
*.scc 
*.dca 
+0

¿qué tipo de archivos temporales son * .dca? – Zoba

+1

Los archivos ".dca" son archivos temporales de Data Dynamics Active Reports. – mkrohn

7

me encontré con esta solución para trabajar en nuestra situación. Agrega un poco más a las respuestas anteriores y resolvió todos nuestros MUCHOS problemas para que nuestro proyecto funcione con git.

.gitattributes

# Set the default behavior, in case people don't have core.autocrlf set. 
* text eol=auto 
*.bas text eol=crlf 
*.frm text eol=crlf 
*.log text eol=crlf 
*.vbp text eol=crlf 
*.cls text eol=crlf 
*.vbw text eol=crlf 
*.dsr text eol=crlf 
*.ini text eol=crlf 
*.res binary 
*.RES binary 
*.frx binary 
*.exe binary 
*.dll binary 
*.ico binary 
*.gif binary 
*.ocx binary 
*.tlb binary 
*.ocx.bin binary 
*.ism binary 
*.bin binary 
*.aps binary 
*.ncb binary 
*.exe.compat binary 
*.ocx.compat binary 

.gitignore

.DS_Store 
.Trashes 
*.vbw 
*.csi 
*.exp 
*.lib 
*.lvw 
*.dca 
*.scc 
*.tmp 
<name of built binary, exe, dll or ocx>