J'ai migré avec succès mon référentiel SVN avec des balises dans Git en utilisant git svn-clone
. Toutefois, git svn-clone
ne migre pas svn:externals
. Par conséquent, j'ai décidé de modifier l'arborescence en utilisant git filter-branch
.Comment modifier le dépôt git pour ajouter des sous-modules dans TOUTES les révisions passées?
Pour svn:externals
, j'ai d'abord créé un référentiel Git distinct pour chaque svn: externals, puis j'ai essayé d'utiliser ce qui suit, mais cela n'a pas fonctionné.
$ git filter-branch --tree-filter "git submodule add [email protected]:myAcc/mySubmodule.git mySubmodule" HEAD
Rewrite a013a219e4294d4ee66b323cf1db9c170d90130a (1/4)fatal: working tree '.' already exists.
Clone of '[email protected]:myAcc/mySubmodule.git' into submodule path 'common' failed
tree filter failed: git submodule add [email protected]:myAcc/mySubmodule.git mySubmodule
rm: cannot remove `c:/myRepo/.git-rewrite/revs': Permission denied
rm: cannot remove directory `c:/myRepo/.git-rewrite': Directory not empty
Une idée de comment accomplir ceci? Merci beaucoup d'avance.
Ne pas oublier 'submodules' git ne sont pas exactement un équivalent de' svn: externals ': http://stackoverflow.com/questions/3131912/why-are-git-submodules-incompatible-with-svn-externals/3132221#3132221 – VonC
Merci pour l'avertissement. J'ai négligé le fait que 'git submodule' pointe vers un commit. Pas sûr dans ce cas, c'est une option pour moi. Je veux pointer le sous-module vers HEAD chaque fois que l'on met à jour. – shadangi