with tortoise migrar entre diferencias comparacion branches git-svn

git-svn - tortoise - migrate svn to git with branches



¿Cómo comprometer un repo de Git a un servidor de repositorio SVN vacío? (2)

He configurado un svn vacío en un servidor y he estado trabajando localmente haciendo commits en el camino. Ahora deseo enviar mi repo a un servidor svn. Para esto probé:

git-svn checkout http://remote.svn.server.com git-svn dcommit

Git se queja de que:

Use of uninitialized value in concatenation (.) or string at /usr/bin/git-svn line 411. Committing to ... Unable to determine upstream SVN information from HEAD history

Desde que comencé en mi computadora local primero, y el repositorio en línea está vacío, no puedo encontrar ninguna información sobre cómo hacer que esto funcione.


Esto es lo que haría:

git-svn clone http://remote.svn.server.com otherdir

Luego, en otro directorio, extraiga los cambios localmente de su directorio anterior. Entonces deberías tener un repositorio git que esté "conectado" a través de git-svn y deberías poder usar dcommit en él.

Esto también podría ser una lectura útil.


Necesité algo como esto recientemente y el proceso es relativamente sencillo.

Hay un buen tutorial de Brandon Dimcheff, "Comprometerse con una historia lineal de git para subversión" (reemplaza el viejo enlace roto ), en el que se basan estos pasos.

A partir de la versión 1.6.3 de Git estos son los pasos:

$ svnadmin create svn_repository $ svn mkdir -m "Initial setup" file:///full/path/to/svn_repository/trunk $ mkdir gitrepo && cd gitrepo $ git init $ echo ''Hello from Git'' > file.txt $ git add file.txt $ git commit -m "Hello from Git" $ git svn init --trunk=trunk file:///full/path/to/svn_repository/ $ git svn fetch $ git branch -a # Lists remotes/trunk $ git rebase --onto remotes/trunk --root master # => Applying: Hello from Git etc. $ git svn dcommit # => Committing to ... Committed r2 ... etc

Puede hacer una svn checkout de svn checkout de svn_repository ahora y ver su repositorio de Git.