¿Hay alguna manera de utilizar algún mecanismo de clonación / recuperación de git para mantener el repository de mi clon actualizado, incluidas todas las references / controles remotos / desde el control remoto ?
Esto no tiene nada que ver con git fetch --all
, git pull --all
o git svn
. Solo se trata de copyr los controles remotos de un control remoto a un clon.
Un command como este sería genial:
git clone --include-remote-remotes git@linuxmachine:TheGitSvnClone
Y luego periódicamente
git fetch --update-remote-remotes origin
Algunos detalles:
El control remoto tiene su propio control remoto llamado svn que contiene algunas twigs:
Como resultado del clon, esperaría un repository de git normal que incluyera una copy de trabajo (files retirados) y las siguientes references:
No puedo usar git clone --mirror
porque eso crea un repository git clone --mirror
.
¿Por qué tan complicado?
Nuestra compañía está actualmente usando svn. Mientras tanto, estoy preparando la migration de svn a git.
Lamentablemente, git svn fetch
tarda para siempre en mi máquina de Windows, así que estoy usando una máquina de Linux que hace el git svn fetch
periódicamente y luego copio el git repo resultante usando FileZilla.
Después de clonar el repository normalmente, indique a Git que busque los refs remotos:
git config --add remote.origin.fetch '+refs/remotes/svn/*:refs/remotes/svn/*'
Las siguientes llamadas de git fetch
downloadán los svn
refs.