Martin von Zweigbergk <martin.von.zweigbergk@xxxxxxxxx> writes: > get_patch_ids() takes an already initialized rev_info and a > prefix. The prefix is used when initalizing a second rev_info. Since > the initialized rev_info already has a prefix and it seems the prefix > doesn't change, we can used the prefix from the initialized rev_info > to initialize the second rev_info. s/it seems the prefix doesn't change/the prefix never changes/; > Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@xxxxxxxxx> I think this change shouldn't change the behaviour and is good. Just FYI, during the revision traversal, prefix affects two things in the current code: (1) it is used as the basename for prune data that determine which parts of the tree structure to pay attention to (e.g. "cd t && git log ."). (2) it is used as the basename for diff output when revs->diffopt is used (e.g. "cd t && git log -p"). And check_rev is used with neither. It does not want to prune any part of the tree nor it wants to filter with fancier options like grep/pickaxe (i.e. it does not use setup_revisions()). In that sense it probably does not even matter if you did not pass rev->prefix down to check_rev, and instead gave NULL to it, but that only holds true in the current codebase, so I think what your patch does is the right thing to do. Thanks. > builtin/log.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/builtin/log.c b/builtin/log.c > index ecc2793..7a92e3f 100644 > --- a/builtin/log.c > +++ b/builtin/log.c > @@ -696,7 +696,7 @@ static int reopen_stdout(struct commit *commit, const char *subject, > return 0; > } > > -static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids, const char *prefix) > +static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids) > { > struct rev_info check_rev; > struct commit *commit; > @@ -717,7 +717,7 @@ static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids, const cha > init_patch_ids(ids); > > /* given a range a..b get all patch ids for b..a */ > - init_revisions(&check_rev, prefix); > + init_revisions(&check_rev, rev->prefix); > o1->flags ^= UNINTERESTING; > o2->flags ^= UNINTERESTING; > add_pending_object(&check_rev, o1, "o1"); > @@ -1306,7 +1306,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) > if (hashcmp(o[0].item->sha1, o[1].item->sha1) == 0) > return 0; > } > - get_patch_ids(&rev, &ids, prefix); > + get_patch_ids(&rev, &ids); > } > > if (!use_stdout) > @@ -1525,7 +1525,7 @@ int cmd_cherry(int argc, const char **argv, const char *prefix) > return 0; > } > > - get_patch_ids(&revs, &ids, prefix); > + get_patch_ids(&revs, &ids); > > if (limit && add_pending_commit(limit, &revs, UNINTERESTING)) > die(_("Unknown commit %s"), limit); -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html