¿Cuál sería la mejor manera de configurar un espejo git de solo lectura de un repositorio svn existente, y configurar ganchos post-commit de modo que cada vez que alguien se comprometa a svn, el git espejo se actualiza automáticamente? Principalmente, me gustaría ejecutar git-svn clone solo una vez, en el servidor, y luego dejar que la gente simplemente revise desde git sin tener que git-svn clonar todo el repositorio de svn.espejo git de solo lectura de un repositorio svn
Respuesta
Lo hago en un proyecto que usa SVN (empujando a un repositorio público en github). No tengo un SVN gancho, pero esto en una tarea programada:
#!/bin/bash
repo=/path/to/my-mirror.git
lockfile="$repo/cron-lock"
if ! lockfile -r1 "$lockfile";then
exit 1
fi
export GIT_DIR=$repo
# update refs/remotes/git-svn:
git svn fetch -q
# make 'master' match the git-svn branch:
git fetch "$repo" refs/remotes/git-svn:refs/heads/master
# publish to github
git push github master
rm -f "$lockfile"
Si lanza esto de un SVN gancho en lugar de una tarea programada, que debería funcionar.
Por supuesto, es necesario establecer una llamada remota utilizando github
git remote add github [...]
. El repositorio de git que estoy usando es un repositorio "simple" (ver git init --bare
).
La mejor manera de configurar un espejo Svn/Git (de escritura) sería usar SubGit - esta es una herramienta específicamente desarrollada para esta tarea. Descargo de responsabilidad: soy el desarrollador de esta herramienta.
hermoso, gracias –
Además, SubGit 2.0 ya no necesita acceso local al repositorio de Subversion y podría construir un espejo Git escribible de un repositorio de Subversion remoto también (ver http: // subgit.com/eap). –
@AlexanderKitaev Tenga en cuenta que debe divulgar su afiliación cuando se vincula a un producto u otro sitio web. Veo en [esta publicación] (http://stackoverflow.com/a/13288270/2057919) que ha desarrollado SubGit. He editado esta respuesta para reflejar eso. En el futuro, asegúrese de mencionar su conexión si realiza un enlace a SubGit. –
- 1. Actualización de un espejo git de un repositorio SVN
- 2. Espejo git svn a
- 3. ¿Cómo hacer un repositorio de git de solo lectura?
- 4. Dar acceso de solo lectura a un repositorio git
- 5. ¿Espejo un repositorio de Mercurial en Subversion?
- 6. Publicar un repositorio "git svn"
- 7. Configuración de Gerrit con un espejo Git de un repositorio de Subversion
- 8. ¿El comando más simple para tomar una copia de solo lectura de un repositorio de git?
- 9. espejo de Git con gerrit
- 10. svn-checkout desde un repositorio de GIT
- 11. espejo local Git
- 12. Clonación de un repositorio Svn no estándar con Git-Svn
- 13. git-svn después de mover un repositorio SVN?
- 14. Cómo reiniciar un repositorio git-svn
- 15. SVN: ¿Cómo hacer un archivo de solo lectura con subversión?
- 16. ¿Cuántos proyectos svn en un repositorio git?
- 17. Configuración de un usuario de solo lectura para SVN-Apache
- 18. Al clonar un repositorio svn en git, ¿debería clonar solo trunk o todo el repositorio?
- 19. ¿Puedo marcar un control remoto GIT como de solo lectura?
- 20. aplicar svn parche al repositorio de git
- 21. Usuario único de solo lectura para svn
- 22. ¿Hay una manera de "git svn dcommit" de un git-svn repositorio clonado:
- 23. Creación de un repositorio de solo lectura con SpringData
- 24. Error rebaseing/actualización de un repositorio de git-svn
- 25. Leyendo un repositorio de Git, sin Git
- 26. Use git-svn con un repositorio existente que carece de .git/svn/
- 27. RW Accede al repositorio de git usando svn (git-svnserver)?
- 28. ¿Cómo puedo proporcionar un espejo bidireccional de un repositorio Git con otro SCM? (bzr, hg, etc.)
- 29. Obtiene un solo archivo de un repositorio remoto de git
- 30. Github: acceso de solo lectura a un repositorio privado
gracias, utilizar github parece ser el camino a seguir –