diff options
author | Elijah Newren <newren@gmail.com> | 2009-06-25 22:48:29 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-06-27 14:10:10 -0700 |
commit | 2374502c6ca1c8007cb35682f13fb5db044df9ea (patch) | |
tree | ac03ae4a5046a2cd6fffc84c1d229156a0f23c43 /builtin-fast-export.c | |
parent | 02c48cd69b3ebfac3867f0f9ceb1503a5af118fc (diff) | |
download | git-2374502c6ca1c8007cb35682f13fb5db044df9ea.tar.gz git-2374502c6ca1c8007cb35682f13fb5db044df9ea.tar.xz |
fast-export: Make sure we show actual ref names instead of "(null)"
The code expects a ref name to be provided in commit->util. While there
was some code to set commit->util, it only worked in cases where there was
an unbroken chain of revisions from a ref to the relevant commit. In
cases such as running
git fast-export --parents master -- COPYING
commit->util would fail to be set. The old method of setting commit->util
has been removed in favor of requesting show_source from the revision
traversal machinery (related to the "--source" option of "git log" family
of commands.)
However, this change does not fix cases like
git fast export master~1
or
git fast export :/arguments
since in such cases commit->util will be "master~1" or ":/arguments" while
we need the actual ref (e.g. "refs/heads/master")
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-fast-export.c')
-rw-r--r-- | builtin-fast-export.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/builtin-fast-export.c b/builtin-fast-export.c index 8c90a2df6..43a7e17d3 100644 --- a/builtin-fast-export.c +++ b/builtin-fast-export.c @@ -530,6 +530,7 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix) init_revisions(&revs, prefix); revs.topo_order = 1; + revs.show_source = 1; argc = setup_revisions(argc, argv, &revs, NULL); argc = parse_options(argc, argv, prefix, options, fast_export_usage, 0); if (argc > 1) @@ -546,11 +547,7 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix) DIFF_OPT_SET(&revs.diffopt, RECURSIVE); while ((commit = get_revision(&revs))) { if (has_unshown_parent(commit)) { - struct commit_list *parent = commit->parents; add_object_array(&commit->object, NULL, &commits); - for (; parent; parent = parent->next) - if (!parent->item->util) - parent->item->util = commit->util; } else { handle_commit(commit, &revs); |