threads / discuss / 11817

git-svn segmetation fault

Subject: git-svn segmetation fault

## tl;dr

12 messages between Feb 1, 2008 and Feb 3, 2008.

replies: 11people: 3as markdown or json

Wink Saville· Feb 1, 2008, 22:32 UTC · lore

I was doing an git-svn dcommit and got a seg fault. The first phase of updating svn completed and then it seg faulted on the second. So I suspect I'm out of sync and need to recover, any guidance appreciated.

If it's any help the svn repo is at http://async-msgcomp.googlecode.com/svn. If someone needs it I happen to have a backup of the git repo before doing the commit and then after the seg fault.

If there is any other information that someone needs I can try to supply it.

Cheers,
Wink Saville
<info>

<Apparently there is no core dump file as ulimit -c is 0: /> wink@ic2d1:$ ulimit -c 0

<here is the linux version: /> wink@ic2d1:$ uname -a Linux ic2d1 2.6.22-14-generic #1 SMP Tue Dec 18 05:28:27 UTC 2007 x86_64 GNU/Linux

<here is the git version: /> wink@ic2d1:$ git --version git version 1.5.3.8

<Here is the data from /var/log/kern.log: /> Feb 1 13:51:31 ic2d1 kernel: [17438.627780] git-svn[21111]: segfault at 0000000000000010 rip 00002acfb82ac1ff rsp 00007ffff937d0d0 error 6

<Here is the command and data output: />
wink@ic2d1:$ git-svn dcommit
Committing to https://async-msgcomp.googlecode.com/svn/trunk ...
        C       android/mc/src/com/saville/android/mc/ActiveMc.java => 
android/hmc/src/com/saville/hmc/ActiveHmc.java
        C       java/msgcomp/src/com/saville/msgcomp/IMc.java => 
android/hmc/src/com/saville/hmc/Hmc.java
        C       android/mc/src/com/saville/android/mc/ActiveMc.java => 
android/mc/src/com/saville/mc/ActiveMc.java
        C       java/msgcomp/src/com/saville/msgcomp/IMc.java => 
android/mc/src/com/saville/mc/MsgPump.java
        C       java/msgcomp/src/com/saville/msgcomp/IMc.java => 
java/hmc/src/com/saville/hmc/Hmc.java
        C       android/hmc/src/com/saville/android/testhmc/TestHmc.java 
=> java/hmc/src/com/saville/testhmc/Test.java
        C       java/msgcomp/src/com/saville/msgcomp/IMc.java => 
java/msgcomp/src/com/saville/msgcomp/IHmc.java
        C       java/mc/src/com/saville/mc/Mc.java => java/src/McBase.java
        C       java/mc/src/com/saville/mc/McMgr.java => java/src/McMgr.java
        R       java/TestClient1/AGPLv3.LICENSE => AGPLv3.LICENSE
        R       android/TestNet1/COPYING => COPYING
        R       android/TestNet1/COPYING.LESSER => COPYING.LESSER
        R       android/mc/src/com/saville/android/mc/McActivity.java => 
android/mc/src/com/saville/mc/McActivity.java
        R       android/mc/src/com/saville/android/mc/McService.java => 
android/mc/src/com/saville/mc/McService.java
        R       android/mc/src/com/saville/android/mc/ActiveMc.java => 
java/hmc/src/com/saville/hmc/ActiveHmc.java
        R       
android/hmc/src/com/saville/android/testhmc/TestDeferredMsgs.java => 
java/hmc/src/com/saville/testhmc/TestDeferredMsgs.java
        R       
android/hmc/src/com/saville/android/testhmc/TestHmcClient.java => 
java/hmc/src/com/saville/testhmc/TestHmcClient.java
        R       
android/hmc/src/com/saville/android/testhmc/TestHmcServer.java => 
java/hmc/src/com/saville/testhmc/TestHmcServer.java
        R       
android/hmc/src/com/saville/android/testhmc/TestUnhandledMsgs.java => 
java/hmc/src/com/saville/testhmc/TestUnhandledMsgs.java
        R       java/mc/src/com/saville/mc/Looper.java => 
java/mc/src/com/saville/mc/MsgPump.java
        R       android/hmc/src/com/saville/android/hmc/IState.java => 
java/msgcomp/src/com/saville/msgcomp/IState.java
        R       android/hmc/src/com/saville/android/hmc/State.java => 
java/msgcomp/src/com/saville/msgcomp/State.java
        R       android/hmc/src/com/saville/android/hmc/Hmc.java => 
java/src/HmcBase.java
        D       android/debug/COPYING
        D       android/debug/COPYING.LESSER
        D       android/hmc/COPYING
        D       android/hmc/COPYING.LESSER
        D       android/mc/COPYING
        D       android/mc/COPYING.LESSER
        D       android/mc/src/com/saville/android/mc/Mc.java
        D       android/mc/src/com/saville/android/mc/McMgr.java
        D       android/mctest/COPYING
        D       android/mctest/COPYING.LESSER
        D       android/serdes/COPYING
        D       android/serdes/COPYING.LESSER
        D       java/TestMsgPipe1/AGPLv3.LICENSE
        D       java/TestMsgPipe2/AGPLv3.LICENSE
        D       java/TestServer1/AGPLv3.LICENSE
        D       java/debug/COPYING
        D       java/debug/COPYING.LESSER
        D       java/mcmaster/AGPLv3.LICENSE
        D       java/msgcomp/COPYING
        D       java/msgcomp/COPYING.LESSER
        D       java/serdes/COPYING
        D       java/serdes/COPYING.LESSER
        M       android/TestNet1/.classpath
        M       
android/TestNet1/src/com/saville/android/testnet1/TestNet1.java
        M       android/hmc/.classpath
        M       android/hmc/src/com/saville/android/testhmc/TestHmc.java
        A       android/hmc/src/com/saville/hmc/HmcBase.java
        A       android/hmc/src/com/saville/testhmc
        M       android/mc/AndroidManifest.xml
        M       android/mc/src/com/saville/android/testmc/TestMc.java
        M       android/mc/src/com/saville/android/testmc/TestMcService.java
        A       android/mc/src/com/saville/mc/Mc.java
        A       android/mc/src/com/saville/mc/McBase.java
        A       android/mc/src/com/saville/mc/McMgr.java
        M       android/mctest/.classpath
        M       android/mctest/src/com/saville/android/mctest/McTest.java
        M       
android/mctest/src/com/saville/android/mctest/McTestClient.java
        A       java/hmc/.classpath
        A       java/hmc/.project
        A       java/hmc/src/TestHmc.java
        A       java/hmc/src/com/saville/hmc/HmcBase.java
        A       java/hmcbase/.classpath
        A       java/hmcbase/.project
        M       java/mc/src/TestMc.java
        M       java/mc/src/com/saville/mc/ActiveMc.java
        M       java/mc/src/com/saville/mc/Mc.java
        A       java/mc/src/com/saville/mc/McBase.java
        T       java/mc/src/com/saville/mc/McMgr.java
        M       java/mc/src/com/saville/mc/TcpMsgPipe.java
        A       java/msgcomp/src/com/saville/msgcomp/IActiveMc.java
        M       java/msgcomp/src/com/saville/msgcomp/IMc.java
        A       java/msgcomp/src/com/saville/msgcomp/IMcMgr.java
        M       java/msgcomp/src/com/saville/msgcomp/McId.java
Committed r52
        D       android/mc/COPYING.LESSER
        D       android/mc/COPYING
        M       android/mc/AndroidManifest.xml
        A       android/mc/src/com/saville/mc/Mc.java
        A       android/mc/src/com/saville/mc/McService.java
        A       android/mc/src/com/saville/mc/McMgr.java
        A       android/mc/src/com/saville/mc/MsgPump.java
        A       android/mc/src/com/saville/mc/McBase.java
        A       android/mc/src/com/saville/mc/ActiveMc.java
        A       android/mc/src/com/saville/mc/McActivity.java
        D       android/mc/src/com/saville/android/mc/Mc.java
        D       android/mc/src/com/saville/android/mc/McService.java
        D       android/mc/src/com/saville/android/mc/McMgr.java
        D       android/mc/src/com/saville/android/mc/ActiveMc.java
        D       android/mc/src/com/saville/android/mc/McActivity.java
        M       android/mc/src/com/saville/android/testmc/TestMc.java
        M       android/mc/src/com/saville/android/testmc/TestMcService.java
        D       android/mctest/COPYING.LESSER
        D       android/mctest/COPYING
        M       android/mctest/.classpath
        M       android/mctest/src/com/saville/android/mctest/McTest.java
        M       
android/mctest/src/com/saville/android/mctest/McTestClient.java
        D       android/serdes/COPYING.LESSER
        D       android/serdes/COPYING
        D       android/debug/COPYING.LESSER
        D       android/debug/COPYING
        D       android/hmc/COPYING.LESSER
        D       android/hmc/COPYING
        M       android/hmc/.classpath
        D       android/hmc/src/com/saville/android/hmc/State.java
        D       android/hmc/src/com/saville/android/hmc/Hmc.java
        D       android/hmc/src/com/saville/android/hmc/IState.java
        D       
android/hmc/src/com/saville/android/testhmc/TestHmcClient.java
        D       
android/hmc/src/com/saville/android/testhmc/TestDeferredMsgs.java
        D       
android/hmc/src/com/saville/android/testhmc/TestUnhandledMsgs.java
        D       
android/hmc/src/com/saville/android/testhmc/TestHmcServer.java
        M       android/hmc/src/com/saville/android/testhmc/TestHmc.java
        A       android/hmc/src/com/saville/hmc/HmcBase.java
        A       android/hmc/src/com/saville/hmc/ActiveHmc.java
        A       android/hmc/src/com/saville/hmc/Hmc.java
        A       android/hmc/src/com/saville/testhmc
        D       android/TestNet1/COPYING.LESSER
        D       android/TestNet1/COPYING
        M       android/TestNet1/.classpath
        M       
android/TestNet1/src/com/saville/android/testnet1/TestNet1.java
        M       java/mc/src/TestMc.java
        D       java/mc/src/com/saville/mc/Looper.java
        M       java/mc/src/com/saville/mc/Mc.java
        M       java/mc/src/com/saville/mc/McMgr.java
        A       java/mc/src/com/saville/mc/MsgPump.java
        A       java/mc/src/com/saville/mc/McBase.java
        M       java/mc/src/com/saville/mc/ActiveMc.java
        M       java/mc/src/com/saville/mc/TcpMsgPipe.java
        D       java/TestClient1/AGPLv3.LICENSE
        A       java/hmcbase/.classpath
        A       java/hmcbase/.project
        D       java/serdes/COPYING.LESSER
        D       java/serdes/COPYING
        D       java/msgcomp/COPYING.LESSER
        D       java/msgcomp/COPYING
        A       java/msgcomp/src/com/saville/msgcomp/IHmc.java
        A       java/msgcomp/src/com/saville/msgcomp/State.java
        A       java/msgcomp/src/com/saville/msgcomp/IActiveMc.java
        M       java/msgcomp/src/com/saville/msgcomp/IMc.java
        A       java/msgcomp/src/com/saville/msgcomp/IState.java
        M       java/msgcomp/src/com/saville/msgcomp/McId.java
        A       java/msgcomp/src/com/saville/msgcomp/IMcMgr.java
        D       java/TestMsgPipe1/AGPLv3.LICENSE
        D       java/debug/COPYING.LESSER
        D       java/debug/COPYING
        D       java/TestMsgPipe2/AGPLv3.LICENSE
        D       java/TestServer1/AGPLv3.LICENSE
        A       java/hmc/.classpath
        A       java/hmc/.project
        A       java/hmc/src/TestHmc.java
        A       java/hmc/src/com/saville/hmc/HmcBase.java
        A       java/hmc/src/com/saville/hmc/ActiveHmc.java
        A       java/hmc/src/com/saville/hmc/Hmc.java
        A       java/hmc/src/com/saville/testhmc/Test.java
        A       java/hmc/src/com/saville/testhmc/TestHmcClient.java
        A       java/hmc/src/com/saville/testhmc/TestDeferredMsgs.java
        A       java/hmc/src/com/saville/testhmc/TestUnhandledMsgs.java
        A       java/hmc/src/com/saville/testhmc/TestHmcServer.java
        A       java/src/HmcBase.java
        A       java/src/McMgr.java
        A       java/src/McBase.java
        D       java/mcmaster/AGPLv3.LICENSE
        A       COPYING.LESSER
        A       COPYING
        A       AGPLv3.LICENSE
Segmentation fault (core dumped)
Wink Saville· Feb 2, 2008, 00:50 UTC · re: Wink Saville · lore

Re: git-svn segmetation fault

Wink Saville wrote:
Show 16 quoted lines
> I was doing an git-svn dcommit and got a seg fault. The first
> phase of updating svn completed and then it seg faulted on the
> second. So I suspect I'm out of sync and need to recover,
> any guidance appreciated.
>
> If it's any help the svn repo is at 
> http://async-msgcomp.googlecode.com/svn.
> If someone needs it I happen to have a backup of the git repo before
> doing the commit and then after the seg fault.
>
> If there is any other information that someone needs I can try
> to supply it.
>
> Cheers,
>
> Wink Saville
<snip/>

<As an update, I first tried to re-execute the dcommit, but that didn't work: />

wink@ic2d1:$ git-svn dcommit Committing to https://async-msgcomp.googlecode.com/svn/trunk ... Merge conflict during commit: Your file or directory 'android/hmc/src/com/saville' is probably out-of-date: The version resource does not correspond to the resource within the transaction. Either the requested version resource is out of date (needs to be updated), or the requested version resource is newer than the transaction root (restart the commit). at /usr/bin/git-svn line 420

<I than did a rebase that got me back in sync: />
wink@ic2d1:$ git-svn rebase
Index mismatch: 94bbfa6d433192de71060d1274f0b0eab8f49a30 != 
2fcd3a5cc5a9ca062a41d0ff5ac30073f4fa23b0
rereading 8ce31b64294bdb063c64c50b9358533ac8746af4
        D       android/mc/COPYING.LESSER
        D       android/mc/COPYING
        M       android/mc/AndroidManifest.xml
        A       android/mc/src/com/saville/mc/Mc.java
        A       android/mc/src/com/saville/mc/McService.java
        A       android/mc/src/com/saville/mc/McMgr.java
        A       android/mc/src/com/saville/mc/MsgPump.java
        A       android/mc/src/com/saville/mc/McBase.java
        A       android/mc/src/com/saville/mc/ActiveMc.java
        A       android/mc/src/com/saville/mc/McActivity.java
        D       android/mc/src/com/saville/android/mc/Mc.java
        D       android/mc/src/com/saville/android/mc/McService.java
        D       android/mc/src/com/saville/android/mc/McMgr.java
        D       android/mc/src/com/saville/android/mc/ActiveMc.java
        D       android/mc/src/com/saville/android/mc/McActivity.java
        M       android/mc/src/com/saville/android/testmc/TestMc.java
        M       android/mc/src/com/saville/android/testmc/TestMcService.java
        D       android/mctest/COPYING.LESSER
        D       android/mctest/COPYING
        M       android/mctest/.classpath
        M       android/mctest/src/com/saville/android/mctest/McTest.java
        M       
android/mctest/src/com/saville/android/mctest/McTestClient.java
        D       android/serdes/COPYING.LESSER
        D       android/serdes/COPYING
        D       android/debug/COPYING.LESSER
        D       android/debug/COPYING
        D       android/hmc/COPYING.LESSER
        D       android/hmc/COPYING
        M       android/hmc/.classpath
        D       android/hmc/src/com/saville/android/hmc/State.java
        D       android/hmc/src/com/saville/android/hmc/Hmc.java
        D       android/hmc/src/com/saville/android/hmc/IState.java
        D       
android/hmc/src/com/saville/android/testhmc/TestHmcClient.java
        D       
android/hmc/src/com/saville/android/testhmc/TestDeferredMsgs.java
        D       
android/hmc/src/com/saville/android/testhmc/TestUnhandledMsgs.java
        D       
android/hmc/src/com/saville/android/testhmc/TestHmcServer.java
        M       android/hmc/src/com/saville/android/testhmc/TestHmc.java
        A       android/hmc/src/com/saville/hmc/HmcBase.java
        A       android/hmc/src/com/saville/hmc/ActiveHmc.java
        A       android/hmc/src/com/saville/hmc/Hmc.java
        A       android/hmc/src/com/saville/testhmc
        D       android/TestNet1/COPYING.LESSER
        D       android/TestNet1/COPYING
        M       android/TestNet1/.classpath
        M       
android/TestNet1/src/com/saville/android/testnet1/TestNet1.java
        M       java/mc/src/TestMc.java
        D       java/mc/src/com/saville/mc/Looper.java
        M       java/mc/src/com/saville/mc/Mc.java
        M       java/mc/src/com/saville/mc/McMgr.java
        A       java/mc/src/com/saville/mc/MsgPump.java
        A       java/mc/src/com/saville/mc/McBase.java
        M       java/mc/src/com/saville/mc/ActiveMc.java
        M       java/mc/src/com/saville/mc/TcpMsgPipe.java
        D       java/TestClient1/AGPLv3.LICENSE
        A       java/hmcbase/.classpath
        A       java/hmcbase/.project
        D       java/serdes/COPYING.LESSER
        D       java/serdes/COPYING
        D       java/msgcomp/COPYING.LESSER
        D       java/msgcomp/COPYING
        A       java/msgcomp/src/com/saville/msgcomp/IHmc.java
        A       java/msgcomp/src/com/saville/msgcomp/State.java
        A       java/msgcomp/src/com/saville/msgcomp/IActiveMc.java
        M       java/msgcomp/src/com/saville/msgcomp/IMc.java
        A       java/msgcomp/src/com/saville/msgcomp/IState.java
        M       java/msgcomp/src/com/saville/msgcomp/McId.java
        A       java/msgcomp/src/com/saville/msgcomp/IMcMgr.java
        D       java/TestMsgPipe1/AGPLv3.LICENSE
        D       java/debug/COPYING.LESSER
        D       java/debug/COPYING
        D       java/TestMsgPipe2/AGPLv3.LICENSE
        D       java/TestServer1/AGPLv3.LICENSE
        A       java/hmc/.classpath
        A       java/hmc/.project
        A       java/hmc/src/TestHmc.java
        A       java/hmc/src/com/saville/hmc/HmcBase.java
        A       java/hmc/src/com/saville/hmc/ActiveHmc.java
        A       java/hmc/src/com/saville/hmc/Hmc.java
        A       java/hmc/src/com/saville/testhmc/Test.java
        A       java/hmc/src/com/saville/testhmc/TestHmcClient.java
        A       java/hmc/src/com/saville/testhmc/TestDeferredMsgs.java
        A       java/hmc/src/com/saville/testhmc/TestUnhandledMsgs.java
        A       java/hmc/src/com/saville/testhmc/TestHmcServer.java
        A       java/src/HmcBase.java
        A       java/src/McMgr.java
        A       java/src/McBase.java
        D       java/mcmaster/AGPLv3.LICENSE
        A       COPYING.LESSER
        A       COPYING
        A       AGPLv3.LICENSE
r52 = 2336c1c70e92d572f5a1b248249b4f857142bc51 (git-svn)
First, rewinding head to replay your work on top of it...
HEAD is now at 2336c1c... Refactor to reduce duplicated code and have 
pure Java Hmc/ActiveHmc.
Nothing to do.
Steven Walter· Feb 2, 2008, 03:42 UTC · re: Wink Saville · lore

Re: git-svn segmetation fault

On Fri, Feb 01, 2008 at 04:50:55PM -0800, Wink Saville wrote:
Show 5 quoted lines
> Wink Saville wrote:
>> I was doing an git-svn dcommit and got a seg fault. The first
>> phase of updating svn completed and then it seg faulted on the
>> second. So I suspect I'm out of sync and need to recover,
>> any guidance appreciated.
Can you show the contents of .git/config ?
-- 
-Steven Walter <stevenrwalter@gmail.com>
Freedom is the freedom to say that 2 + 2 = 4
B2F1 0ECC E605 7321 E818  7A65 FC81 9777 DC28 9E8F 
Wink Saville· Feb 2, 2008, 03:55 UTC · re: Steven Walter · lore

Re: git-svn segmetation fault

Steven Walter wrote:
Show 12 quoted lines
> On Fri, Feb 01, 2008 at 04:50:55PM -0800, Wink Saville wrote:
>   
>> Wink Saville wrote:
>>     
>>> I was doing an git-svn dcommit and got a seg fault. The first
>>> phase of updating svn completed and then it seg faulted on the
>>> second. So I suspect I'm out of sync and need to recover,
>>> any guidance appreciated.
>>>       
>
> Can you show the contents of .git/config ?
>   
wink@ic2d1:$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[svn-remote "svn"]
        url = https://async-msgcomp.googlecode.com/svn/trunk
        fetch = :refs/remotes/git-svn
[gui]
        geometry = 999x958+1767+172 407 407
[remote "origin"]
        url = git://192.168.0.8/async-msgcomp.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[merge]
        tool = kdiff3
wink@ic2d1:$
Steven Walter· Feb 2, 2008, 16:03 UTC · re: Wink Saville · lore

Re: git-svn segmetation fault

On Fri, Feb 01, 2008 at 07:55:20PM -0800, Wink Saville wrote:
>> Can you show the contents of .git/config ?
>>   
[...]
> [svn-remote "svn"]
>        url = https://async-msgcomp.googlecode.com/svn/trunk
>        fetch = :refs/remotes/git-svn

There's your problem. The url line should only contain the SVN root. If you change it thusly:

    [svn-remote "svn"]
        url = https://async-msgcomp.googlecode.com/svn
        fetch = trunk:refs/remotes/git-svn

It will no longer segfault. I had the same issue with a repository of my own.

-- 
-Steven Walter <stevenrwalter@gmail.com>
Freedom is the freedom to say that 2 + 2 = 4
B2F1 0ECC E605 7321 E818  7A65 FC81 9777 DC28 9E8F 
Wink Saville· Feb 2, 2008, 18:56 UTC · re: Steven Walter · lore

Re: git-svn segmetation fault

Steven Walter wrote:
Show 23 quoted lines
> On Fri, Feb 01, 2008 at 07:55:20PM -0800, Wink Saville wrote:
>   
>>> Can you show the contents of .git/config ?
>>>   
>>>       
> [...]
>   
>> [svn-remote "svn"]
>>        url = https://async-msgcomp.googlecode.com/svn/trunk
>>        fetch = :refs/remotes/git-svn
>>     
>
> There's your problem.  The url line should only contain the SVN root.
> If you change it thusly:
>
>     [svn-remote "svn"]
>         url = https://async-msgcomp.googlecode.com/svn
>         fetch = trunk:refs/remotes/git-svn
>
> It will no longer segfault.  I had the same issue with a repository of
>   
> my own.
>   
<I did that but a rebase command resulted in: />

wink@ic2d1:$ git svn rebase Unable to determine upstream SVN information from working tree history

<I've bee using git-svn for a few days without trouble. Do I need the do another "git svn clone" using the base url rather than pointing to the trunk? />

Steven Walter· Feb 2, 2008, 21:03 UTC · re: Wink Saville · lore

Re: git-svn segmetation fault

On Sat, Feb 02, 2008 at 10:56:40AM -0800, Wink Saville wrote:
Show 8 quoted lines
> <I did that but a rebase command resulted in: />
>
> wink@ic2d1:$ git svn rebase
> Unable to determine upstream SVN information from working tree history
>
> <I've bee using git-svn for a few days without trouble. Do I need
> the do another "git svn clone" using the base url rather than
> pointing to the trunk? />

You shouldn't have to clone again. First time removing .git/svn, then running "git svn fetch" (which ought to rebuild what was there). You ought to be able to rebase after that.

-- 
-Steven Walter <stevenrwalter@gmail.com>
Freedom is the freedom to say that 2 + 2 = 4
B2F1 0ECC E605 7321 E818  7A65 FC81 9777 DC28 9E8F 
Wink Saville· Feb 3, 2008, 01:21 UTC · re: Steven Walter · lore

Re: git-svn segmetation fault

Steven Walter wrote:
Show 16 quoted lines
> On Sat, Feb 02, 2008 at 10:56:40AM -0800, Wink Saville wrote:
>   
>> <I did that but a rebase command resulted in: />
>>
>> wink@ic2d1:$ git svn rebase
>> Unable to determine upstream SVN information from working tree history
>>
>> <I've bee using git-svn for a few days without trouble. Do I need
>> the do another "git svn clone" using the base url rather than
>> pointing to the trunk? />
>>     
>
> You shouldn't have to clone again.  First time removing .git/svn, then
> running "git svn fetch" (which ought to rebuild what was there).  You
> ought to be able to rebase after that.
>   
I've messed something up, I've just re-cloned and all is well.

Actually, a related question which you seem to imply from your answer to the crash. I have the local git repo and also one on a local server which I created as follows:

local$: git svn clone -s https://async-msgcomp.googlecode.com/svn amc local$: ssh srvr srvr$: cd <to local server/path to repo> srvr$: mkdir amc.git srvr$: cd amc.git srvr$: git --bare init --shared srvr$: exit local$: cd amc local$: git remote add origin git:<to local server/path to repo/amc.git> local$: git push --all

So at this point amc/.git/config looks like:
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[svn-remote "svn"]
        url = https://async-msgcomp.googlecode.com/svn
        fetch = trunk:refs/remotes/trunk
        branches = branches/*:refs/remotes/*
        tags = tags/*:refs/remotes/tags/*
[remote "origin"]
        url = git://192.168.0.8/amc.git
        fetch = +refs/heads/*:refs/remotes/origin/*
wink@ic2d1:$

I now have three repositories one local git repo, one git repo on srvr and one svn repo at googlecode.com. I feel really good and backed up to the max:) But assume the svn repo is huge and the initial git svn clone takes a long time.

What steps would be needed to recreate a "local git repo" from the "git repo on srvr" that I could use against the svn repo?

I tried a little test, I cloned my git repo on srvr locally to amc-xx and added the [svn-remote "svn"] section to amc-xx/.git/config and then did a git-svn fetch. From what happened it looks like I just did a git svn clone and didn't save any time.

Also, a follow up can I create an svn repo from a git repo.
Anyway, thanks for the help,
Wink
Steven Walter· Feb 3, 2008, 02:42 UTC · re: Wink Saville · lore

Re: git-svn segmetation fault

On Sat, Feb 02, 2008 at 05:21:59PM -0800, Wink Saville wrote:
Show 7 quoted lines
> What steps would be needed to recreate a "local git repo" from the
> "git repo on srvr" that I could use against the svn repo?
>
> I tried a little test, I cloned my git repo on srvr locally to amc-xx
> and added the [svn-remote "svn"] section to amc-xx/.git/config
> and then did a git-svn fetch. From what happened it looks like I
> just did a git svn clone and didn't save any time.

After adding the svn-remote section, you'll want to copy .git/refs/remotes/origin/master to .git/refs/remotes/git-svn. After doing that, "git svn fetch" should see that you have all the needed commits and do a quick rebuild of its metadata.

> Also, a follow up can I create an svn repo from a git repo.

I've not done it, but it should be possible. You would create the new svn repository with a single empty commit (as empty as SVN would allow). Import that revision into your git repository with git-svn. Then you would either rebase or use grafts to make all of your git commits a descendent of that single svn commit. In that way, the next time you run "git svn dcommit" it will see all your local git commits as new commits to send to subversion.

No guarantees though, as I've not tried it.
-- 
-Steven Walter <stevenrwalter@gmail.com>
Freedom is the freedom to say that 2 + 2 = 4
B2F1 0ECC E605 7321 E818  7A65 FC81 9777 DC28 9E8F 
Wink Saville· Feb 3, 2008, 21:42 UTC · re: Steven Walter · lore

Re: git-svn segmetation fault

Steven Walter wrote:
Show 30 quoted lines
> On Sat, Feb 02, 2008 at 05:21:59PM -0800, Wink Saville wrote:
>   
>> What steps would be needed to recreate a "local git repo" from the
>> "git repo on srvr" that I could use against the svn repo?
>>
>> I tried a little test, I cloned my git repo on srvr locally to amc-xx
>> and added the [svn-remote "svn"] section to amc-xx/.git/config
>> and then did a git-svn fetch. From what happened it looks like I
>> just did a git svn clone and didn't save any time.
>>     
>
> After adding the svn-remote section, you'll want to copy
> .git/refs/remotes/origin/master to .git/refs/remotes/git-svn.  After
> doing that, "git svn fetch" should see that you have all the needed
> commits and do a quick rebuild of its metadata.
>
>   
>> Also, a follow up can I create an svn repo from a git repo.
>>     
>
> I've not done it, but it should be possible.  You would create the new
> svn repository with a single empty commit (as empty as SVN would allow).
> Import that revision into your git repository with git-svn.  Then you
> would either rebase or use grafts to make all of your git commits a
> descendent of that single svn commit.  In that way, the next time you
> run "git svn dcommit" it will see all your local git commits as new
> commits to send to subversion.
>
> No guarantees though, as I've not tried it.
>   
Steve,

That worked thanks, I did make some minor adjustments as when I recloned I used the "-s" switch because my svn repo was in standard format so rather than copying master to .git/refs/remotes/git-svn I copied it to .git/refs/remotes/trunk. I also used git svn init to create the remotes section instead of editing .git/config directly. So the following worked for me:

lcl ~/ $ git clone git://srv/amc.git amc lcl ~/ $ cd amc lcl ~/amc $ git svn init -s http://async-msgcomp.googlecode.com/svn lcl ~/amc $ rm -rf .git/svn lcl ~/amc $ cp .git/refs/remotes/origin/master .git/refs/remotes/trunk lcl ~/amc $ git svn fetch

It would seem creating a "git svn connect" command which did the above might be nice. I took a quick look at git-svn and decided that since I don't know perl and git-svn was almost 5000 LOC it would be dangerous for me to try to make the change:)

Thanks for all of your help.
Wink
Eric Wong· Feb 2, 2008, 04:06 UTC · re: Wink Saville · lore

Re: git-svn segmetation fault

Wink Saville <wink@saville.com> wrote:
Show 13 quoted lines
> Wink Saville wrote:
> >I was doing an git-svn dcommit and got a seg fault. The first
> >phase of updating svn completed and then it seg faulted on the
> >second. So I suspect I'm out of sync and need to recover,
> >any guidance appreciated.
> >
> >If it's any help the svn repo is at 
> >http://async-msgcomp.googlecode.com/svn.
> >If someone needs it I happen to have a backup of the git repo before
> >doing the commit and then after the seg fault.
> >
> >If there is any other information that someone needs I can try
> >to supply it.
Which version of the SVN bindings do you have installed?
Show 24 quoted lines
> >Cheers,
> >
> >Wink Saville
> <snip/>
> 
> 
> <As an update, I first tried to re-execute the dcommit, but that didn't 
> work: />
> 
> wink@ic2d1:$ git-svn dcommit
> Committing to https://async-msgcomp.googlecode.com/svn/trunk ...
> Merge conflict during commit: Your file or directory 
> 'android/hmc/src/com/saville' is probably out-of-date: The version 
> resource does not correspond to the resource within the transaction.  
> Either the requested version resource is out of date (needs to be 
> updated), or the requested version resource is newer than the 
> transaction root (restart the commit). at /usr/bin/git-svn line 420
> 
> <I than did a rebase that got me back in sync: />
> 
> wink@ic2d1:$ git-svn rebase
> Index mismatch: 94bbfa6d433192de71060d1274f0b0eab8f49a30 != 
> 2fcd3a5cc5a9ca062a41d0ff5ac30073f4fa23b0
> rereading 8ce31b64294bdb063c64c50b9358533ac8746af4
<snip long list of files>
Show 8 quoted lines
>        A       COPYING.LESSER
>        A       COPYING
>        A       AGPLv3.LICENSE
> r52 = 2336c1c70e92d572f5a1b248249b4f857142bc51 (git-svn)
> First, rewinding head to replay your work on top of it...
> HEAD is now at 2336c1c... Refactor to reduce duplicated code and have 
> pure Java Hmc/ActiveHmc.
> Nothing to do.

So it appears the dcommit succeeded in making the change to the repository, but segfaulted afterwards (when attempting to retreive the version number of the commit. Is that assessment correct?

-- 
Eric Wong
Wink Saville· Feb 2, 2008, 04:53 UTC · re: Eric Wong · lore

Re: git-svn segmetation fault

Eric Wong wrote:
Show 21 quoted lines
> Wink Saville <wink@saville.com> wrote:
>   
>> Wink Saville wrote:
>>     
>>> I was doing an git-svn dcommit and got a seg fault. The first
>>> phase of updating svn completed and then it seg faulted on the
>>> second. So I suspect I'm out of sync and need to recover,
>>> any guidance appreciated.
>>>
>>> If it's any help the svn repo is at 
>>> http://async-msgcomp.googlecode.com/svn.
>>> If someone needs it I happen to have a backup of the git repo before
>>> doing the commit and then after the seg fault.
>>>
>>> If there is any other information that someone needs I can try
>>> to supply it.
>>>       
>
> Which version of the SVN bindings do you have installed?
>
>   
I've installed 1.4.4 as supplied in ubuntu 7.10.

← back to recent threads