Thread (6 messages) flat view 6 messages, 2 authors, 2016-06-15

RE: git-svn 1.5.3 does not understand grafts?

From: Joakim Tjernlund <hidden>
Date: 2016-06-15 22:43:34

 
-----Original Message-----
From: Eric Wong [mailto:normalperson@yhbt.net] 
Sent: den 8 september 2007 07:02
To: Joakim Tjernlund
Cc: git
Subject: Re: git-svn 1.5.3 does not understand grafts?

Joakim Tjernlund [off-list ref] wrote:
quoted
On Fri, 2007-09-07 at 18:52 +0200, Joakim Tjernlund wrote:
quoted
On Fri, 2007-09-07 at 18:41 +0200, Joakim Tjernlund wrote:
quoted
svnadmin create /usr/local/src/TM/svn-tst/7720-svn/
svn mkdir  
file:///usr/local/src/TM/svn-tst/7720-svn/trunk -m "Add trunk dir"
quoted
quoted
quoted
svn mkdir  
file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp -m "Add swp dir"
quoted
quoted
quoted
In my git repo I do
git-svn init  
file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp 
quoted
quoted
quoted
git-svn fetch
git branch svn remotes/git-svn
#make remotes/git-svn parent to the initial commit in 
my git tree
quoted
quoted
quoted
graftid=`git-show-ref -s svn`
echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid 
.git/info/grafts
quoted
quoted
#da783... is the initial commit in my git tree.
git-svn dcommit

fails with:
Committing to 
file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp ...
quoted
quoted
quoted
Commit da783cce390ce013b19f1d308ea6813269c6a6b5
has no parent commit, and therefore nothing to diff against.
You should be working from a repository originally 
created by git-svn
quoted
quoted
Using filter-branch helps, but git-svn isn't too happy:

git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp 
git-svn fetch
git branch svn remotes/git-svn
#make remotes/git-svn parent to the initial commit in my git tree
graftid=`git-show-ref -s svn`
echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > 
.git/info/grafts
quoted
quoted
#da783... is the initial commit in my git tree.
git filter-branch $graftid..HEAD
git-svn dcommit

Now I get alot of complaints, but it commits to svn.
It takes forever though:
r3 = 55a489bd4f66dd1f641a4676359d7b8911dc7d83 (git-svn)
W: HEAD and refs/remotes/git-svn differ, using rebase:
:100644 100644 f85ae11af7715a224015582724cb2bab87ec914a
I haven't used filter-branch myself, but you probably need to 
remove all
.rev_db* files in $GIT_DIR after running it (git-svn can recreate them
unless you use the svmRevProps or noMetadata options.
quoted
[SNIP]

Just wanted to add that 1.5.2.2 works with grafts and 
that I suspect sub read_commit_parents in git-svn, but as I don't
do perl I am stuck.
Crap, it looks like I completely forgot about the existence
of grafts while doing this function.
hmm, I think git-cat-file is to blame.
git-cat-file commit da783cce390ce013b19f1d308ea6813269c6a6b5 does
not list list any parent even though I did
graftid=`git-show-ref -s remotes/git-svn`
echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts

 Jocke
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help