Your message dated Tue, 25 Mar 2008 20:03:44 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Re: Bug#426407: git-svn: --follow-parent does not follow moves
of parent directories
has caused the Debian Bug report #426407,
regarding git-svn: --follow-parent does not follow moves of parent directories
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
426407: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=426407
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: git-svn
Version: 1:1.4.4.4-2
Severity: normal
git-svn fetch --follow-parent does not work correctly for cases where a
parent of the directory you're tracking is moved.
eg:
SVN server has these files in r1:
/a/b/c/1.txt
/a/b/c/2.txt
/a/b/c/3.txt
And in r2 /a/b/ was moved to /x:
A /x
D /a/b
and in r3 some changed text files:
M /x/c/1.txt
M /x/c/2.txt
But if you do this on your dev box:
git-svn init svn://SERVER/myproject/x/c
git-svn fetch --follow-parent
Then git-svn will not pickup that /x/c was moved from /a/b/c, and you
only get r3 in your git repo.
ie, your git-svn history looks like this:
r3: (Commit comment for r3)
A 1.txt
A 2.txt
A 3.txt
Instead of:
r1: (Commit comment for r1)
A 1.txt
A 2.txt
A 3.txt
r2: (Commit comment for r2) <- No files were changed here
r3: (Commit comment for r3)
M 1.txt
M 2.txt
My work-around to get complete history:
git-svn init svn://SERVER/myproject/a/b/c
git-svn fetch -r1
git-svn init svn://SERVER/myproject/x/c
git-svn fetch -r2:HEAD
echo "<Last commit ID in output above>" > ./.git/refs/heads/master
Explanation: The second 'fetch' fetches the listed revisions & connects commit
r1 to r2, but it doesn't update your master 'head commit' file.
I tried the instructions under "Advanced Example: Tracking a Reorganized
Repository", but they didn't
work for me.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.18-4-686 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages git-svn depends on:
ii git-core 1:1.4.4.4-2 content addressable filesystem
ii libsvn-perl [libsvn-core-pe 1.4.2dfsg1-2 Perl bindings for Subversion
ii libwww-perl 5.805-1 WWW client/server library for Perl
Versions of packages git-svn recommends:
ii git-doc 1:1.4.4.4-2 content addressable filesystem (do
-- no debconf information
--- End Message ---
--- Begin Message ---
On Mon, Mar 03, 2008 at 01:46:01PM +0200, David Purdy wrote:
> Here are some steps you can follow to reproduce my problem:
Hi David, thanks for the good instructions on how to reproduce. I can
see that git-svn only imports the last two revisions, but when I try
with svn itself, it does just the same. I think this might be because
you first commit into svn-repo/ then move to svn-repo/trunk, and then
clone svn-repo/trunk/ and not svn-repo/.
> # Create SVN history
>
> mkdir /tmp/test
> svnadmin create /tmp/test/svn_repo
> mkdir /tmp/test/svn_checkout
> cd /tmp/test/svn_checkout
> svn co file:///tmp/test/svn_repo
> cd svn_repo
> touch 1 2 3
> svn add 1 2 3
> svn ci -m "New files"
> ls > 1; ls > 2; ls > 3
> svn ci -m 'Some random update'
> mkdir trunk
> svn add trunk
> svn mv 1 trunk/
> svn mv 2 trunk/
> svn mv 3 trunk/
> svn ci -m 'Moved files to trunk'
> cd trunk/
> ls -l > 1; ls -l > 2; ls -l > 3
> svn ci -m 'Another random update'
>
> # Create git-svn checkout
>
> mkdir /tmp/test/svn-git_repo
> cd /tmp/test/svn-git_repo
> git-svn init file:///tmp/test/svn_repo/trunk
> git-svn fetch
Regards, Gerrit.
--- End Message ---