git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Help with merge and git-svn

From
CTCraig Tataryn <craiger@tataryn.net>
Date
Sep 26, 2008, 16:36 UTC
Message-ID
<8384c2b90809260936m21c14e0dve5b08b021da4a342@mail.gmail.com>

Hi, first time poster to kernel.org mailing lists, so if I commit a taboo, please be kind to me :)

I have the following scenario:
[remote deveoper]<===>[shared git repo]<===>[me]<===>[client's svn repo]

So my remote developer and I push and pull to/from the shared git repo, and then I sync changes to and from the client's svn repo using git-svn.

My problem is, when I am ready to merge changes from my local master
branch to trunk-local, if I do a "git merge master" and then try to
issue any git-svn commands I get the following errors:
======================
$ git merge master
Updating d88106e..77b86ae
Fast forward
 community/pom.xml |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

$ git svn dcommit Can't call method "full_url" on an undefined value at /usr/local/git/libexec/git-core/git-svn line 425.

$ git svn rebase Unable to determine upstream SVN information from working tree history ======================

The only way I've seem to be able to remedy this is if I add the "subtree" merge strategy to the merge command:

git merge -s subtree master

Then git-svn doesn't get confused about it's repo, but when you look at the repo using gitk, you see something like:

[trunk-local]--[remotes/trunk]  Merge branch 'master' into trunk-local
| \
|  \
|    [master]--[remotes/origin/master]  "Some commit message from the
last master commit"
|    |
|    |
|  /
/

When I use the normal merge strategy then gitk shows all branches at the same level, but git-svn is of course b0rked.

So I guess my question is, am I stuck using "-s subtree", is this the right course of action?? Or can I get this to work with the default strategy? Is this symptomatic of a messed up or disjoint history (i.e. early on I did some --squash merges).

I have full control over the shared repo and I don't mind blowing it away and rebuilding it based on what's in SVN if that's what it takes.

Thanks!
Craig.
-- 
Craig Tataryn
site: http://www.basementcoders.com/
podcast:http://feeds.feedburner.com/TheBasementCoders
irc: ThaDon on freenode #basementcoders, ##wicket, #papernapkin
im: craiger316@hotmail.com, skype: craig.tataryn
Next: Björn Steinbrink
Message 1 of 3 in “Help with merge and git-svn”
  1. Craig TatarynSep 26, 2008
  2. Björn SteinbrinkSep 26, 2008
  3. Craig TatarynSep 26, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.