summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2019-10-03 20:27:07 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-10-03 22:33:21 (GMT)
commita1638cfe12ab06bd83068347ee8fc7a522c81e7b (patch)
tree3052d65ec3654d655e2e6d22cba02ee652abd02c /builtin
parent208d69246ed2a7f66dd8357771eb7afe83e80a43 (diff)
downloadgit-a1638cfe12ab06bd83068347ee8fc7a522c81e7b.zip
git-a1638cfe12ab06bd83068347ee8fc7a522c81e7b.tar.gz
git-a1638cfe12ab06bd83068347ee8fc7a522c81e7b.tar.bz2
fast-export: allow user to request tags be marked with --mark-tags
Add a new option, --mark-tags, which will output mark identifiers with each tag object. This improves the incremental export story with --export-marks since it will allow us to record that annotated tags have been exported, and it is also needed as a step towards supporting nested tags. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/fast-export.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/builtin/fast-export.c b/builtin/fast-export.c
index 575e478..d32e1e9 100644
--- a/builtin/fast-export.c
+++ b/builtin/fast-export.c
@@ -40,6 +40,7 @@ static int no_data;
static int full_tree;
static int reference_excluded_commits;
static int show_original_ids;
+static int mark_tags;
static struct string_list extra_refs = STRING_LIST_INIT_NODUP;
static struct string_list tag_refs = STRING_LIST_INIT_NODUP;
static struct refspec refspecs = REFSPEC_INIT_FETCH;
@@ -861,6 +862,10 @@ static void handle_tag(const char *name, struct tag *tag)
if (starts_with(name, "refs/tags/"))
name += 10;
printf("tag %s\n", name);
+ if (mark_tags) {
+ mark_next_object(&tag->object);
+ printf("mark :%"PRIu32"\n", last_idnum);
+ }
if (tagged_mark)
printf("from :%d\n", tagged_mark);
else
@@ -1165,6 +1170,8 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
&reference_excluded_commits, N_("Reference parents which are not in fast-export stream by object id")),
OPT_BOOL(0, "show-original-ids", &show_original_ids,
N_("Show original object ids of blobs/commits")),
+ OPT_BOOL(0, "mark-tags", &mark_tags,
+ N_("Label tags with mark ids")),
OPT_END()
};