Re: [PATCH 1/2] remove unnecessary parameter from get_patch_ids()

2012-07-27 Thread Junio C Hamano
Martin von Zweigbergk martin.von.zweigbe...@gmail.com 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.zweigbe...@gmail.com

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] remove unnecessary parameter from get_patch_ids()

2012-07-27 Thread Martin von Zweigbergk
On Fri, Jul 27, 2012 at 3:44 PM, Junio C Hamano gits...@pobox.com wrote:
 Martin von Zweigbergk martin.von.zweigbe...@gmail.com writes:

 s/it seems the prefix doesn't change/the prefix never changes/;

:-) Thanks for confirming.

 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.

Makes sense. Thanks for explaining!
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html