Re: [PATCH v2 04/10] ref-filter: modify "%(objectname:short)" to take length

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

 



Karthik Nayak <karthik.188@xxxxxxxxx> writes:

> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -464,14 +464,28 @@ static void *get_obj(const unsigned char *sha1, struct object **obj, unsigned lo
>  static int grab_objectname(const char *name, const unsigned char *sha1,
>  			    struct atom_value *v)
>  {
> -	if (!strcmp(name, "objectname")) {
> -		char *s = xmalloc(41);
> -		strcpy(s, sha1_to_hex(sha1));
> -		v->s = s;
> -		return 1;
> -	}
> -	if (!strcmp(name, "objectname:short")) {
> -		v->s = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
> +	const char *p;
> +
> +	if (match_atom_name(name, "objectname", &p)) {
> +		/*  No arguments given, copy the entire objectname */
> +		if (!p) {
> +			char *s = xmalloc(41);

While you're there, you may want to get rid of this hardcoded 41 and
write GIT_SHA1_HEXSZ + 1 instead.

> diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
> index 7c9bec7..6fc569e 100755
> --- a/t/t6300-for-each-ref.sh
> +++ b/t/t6300-for-each-ref.sh
> @@ -385,6 +385,28 @@ test_expect_success 'Check short objectname format' '
>  	test_cmp expected actual
>  '
>  
> +cat >expected <<EOF
> +$(git rev-parse --short=1 HEAD)
> +EOF

Please write all code within test_expect_success including this
(t/README:

 - Put all code inside test_expect_success and other assertions.

   Even code that isn't a test per se, but merely some setup code
   should be inside a test assertion.
).

> +test_expect_success 'Check objectname:short format when size is less than MINIMUM_ABBREV' '
> +	git for-each-ref --format="%(objectname:short=1)" refs/heads >actual &&
> +	test_cmp expected actual
> +'
> +
> +cat >expected <<EOF
> +$(git rev-parse --short=10 HEAD)
> +EOF

Likewise.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
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]