git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: Git List <git@vger.kernel.org>,
	Junio C Hamano <gitster@pobox.com>,
	Christian Couder <chriscool@tuxfamily.org>,
	Daniel Barkalow <barkalow@iabervon.org>,
	Jeff King <peff@peff.net>
Subject: Re: [PATCH 03/18] revert: Simplify and inline add_message_to_msg
Date: Wed, 27 Jul 2011 06:18:09 +0200	[thread overview]
Message-ID: <20110727041809.GB18470@elie> (raw)
In-Reply-To: <1311736755-24205-4-git-send-email-artagnon@gmail.com>

Ramkumar Ramachandra wrote:

> [Subject: [PATCH 03/18] revert: Simplify and inline add_message_to_msg]

Before, I wrote that it would be better to present this as a bugfix
than as a code reorganization, since the former is more likely to
affect people upgrading or to be relevant if this later turns out to
have a regression and someone wonders why not to just revert it.  Was
I wrong?

Testcase below.  It makes a commit like this:

	tree f0db5ba931b3f121d2050e23ac3cd47ac2233306
	parent 43991719f0536a734e91e94f40361114477b3b5e
	author A U Thor <author@example.com> 1112912113 -0700
	committer C O Mitter <committer@example.com> 1112912113 -0700

with no blank line afterwards.  I think this is relevant and not a
"what if cosmic rays corrupt that pointer" kind of thing because
people use non-git programs or libraries to write to git object stores
pretty often.  If this object were invalid, it would still not be a
good behavior to segfault (better to die() or give some
arbitrary-but-sane result).  Not sure whether the object should be
considered invalid (e.g., "git fsck" accepts it).

Unfortunately it fails for me even after the patch.  If the test looks
reasonable to you, it could be worth adding marked with
"test_expect_failure".

 t/t3501-revert-cherry-pick.sh |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/t/t3501-revert-cherry-pick.sh b/t/t3501-revert-cherry-pick.sh
index 595d2ff9..e46e7131 100755
--- a/t/t3501-revert-cherry-pick.sh
+++ b/t/t3501-revert-cherry-pick.sh
@@ -12,6 +12,12 @@ test_description='test cherry-pick and revert with renames
 
 . ./test-lib.sh
 
+remove_object() {
+	file=$(echo "$*" | sed 's#..#.git/objects/&#') &&
+	test -e "$file" &&
+	rm -f "$file"
+}
+
 test_expect_success setup '
 
 	for l in a b c d e f g h i j k l m n o
@@ -70,6 +76,25 @@ test_expect_success 'cherry-pick after renaming branch' '
 
 '
 
+test_expect_success 'cherry-pick commit with no delimiter after header' '
+
+	printf "%s\n" rename1 initial >expect &&
+
+	git cat-file commit rename1 >cmit &&
+	sed -e "/^\$/ Q" <cmit >newcmit &&
+	objname=$(git hash-object -t commit -w newcmit) &&
+	test_when_finished "remove_object $objname" &&
+
+	git checkout initial &&
+	git cherry-pick "$objname" &&
+
+	test_path_is_missing oops &&
+	test_path_is_file spoo &&
+	git log --format=%s >actual &&
+	test_cmp expect actual
+
+'
+
 test_expect_success 'revert after renaming branch' '
 
 	git checkout rename1 &&
-- 
1.7.6

  reply	other threads:[~2011-07-27  4:18 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-27  3:18 [PATCH 00/18] GSoC update: Sequencer for inclusion v3 Ramkumar Ramachandra
2011-07-27  3:18 ` [PATCH 01/18] advice: Introduce error_resolve_conflict Ramkumar Ramachandra
2011-07-27  3:18 ` [PATCH 02/18] config: Introduce functions to write non-standard file Ramkumar Ramachandra
2011-07-27  3:39   ` Jonathan Nieder
2011-07-27  5:42   ` Jeff King
2011-07-28 15:40     ` Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 03/18] revert: Simplify and inline add_message_to_msg Ramkumar Ramachandra
2011-07-27  4:18   ` Jonathan Nieder [this message]
2011-07-27 17:26     ` Ramkumar Ramachandra
2011-07-27 17:42       ` Jonathan Nieder
2011-07-27 17:49         ` Ramkumar Ramachandra
2011-07-27 17:51           ` Jonathan Nieder
2011-07-27  3:19 ` [PATCH 04/18] revert: Don't check lone argument in get_encoding Ramkumar Ramachandra
2011-07-27  4:32   ` Jonathan Nieder
2011-07-28 15:43     ` Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 05/18] revert: Rename no_replay to record_origin Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 06/18] revert: Propogate errors upwards from do_pick_commit Ramkumar Ramachandra
2011-07-27  4:39   ` Jonathan Nieder
2011-07-27  9:47     ` Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 07/18] revert: Eliminate global "commit" variable Ramkumar Ramachandra
2011-07-27  4:43   ` Jonathan Nieder
2011-07-27  8:59     ` Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 08/18] revert: Introduce struct to keep command-line options Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 09/18] revert: Separate cmdline parsing from functional code Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 10/18] revert: Don't create invalid replay_opts in parse_args Ramkumar Ramachandra
2011-07-27  4:46   ` Jonathan Nieder
2011-07-31 12:31   ` Christian Couder
2011-08-01 17:37     ` Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 11/18] revert: Save data for continuing after conflict resolution Ramkumar Ramachandra
2011-07-27  5:02   ` Jonathan Nieder
2011-07-27 10:19     ` Ramkumar Ramachandra
2011-07-27 15:56       ` Jonathan Nieder
2011-07-27 18:03         ` Ramkumar Ramachandra
2011-07-27 22:51   ` Junio C Hamano
2011-07-27  3:19 ` [PATCH 12/18] revert: Save command-line options for continuing operation Ramkumar Ramachandra
2011-07-27  5:05   ` Jonathan Nieder
2011-07-27  9:51     ` Ramkumar Ramachandra
2011-07-27 14:21       ` Jonathan Nieder
2011-07-27 15:49         ` Ramkumar Ramachandra
2011-07-27 22:51   ` Junio C Hamano
2011-07-27  3:19 ` [PATCH 13/18] revert: Make pick_commits functionally act on a commit list Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 14/18] revert: Introduce --reset to remove sequencer state Ramkumar Ramachandra
2011-07-27  5:11   ` Jonathan Nieder
2011-07-27 10:12     ` Ramkumar Ramachandra
2011-07-27 14:28       ` Jonathan Nieder
2011-07-27 14:35         ` Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 15/18] reset: Make reset remove the " Ramkumar Ramachandra
2011-07-27  5:16   ` Jonathan Nieder
2011-07-28 15:42     ` Ramkumar Ramachandra
2011-07-28 15:59       ` Jonathan Nieder
2011-07-27  3:19 ` [PATCH 16/18] revert: Remove sequencer state when no commits are pending Ramkumar Ramachandra
2011-07-27  5:17   ` Jonathan Nieder
2011-07-27  9:42     ` Ramkumar Ramachandra
2011-07-27 14:10       ` Jonathan Nieder
2011-07-27 14:30         ` Ramkumar Ramachandra
2011-07-27 15:48           ` Jonathan Nieder
2011-07-27 15:52             ` Ramkumar Ramachandra
2011-07-28 16:16             ` Ramkumar Ramachandra
2011-07-29 19:16               ` Jonathan Nieder
2011-07-29 19:56                 ` Ramkumar Ramachandra
2011-07-30 13:10                   ` Jonathan Nieder
2011-07-30 14:43                     ` Ramkumar Ramachandra
2011-07-30 14:48                       ` Jonathan Nieder
2011-07-27  3:19 ` [PATCH 17/18] revert: Don't implictly stomp pending sequencer operation Ramkumar Ramachandra
2011-07-27  5:19   ` Jonathan Nieder
2011-07-27  9:59     ` Ramkumar Ramachandra
2011-07-27 14:33       ` Jonathan Nieder
2011-07-27 17:06         ` Ramkumar Ramachandra
2011-07-27  3:19 ` [PATCH 18/18] revert: Introduce --continue to continue the operation Ramkumar Ramachandra
2011-07-27  5:22   ` Jonathan Nieder
2011-07-27  9:36     ` Ramkumar Ramachandra
2011-07-27 15:42       ` Jonathan Nieder
2011-07-27 15:56         ` Ramkumar Ramachandra
2011-07-27 22:52   ` Junio C Hamano
2011-07-28 13:16     ` Ramkumar Ramachandra
2011-07-27 22:59 ` [PATCH 00/18] GSoC update: Sequencer for inclusion v3 Junio C Hamano
2011-07-28 16:26   ` Ramkumar Ramachandra
2011-07-28 16:32     ` Ramkumar Ramachandra
2011-07-28 16:39       ` Jonathan Nieder
  -- strict thread matches above, loose matches on Subject: below --
2011-08-04 10:38 [PATCH 00/18] Sequencer for inclusion v6 Ramkumar Ramachandra
2011-08-04 10:39 ` [PATCH 03/18] revert: Simplify and inline add_message_to_msg Ramkumar Ramachandra
2011-08-01 18:06 [PATCH v5 00/18] Sequencer for inclusion Ramkumar Ramachandra
2011-08-01 18:06 ` [PATCH 03/18] revert: Simplify and inline add_message_to_msg Ramkumar Ramachandra
2011-07-28 16:52 [PATCH 00/18] Sequencer for inclusion v4 Ramkumar Ramachandra
2011-07-28 16:52 ` [PATCH 03/18] revert: Simplify and inline add_message_to_msg Ramkumar Ramachandra
2011-07-19 17:17 [GSoC update] Sequencer for inclusion v2 Ramkumar Ramachandra
2011-07-19 17:17 ` [PATCH 03/18] revert: Simplify and inline add_message_to_msg Ramkumar Ramachandra

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=20110727041809.GB18470@elie \
    --to=jrnieder@gmail.com \
    --cc=artagnon@gmail.com \
    --cc=barkalow@iabervon.org \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.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).