git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Baumann <waste.manager@gmx.de>
To: Eric Wong <normalperson@yhbt.net>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [PATCH 1/2] git-svn: fix dcommit clobbering when committing a series of diffs
Date: Mon, 5 Nov 2007 15:22:54 +0100	[thread overview]
Message-ID: <20071105142254.GA20277@xp.machine.xx> (raw)
In-Reply-To: <1194261708-32256-1-git-send-email-normalperson@yhbt.net>

On Mon, Nov 05, 2007 at 03:21:47AM -0800, Eric Wong wrote:
> Our revision number sent to SVN is set to the last revision we
> committed if we've made any previous commits in a dcommit
> invocation.
> 
> Although our SVN Editor code uses the delta of two (old) trees
> to generate information to send upstream, it'll still send
> complete resultant files upstream; even if the tree they're
> based against is out-of-date.
> 
> The combination of sending a file that does not include the
> latest changes, but set with a revision number of a commit we
> just made will cause SVN to accept the resultant file even if it
> was generated against an old tree.
> 
> More trouble was caused when fixing this because we were
> rebasing uncessarily at times.  We used git-diff-tree to check
> the imported SVN revision against our HEAD, not the last tree we
> committed to SVN.  The unnecessary rebasing caused merge commits
> upstream to SVN to fail.
> 
> Signed-off-by: Eric Wong <normalperson@yhbt.net>
> ---
> 

[...]

> diff --git a/t/t9106-git-svn-dcommit-clobber-series.sh b/t/t9106-git-svn-dcommit-clobber-series.sh
> new file mode 100755
> index 0000000..4216a88
> --- /dev/null
> +++ b/t/t9106-git-svn-dcommit-clobber-series.sh
> @@ -0,0 +1,56 @@
> +#!/bin/sh
> +#
> +# Copyright (c) 2007 Eric Wong
> +test_description='git-svn dcommit clobber series'
> +. ./lib-git-svn.sh
> +
> +test_expect_success 'initialize repo' "
> +	mkdir import &&
> +	cd import &&
> +	awk 'BEGIN { for (i = 1; i < 64; i++) { print i } }' > file
> +	svn import -m 'initial' . $svnrepo &&
> +	cd .. &&
> +	git svn init $svnrepo &&
> +	git svn fetch &&
> +	test -e file
> +	"
> +
> +test_expect_success '(supposedly) non-conflicting change from SVN' "
> +	test x\"\`sed -n -e 58p < file\`\" = x58 &&
> +	test x\"\`sed -n -e 61p < file\`\" = x61 &&
> +	svn co $svnrepo tmp &&
> +	cd tmp &&
> +		perl -i -p -e 's/^58\$/5588/' file &&
> +		perl -i -p -e 's/^61\$/6611/' file &&
> +		test x\"\`sed -n -e 58p < file\`\" = x5588 &&
> +		test x\"\`sed -n -e 61p < file\`\" = x6611 &&
> +		svn commit -m '58 => 5588, 61 => 6611' &&
> +		cd ..
> +	"
> +
> +test_expect_success 'unrelated some unrelated changes to git' "

The first unrelated seems odd here.

-Peter

> +	echo hi > life &&
> +	git update-index --add life &&
> +	git commit -m hi-life &&
> +	echo bye >> life &&
> +	git commit -m bye-life life
> +	"
> +
[...] 

  parent reply	other threads:[~2007-11-05 14:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-05 11:21 [PATCH 1/2] git-svn: fix dcommit clobbering when committing a series of diffs Eric Wong
2007-11-05 11:21 ` [PATCH 2/2] git-svn: t9114: verify merge commit message in test Eric Wong
2007-11-05 14:22 ` Peter Baumann [this message]
2007-11-05 16:40   ` [PATCH 1/2] git-svn: fix dcommit clobbering when committing a series of diffs Eric Wong

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=20071105142254.GA20277@xp.machine.xx \
    --to=waste.manager@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=normalperson@yhbt.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).