Hi all, I've been trying to move from Subversion to Git for a couple days now, and I can't get git svn to get all my data. The progress so far is explained at <http://l0b0.wordpress.com/2009/11/14/n-way-git-synchronization-with-extra-cheese/>. git svn fetch doesn't report any errors, and goes through the entire repository as regular as anything, but at the end about half of the root directories are missing. Even the file modified by the last commit is not there at all. Any ideas why this is? -- Victor Engmark --
Heya, Can you be more specific, what is the layout of your repository and which directories are missing? / -- trunk -- branches -- tags -- thirdparty -- private If your repository looks like that, and 'thirdparty' and 'private' are missing, that's because git svn assumes that you're only interested in trunk, branches and tags by default. -- Cheers, Sverre Rabbelier --
I'm not entirely sure which directories you mean - I've got none of those, neither in the repository nor the working copy. One of the directories missing in the top-level directory of the working copy is "Linux", which contains my .bashrc and tens of other config files. Which is really odd, because here are the last few lines of "git svn fetch --revision 993:1879": r1878 = 3fcec05426b59b0bad43b02cc3c367525d2c0b93 (git-svn) M Linux/etc/cups/printers.conf r1879 = 7ab92e8f4bb1a277621d67ba7373f56a694466c1 (git-svn) After checking this output a bit closer, it turns out only the directories and files that were retrieved by "git svn clone" (the first revision only) remain. Where did the files from the "git svn fetch" go? Do I need to run something after fetch to see them? -- Victor Engmark --
Heya, Your working copy is probably not up to date anymore, try: $ git rebase git-svn -- Cheers, Sverre Rabbelier --
Thank you very much! That did the trick. Now to update svn2git.sh... -- Victor Engmark --
Why not just $ git svn rebase ? --
What is the difference between the two? -- Victor Engmark --
'git svn rebase' magically[*] picks the right remote branch to rebase
against, and also first talks to the network to update said branch.
[*] actually it looks at the first git-svn-id line found in git log
--first-parent.
--
Thomas Rast
trast@{inf,student}.ethz.ch
--
I didn't even know you could also do $ git rebase git-svn Unless git-svn is a ref... --
You can't, but in git-svn's default configuration (without
--stdlayout) the cloned SVN history is called refs/remotes/git-svn.
--
Thomas Rast
trast@{inf,student}.ethz.ch
--
Thanks all; now it all works a lot more smoothly. -- Victor Engmark --
