Hi Junio, On Mon, Sep 30, 2019 at 2:10 PM Elijah Newren <newren@xxxxxxxxx> wrote: > > This series improves the incremental export story for fast-export and > fast-import (--export-marks and --import-marks fell a bit short), > fixes a couple small export/import bugs, and enables handling nested > tags. In particular, the nested tags handling makes it so that > fast-export and fast-import can finally handle the git.git repo. I see you picked up this corrected series in pu; thanks. However, your merge commit, 2a99d6b6ff7c ("Merge branch 'en/fast-imexport-nested-tags' into pu", 2019-10-02), claims "Seems to break t9300 when merged to 'pu'.". I know v1 did that and I could reproduce, but I can't reproduce any failures here. Was this message just left over or is there some problem you are seeing? Thanks, Elijah > > Changes since v1 (full range-diff below): > - Fixed an issue integrating with next/pu (in particular, with > jk/fast-import-history-bugfix) > > Elijah Newren (8): > fast-export: fix exporting a tag and nothing else > fast-import: fix handling of deleted tags > fast-import: allow tags to be identified by mark labels > fast-import: add support for new 'alias' command > fast-export: add support for --import-marks-if-exists > fast-export: allow user to request tags be marked with --mark-tags > t9350: add tests for tags of things other than a commit > fast-export: handle nested tags > > Documentation/git-fast-export.txt | 17 ++++-- > Documentation/git-fast-import.txt | 23 ++++++++ > builtin/fast-export.c | 67 ++++++++++++++++------ > fast-import.c | 94 +++++++++++++++++++++++++++---- > t/t9300-fast-import.sh | 37 ++++++++++++ > t/t9350-fast-export.sh | 68 ++++++++++++++++++++-- > 6 files changed, 268 insertions(+), 38 deletions(-) > > Range-diff: > 1: b751d6c2d6 ! 1: 1d19498bc6 fast-import: fix handling of deleted tags > @@ fast-import.c: static void parse_reset_branch(const char *arg) > b = new_branch(arg); > read_next_command(); > parse_from(b); > -+ if (b->delete && !strncmp(arg, "refs/tags/", 10)) { > ++ if (b->delete && !strncmp(b->name, "refs/tags/", 10)) { > + /* > + * Elsewhere, we call dump_branches() before dump_tags(), > + * and dump_branches() will handle ref deletions first, so > @@ fast-import.c: static void parse_reset_branch(const char *arg) > + for (t = first_tag; t; t = t->next_tag) { > + strbuf_reset(&tag_name); > + strbuf_addf(&tag_name, "refs/tags/%s", t->name); > -+ if (!strcmp(arg, tag_name.buf)) > ++ if (!strcmp(b->name, tag_name.buf)) > + break; > + prev = t; > + } > 2: 26b77dde15 = 2: e1fd888e4a fast-import: allow tags to be identified by mark labels > 3: e0d1a1d7aa = 3: 93175f28d9 fast-import: add support for new 'alias' command > 4: edea892661 = 4: 8c8743395c fast-export: add support for --import-marks-if-exists > 5: 6af7e1fdd0 = 5: eebc40df33 fast-export: allow user to request tags be marked with --mark-tags > 6: 631ae9a63e = 6: de39f703c6 t9350: add tests for tags of things other than a commit > 7: c0e932e4da = 7: ac739dbb79 fast-export: handle nested tags > -- > 2.23.0.264.gac739dbb79 >