Browse Source

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Christian Couder 11 years ago committed by Junio C Hamano
parent
commit
663a8566be
  1. 4
      Documentation/git-replace.txt
  2. 24
      builtin/replace.c
  3. 4
      t/t6050-replace.sh

4
Documentation/git-replace.txt

@ -72,7 +72,7 @@ OPTIONS @@ -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: @@ -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

24
builtin/replace.c

@ -20,11 +20,15 @@ static const char * const git_replace_usage[] = { @@ -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, @@ -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) @@ -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);

4
t/t6050-replace.sh

@ -306,7 +306,7 @@ test_expect_success 'test --format medium' ' @@ -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' ' @@ -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
'


Loading…
Cancel
Save