Re: [RFC/PATCH 3/9] for-each-ref: add '--points-at' option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/09/2015 12:42 AM, Junio C Hamano wrote:

Is this intended?  I would have expected if I did

	git for-each-ref --points-at master

I would get refs/heads/master and any other refs that exactly points
at that commit.


Thats to be changed, thanks!


  FIELD NAMES
  -----------
diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c
index 4d2d024..b9d180a 100644
--- a/builtin/for-each-ref.c
+++ b/builtin/for-each-ref.c
@@ -7,6 +7,7 @@

  static char const * const for_each_ref_usage[] = {
  	N_("git for-each-ref [<options>] [<pattern>]"),
+	N_("git for-each-ref [--points-at <object>]"),
  	NULL
  };

@@ -17,6 +18,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
  	struct ref_sorting *sorting = NULL, **sorting_tail = &sorting;
  	int maxcount = 0, quote_style = 0;
  	struct ref_filter_cbdata ref_cbdata;
+	memset(&ref_cbdata, 0, sizeof(ref_cbdata));

  	struct option opts[] = {
  		OPT_BIT('s', "shell", &quote_style,
@@ -33,6 +35,9 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
  		OPT_STRING(  0 , "format", &format, N_("format"), N_("format to use for the output")),
  		OPT_CALLBACK(0 , "sort", sorting_tail, N_("key"),
  			    N_("field name to sort on"), &parse_opt_ref_sorting),
+		OPT_CALLBACK(0, "points-at", &ref_cbdata.filter.points_at,
+			     N_("object"), N_("print only tags of the object"),
+			     parse_opt_points_at),
  		OPT_END(),
  	};

@@ -54,7 +59,6 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
  	/* for warn_ambiguous_refs */
  	git_config(git_default_config, NULL);

-	memset(&ref_cbdata, 0, sizeof(ref_cbdata));

I cannot quite see how this change relates to the addition of the
new option.


Well if we memset() after calling parse_opt_points_at(), we loose all the information we would have obtained.
So the memset() is moved to an earlier location.

--
Regards,
Karthik
--
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]