From: Sverre Rabbelier <srabbelier@gmail.com>
To: Junio C Hamano <gitster@pobox.com>,
Jonathan Nieder <jrnieder@gmail.com>, Jeff King <peff@peff.net>,
Git List <git@vger.kernel.org>,
Daniel Barkalow <barkalow@iabervon.org>,
Ramkumar
Cc: Sverre Rabbelier <srabbelier@gmail.com>
Subject: [PATCH 2/3] fast-export: do not refer to non-existing marks
Date: Sun, 6 Nov 2011 00:23:26 +0100 [thread overview]
Message-ID: <1320535407-4933-3-git-send-email-srabbelier@gmail.com> (raw)
In-Reply-To: <1320535407-4933-1-git-send-email-srabbelier@gmail.com>
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
When calling `git fast-export a..a b` when a and b refer to the same
commit, nothing would be exported, and an incorrect reset line would
be printed for b ('from :0').
Extract a handle_reset function that deals with this, which can then
be re-used in a later commit.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
---
builtin/fast-export.c | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/builtin/fast-export.c b/builtin/fast-export.c
index 9836e6b..c4c4391 100644
--- a/builtin/fast-export.c
+++ b/builtin/fast-export.c
@@ -529,9 +529,20 @@ static void get_tags_and_duplicates(struct object_array *pending,
}
}
+static void handle_reset(const char *name, struct object *object)
+{
+ int mark = get_object_mark(object);
+
+ if (mark)
+ printf("reset %s\nfrom :%d\n\n", name,
+ get_object_mark(object));
+ else
+ printf("reset %s\nfrom %s\n\n", name,
+ sha1_to_hex(object->sha1));
+}
+
static void handle_tags_and_duplicates(struct string_list *extra_refs)
{
- struct commit *commit;
int i;
for (i = extra_refs->nr - 1; i >= 0; i--) {
@@ -543,9 +554,7 @@ static void handle_tags_and_duplicates(struct string_list *extra_refs)
break;
case OBJ_COMMIT:
/* create refs pointing to already seen commits */
- commit = (struct commit *)object;
- printf("reset %s\nfrom :%d\n\n", name,
- get_object_mark(&commit->object));
+ handle_reset(name, object);
show_progress();
break;
}
--
1.7.8.rc0.36.g67522.dirty
next prev parent reply other threads:[~2011-11-05 23:25 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-05 23:23 [PATCH 0/3] fast-export fixes Sverre Rabbelier
2011-11-05 23:23 ` [PATCH 1/3] t9350: point out that refs are not updated correctly Sverre Rabbelier
2011-11-06 4:31 ` Jonathan Nieder
2011-11-06 19:38 ` Sverre Rabbelier
2011-11-07 9:32 ` Jonathan Nieder
2012-10-24 17:52 ` Felipe Contreras
2012-10-24 18:08 ` Jonathan Nieder
2012-10-24 19:09 ` Felipe Contreras
2012-10-24 19:11 ` Jonathan Nieder
2012-10-25 4:19 ` Felipe Contreras
2012-10-25 4:27 ` Jonathan Nieder
2012-10-25 5:18 ` Felipe Contreras
2012-10-25 5:28 ` Jonathan Nieder
2012-10-25 5:39 ` Sverre Rabbelier
2012-10-25 5:50 ` Felipe Contreras
2012-10-25 6:07 ` Sverre Rabbelier
2012-10-25 6:19 ` Felipe Contreras
2012-10-25 7:06 ` Sverre Rabbelier
2012-10-25 7:34 ` Jonathan Nieder
2012-10-25 7:43 ` Sverre Rabbelier
2012-10-25 7:48 ` Jonathan Nieder
2012-10-25 7:50 ` Sverre Rabbelier
2012-10-25 13:33 ` Felipe Contreras
2012-10-25 5:40 ` Felipe Contreras
2012-10-25 5:53 ` Jonathan Nieder
2012-10-25 6:39 ` Felipe Contreras
2012-10-25 7:18 ` Jonathan Nieder
2012-10-25 16:43 ` Felipe Contreras
2012-10-24 21:41 ` Johannes Schindelin
2012-10-25 5:13 ` Felipe Contreras
2011-11-05 23:23 ` Sverre Rabbelier [this message]
2011-11-06 4:45 ` [PATCH 2/3] fast-export: do not refer to non-existing marks Jonathan Nieder
2011-11-06 19:40 ` Sverre Rabbelier
2019-01-29 19:41 ` Johannes Schindelin
2011-11-05 23:23 ` [PATCH 3/3] fast-export: output reset command for commandline revs Sverre Rabbelier
2011-11-06 5:01 ` Jonathan Nieder
2011-11-06 19:48 ` Sverre Rabbelier
2011-11-07 8:58 ` Jonathan Nieder
2011-11-07 5:52 ` Junio C Hamano
2011-11-07 5:53 ` Junio C Hamano
2011-11-30 16:56 ` Thomas Rast
2012-10-24 18:02 ` Felipe Contreras
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=1320535407-4933-3-git-send-email-srabbelier@gmail.com \
--to=srabbelier@gmail.com \
--cc=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.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 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.