All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Wong <normalperson@yhbt.net>
To: Matthias Kleine <matthias_kleine@gmx.de>, git@vger.kernel.org
Subject: Re: git-svn: Finding the svn-URL of the current branch in git
Date: Thu, 16 Aug 2007 01:21:10 -0700	[thread overview]
Message-ID: <20070816082110.GB16849@muzzle> (raw)
In-Reply-To: <20070807205543.GB27703@xp.machine.xx>

Peter Baumann <waste.manager@gmx.de> wrote:
> On Tue, Aug 07, 2007 at 08:29:23PM +0200, Matthias Kleine wrote:
> > Hi there,
> >
> > when running "git-svn dcommit" git-svn tries to find the svn-URL of the 
> > current branch int git by looking for the most recent git log-entry 
> > corresponding to a commit in svn (see working_head_info in git-svn).  In 
> > case a merge just happended this might be the URL of another branch. Would 
> > using "log --first-parent" instead of a plain "log" take care of this 
> > problem or would it have other undesirable consequences?
> >
> 
> I had this situation, too.
> 
> 
> 			a = svn branch 'a'
> 	m		b = svn branch 'b' (in my case, it was trunk)
>       /   \		m = a merge of branch 'a' and 'b', not yet commited to svn
>      a     b
> 
> So trying to dcommit m, git svn can't figure out on which branch, as 'a'
> and 'b' are both reachable. I had to use a graft file to lose one of the
> parents, which let git-svn commit to SVN.
> 
> So for a short fix to get the work done, you could create a graft file
> where you fake m to only have one parent.

Ok.  I'm regretting making 733a65aa5d33196fac708ebd12a98a1060cbf3c2 now.

It doesn't introduce the problem, but it does encourage it.  I still
happen to believe allowing git-merges in repositories that try to
interoperate with SVN is just giving rope for users to hang themselves
with.


Junio:
Would you object to having git-merge spew a big fat warning
and/or outright refuse to let git-merge run on git-svn repositories?


13c823fb520eaf1cded520213cf0ae4c3268208d was introduced to allow using
git-format-patch + git-am to apply patches from other branches in SVN,
which is the recommended way to do "merging" with git-svn.

> On the longer run, I would make sense to have an option to explicitly
> specify on which SVN branch 'git-svn dcommit' should operate.

Patches welcome :)

-- 
Eric Wong

  parent reply	other threads:[~2007-08-16  8:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-07 18:29 git-svn: Finding the svn-URL of the current branch in git Matthias Kleine
2007-08-07 20:55 ` Peter Baumann
2007-08-08  8:54   ` Matthias Kleine
2007-08-08  9:13     ` Junio C Hamano
2007-08-08 18:51       ` Matthias Kleine
2007-08-08 19:25         ` Peter Baumann
2007-08-08 20:57           ` Peter Baumann
2007-08-16  8:21   ` Eric Wong [this message]
2007-08-16 12:16     ` Peter Baumann
2007-08-17  7:55       ` Eric Wong
2007-08-17  8:45     ` Junio C Hamano
2007-08-18  9:09       ` Eric Wong
2007-08-18  9:57         ` David Kastrup
2007-08-18 10:04           ` Junio C Hamano
2007-08-18 21:18             ` Karl Hasselström

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070816082110.GB16849@muzzle \
    --to=normalperson@yhbt.net \
    --cc=git@vger.kernel.org \
    --cc=matthias_kleine@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.