From: Christine Bauers Date: Thu, 26 Jan 2012 08:50:35 GMT Subject: Re: Git svn migration does not work because fatal git checkout updating paths is incompatible with switching branches Message-ID: <4F2113DB.5030401@gmx.de> In-Reply-To: <1327518563.31804.82.camel@centaur.lab.cmartin.tk> Am 25.01.2012 20:09, schrieb Carlos Martín Nieto: > On Wed, 2012-01-25 at 19:04 +0100, Christine Bauers wrote: >> Hi there, >> >> I´m trying to migrate a repository from svn to git which branches and >> tags with the following migration script: >> >> git svn clone --no-metadata --stdlayout --A ../users.txt >> svn://host/svn/project/subproject subproject >> >> cd subproject >> git config svn.authorsfile ../../users.txt >> git svn fetch >> >> git checkout -b branch1 remotes/branch1 >> git checkout -b branch2 remotes/branch2 >> git checkout -b branch3 remotes/branch3 >> >> git checkout -b src_v1 remotes/tags/src >> git checkout master >> git tag src src_v1 >> git branch -D src_v1 >> >> git checkout -b WebContent_v1 remotes/tags/WebContent >> git checkout master >> git tag WebContent WebContent_v1 >> git branch -D WebContent_v1 >> >> and get the follwoing errors: >> >> W: Ignoring error from SVN, path probably does not exist: (160013): >> Filesystem has no item: Datei nicht gefunden: Revision 8966, Pfad >> »subproject« >> W: Do not be alarmed at the above message git-svn is just searching >> aggressively for old history. >> This may take a while on large repositories >> fatal: git checkout: updating paths is incompatible with switching branches. >> Did you intend to checkout 'remotes/branch1' which can not be resolved >> as commit? >> fatal: git checkout: updating paths is incompatible with switching branches. >> Did you intend to checkout 'remotes/branch2 which can not be resolved as >> commit? >> fatal: git checkout: updating paths is incompatible with switching branches. >> Did you intend to checkout 'remotes/branch3' which can not be resolved >> as commit? >> fatal: git checkout: updating paths is incompatible with switching branches. >> Did you intend to checkout 'remotes/tags/src' which can not be resolved >> as commit? >> error: pathspec 'master' did not match any file(s) known to git. >> fatal: Failed to resolve 'src_v1' as a valid ref. >> error: branch 'src_v1' not found. >> fatal: git checkout: updating paths is incompatible with switching branches. >> Did you intend to checkout 'remotes/tags/WebContent' which can not be >> resolved as commit? >> error: pathspec 'master' did not match any file(s) known to git. >> fatal: Failed to resolve 'WebContent_v1' as a valid ref. >> error: branch 'WebContent_v1' not found. >> >> How do I solve this problem? > First try to figure out where the problem happens. It could be that > git-svn isn't recognising the branches properly, or that the layout > isn't what it expects or any number of things. > > What layout does the repo have? Does it correspond to what git-svn is > expecting? All those error messages come from the fact that you're > telling git some starting points that it can't find. Make sure those > exist and they have the name you're giving. What does `git branch -a` > say? You're presumably not giving us the real names, so we can't tell if > there are problems there. > > If you're looking to migrate completely, something like > svn-dump-fast-export ( https://github.com/barrbrain/svn-dump-fast-export > ) might get you there better. > > cmn Thanks for your answer. I would say the problem happens while cloning the project, because git branch -a and git branch -r says nothing. The question is why aren´t there any branches? Here is the structure of the project: marketplace braches lyth_dev meinbestand_suche umkreis_suche tags src WebContent trunk src WebContent trunk_112233 src WebContent And here again the script: git svn clone --no-metadata --stdlayout --A ../users.txt svn://host/svn/projects/marketplace marketplace cd marketplace git config svn.authorsfile ../../users.txt git svn fetch #Checkout Branches git checkout -b lyth_dev remotes/lyth_dev git checkout -b meinbestand_suche remotes/meinbestand_suche git checkout -b umkreis_suche remotes/umkreis_suche #Checkout der tags git checkout -b src_v1 remotes/tags/src git checkout master git tag src src_v1 git branch -D src_v1 git checkout -b WebContent_v1 remotes/tags/WebContent git checkout master git tag WebContent WebContent_v1 git branch -D WebContent_v1 Is there something wrong with this script? Or does the errors maybe occurs because there is a trunk_112233. The log file says the following: Initialized empty Git repository in c:/project/marketplace/.git/ Checked through r8445 Checked through r8545 Checked through r8645 Checked through r8745 Checked through r8845 Checked through r8945 Checked through r8968 Checked through r8968 And that´s all. It says nothing about references. Do you have any ideas? Thanks