Re: git svn fetch loses data

Previous thread: 1,000,000.00 Pounds by webdesk on Saturday, November 14, 2009 - 3:43 am. (1 message)

Next thread: [PATCH] Doc: mention the crlf attribute in config autocrlf section by Matthew Ogilvie on Saturday, November 14, 2009 - 11:35 am. (5 messages)
From: Victor Engmark
Date: Saturday, November 14, 2009 - 10:07 am

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
--

From: Sverre Rabbelier
Date: Saturday, November 14, 2009 - 10:25 am

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
--

From: Victor Engmark
Date: Saturday, November 14, 2009 - 12:29 pm

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
--

From: Sverre Rabbelier
Date: Saturday, November 14, 2009 - 12:38 pm

Heya,


Your working copy is probably not up to date anymore, try:

$ git rebase git-svn

-- 
Cheers,

Sverre Rabbelier
--

From: Victor Engmark
Date: Saturday, November 14, 2009 - 1:35 pm

Thank you very much! That did the trick. Now to update svn2git.sh...

-- 
Victor Engmark
--

From: Johan 't Hart
Date: Saturday, November 14, 2009 - 4:35 pm

Why not just
$ git svn rebase
?
--

From: Victor Engmark
Date: Sunday, November 15, 2009 - 2:56 am

What is the difference between the two?

-- 
Victor Engmark
--

From: Thomas Rast
Date: Sunday, November 15, 2009 - 6:33 am

'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
--

From: Johan 't Hart
Date: Sunday, November 15, 2009 - 12:52 pm

I didn't even know you could also do
$ git rebase git-svn
Unless git-svn is a ref...

--

From: Thomas Rast
Date: Sunday, November 15, 2009 - 1:52 pm

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
--

From: Victor Engmark
Date: Friday, December 11, 2009 - 1:32 am

Thanks all; now it all works a lot more smoothly.

-- 
Victor Engmark
--

Previous thread: 1,000,000.00 Pounds by webdesk on Saturday, November 14, 2009 - 3:43 am. (1 message)

Next thread: [PATCH] Doc: mention the crlf attribute in config autocrlf section by Matthew Ogilvie on Saturday, November 14, 2009 - 11:35 am. (5 messages)