git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v4 00/10] teach replace objects to sha1_object_info_extended()

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 30, 2013, 20:32 UTC
Message-ID
<xmqqob3yqdup.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20131228105505.2272.58873.chriscool@tuxfamily.org>
Christian Couder <chriscool@tuxfamily.org> writes:
> The only changes compared to version 3 are the following:
I'll queue this instead on top, as the series is already in 'next'.
Thanks.
-- >8 --
From: Christian Couder <chriscool@tuxfamily.org>
Date: Sat, 28 Dec 2013 12:00:05 +0100
Subject: [PATCH] replace info: rename 'full' to 'long' and clarify in-code symbols

Enum names SHORT/MEDIUM/FULL were too broad to be descriptive. And they clashed with built-in symbols on platforms like Windows. Clarify by giving them REPLACE_FORMAT_ prefix.

Rename 'full' format in "git replace --format=<name>" to 'long', to match others (i.e. 'short' and 'medium').

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 Documentation/git-replace.txt |  4 ++--
 builtin/replace.c             | 24 ++++++++++++++----------
 t/t6050-replace.sh            |  4 ++--
 3 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/Documentation/git-replace.txt b/Documentation/git-replace.txt
index 7a07828..0a02f70 100644
--- a/Documentation/git-replace.txt
+++ b/Documentation/git-replace.txt
@@ -72,7 +72,7 @@ OPTIONS
 
 --format=<format>::
 	When listing, use the specified <format>, which can be one of
-	'short', 'medium' and 'full'. When omitted, the format
+	'short', 'medium' and 'long'. When omitted, the format
 	defaults to 'short'.
 
 FORMATS
@@ -84,7 +84,7 @@ The following format are available:
 	<replaced sha1>
 * 'medium':
 	<replaced sha1> -> <replacement sha1>
-* 'full'
+* 'long':
 	<replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)
 
 CREATING REPLACEMENT OBJECTS
diff --git a/builtin/replace.c b/builtin/replace.c
index 1672870..2336325 100644
--- a/builtin/replace.c
+++ b/builtin/replace.c
@@ -20,11 +20,15 @@ static const char * const git_replace_usage[] = {
 	NULL
 };
 
-enum repl_fmt { SHORT, MEDIUM, FULL };
+enum replace_format {
+      REPLACE_FORMAT_SHORT,
+      REPLACE_FORMAT_MEDIUM,
+      REPLACE_FORMAT_LONG
+};
 
 struct show_data {
 	const char *pattern;
-	enum repl_fmt fmt;
+	enum replace_format format;
 };
 
 static int show_reference(const char *refname, const unsigned char *sha1,
@@ -33,11 +37,11 @@ static int show_reference(const char *refname, const unsigned char *sha1,
 	struct show_data *data = cb_data;
 
 	if (!fnmatch(data->pattern, refname, 0)) {
-		if (data->fmt == SHORT)
+		if (data->format == REPLACE_FORMAT_SHORT)
 			printf("%s\n", refname);
-		else if (data->fmt == MEDIUM)
+		else if (data->format == REPLACE_FORMAT_MEDIUM)
 			printf("%s -> %s\n", refname, sha1_to_hex(sha1));
-		else { /* data->fmt == FULL */
+		else { /* data->format == REPLACE_FORMAT_LONG */
 			unsigned char object[20];
 			enum object_type obj_type, repl_type;
 
@@ -64,14 +68,14 @@ static int list_replace_refs(const char *pattern, const char *format)
 	data.pattern = pattern;
 
 	if (format == NULL || *format == '\0' || !strcmp(format, "short"))
-		data.fmt = SHORT;
+		data.format = REPLACE_FORMAT_SHORT;
 	else if (!strcmp(format, "medium"))
-		data.fmt = MEDIUM;
-	else if (!strcmp(format, "full"))
-		data.fmt = FULL;
+		data.format = REPLACE_FORMAT_MEDIUM;
+	else if (!strcmp(format, "long"))
+		data.format = REPLACE_FORMAT_LONG;
 	else
 		die("invalid replace format '%s'\n"
-		    "valid formats are 'short', 'medium' and 'full'\n",
+		    "valid formats are 'short', 'medium' and 'long'\n",
 		    format);
 
 	for_each_replace_ref(show_reference, (void *) &data);
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh
index d0c62f7..719a116 100755
--- a/t/t6050-replace.sh
+++ b/t/t6050-replace.sh
@@ -306,7 +306,7 @@ test_expect_success 'test --format medium' '
 	test_cmp expected actual
 '
 
-test_expect_success 'test --format full' '
+test_expect_success 'test --format long' '
 	{
 		echo "$H1 (commit) -> $BLOB (blob)" &&
 		echo "$BLOB (blob) -> $REPLACED (blob)" &&
@@ -314,7 +314,7 @@ test_expect_success 'test --format full' '
 		echo "$PARA3 (commit) -> $S (commit)" &&
 		echo "$MYTAG (tag) -> $HASH1 (commit)"
 	} | sort >expected &&
-	git replace --format=full | sort > actual &&
+	git replace --format=long | sort > actual &&
 	test_cmp expected actual
 '
 
-- 
1.8.5.2-311-g6427a96
Previous: Christian CouderNext: Christian Couder
Message 12 of 13 in “teach replace objects to sha1_object_info_extended()”
  1. 00/10 teach replace objects to sha1_object_info_extended()Christian Couder, Dec 28, 2013
  2. 01/10 Rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECTChristian Couder, Dec 28, 2013
  3. 02/10 replace_object: don't check read_replace_refs twiceChristian Couder, Dec 28, 2013
  4. 03/10 Introduce lookup_replace_object_extended() to pass flagsChristian Couder, Dec 28, 2013
  5. 04/10 Add an "unsigned flags" parameter to sha1_object_info_extended()Christian Couder, Dec 28, 2013
  6. 05/10 t6050: show that git cat-file --batch fails with replace objectsChristian Couder, Dec 28, 2013
  7. 06/10 sha1_file: perform object replacement in sha1_object_info_extended()Christian Couder, Dec 28, 2013
  8. 07/10 builtin/replace: teach listing using short, medium or long formatsChristian Couder, Dec 28, 2013
  9. 08/10 t6050: add tests for listing with --formatChristian Couder, Dec 28, 2013
  10. 09/10 builtin/replace: unset read_replace_refsChristian Couder, Dec 28, 2013
  11. 10/10 Documentation/git-replace: describe --format optionChristian Couder, Dec 28, 2013
  12. Junio C HamanoDec 30, 2013
  13. Christian CouderDec 31, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.