]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'kn/clarify-update-ref-doc'
authorJunio C Hamano <gitster@pobox.com>
Wed, 10 Apr 2024 17:00:08 +0000 (10:00 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Apr 2024 17:00:08 +0000 (10:00 -0700)
Doc update, as a preparation to enhance "git update-ref --stdin".

* kn/clarify-update-ref-doc:
  githooks: use {old,new}-oid instead of {old,new}-value
  update-ref: use {old,new}-oid instead of {old,new}value

Documentation/git-update-ref.txt
Documentation/githooks.txt
builtin/update-ref.c
t/t1400-update-ref.sh

index 0561808cca04a6873909ad18a6fd5f6e9af8b8de..374a2ebd2b0bdaa1e0a8cb09e172f27d1fb5fada 100644 (file)
@@ -8,21 +8,21 @@ git-update-ref - Update the object name stored in a ref safely
 SYNOPSIS
 --------
 [verse]
-'git update-ref' [-m <reason>] [--no-deref] (-d <ref> [<oldvalue>] | [--create-reflog] <ref> <newvalue> [<oldvalue>] | --stdin [-z])
+'git update-ref' [-m <reason>] [--no-deref] (-d <ref> [<old-oid>] | [--create-reflog] <ref> <new-oid> [<old-oid>] | --stdin [-z])
 
 DESCRIPTION
 -----------
-Given two arguments, stores the <newvalue> in the <ref>, possibly
+Given two arguments, stores the <new-oid> in the <ref>, possibly
 dereferencing the symbolic refs.  E.g. `git update-ref HEAD
-<newvalue>` updates the current branch head to the new object.
+<new-oid>` updates the current branch head to the new object.
 
-Given three arguments, stores the <newvalue> in the <ref>,
+Given three arguments, stores the <new-oid> in the <ref>,
 possibly dereferencing the symbolic refs, after verifying that
-the current value of the <ref> matches <oldvalue>.
-E.g. `git update-ref refs/heads/master <newvalue> <oldvalue>`
-updates the master branch head to <newvalue> only if its current
-value is <oldvalue>.  You can specify 40 "0" or an empty string
-as <oldvalue> to make sure that the ref you are creating does
+the current value of the <ref> matches <old-oid>.
+E.g. `git update-ref refs/heads/master <new-oid> <old-oid>`
+updates the master branch head to <new-oid> only if its current
+value is <old-oid>.  You can specify 40 "0" or an empty string
+as <old-oid> to make sure that the ref you are creating does
 not exist.
 
 It also allows a "ref" file to be a symbolic pointer to another
@@ -56,15 +56,15 @@ ref symlink to some other tree, if you have copied a whole
 archive by creating a symlink tree).
 
 With `-d` flag, it deletes the named <ref> after verifying it
-still contains <oldvalue>.
+still contains <old-oid>.
 
 With `--stdin`, update-ref reads instructions from standard input and
 performs all modifications together.  Specify commands of the form:
 
-       update SP <ref> SP <newvalue> [SP <oldvalue>] LF
-       create SP <ref> SP <newvalue> LF
-       delete SP <ref> [SP <oldvalue>] LF
-       verify SP <ref> [SP <oldvalue>] LF
+       update SP <ref> SP <new-oid> [SP <old-oid>] LF
+       create SP <ref> SP <new-oid> LF
+       delete SP <ref> [SP <old-oid>] LF
+       verify SP <ref> [SP <old-oid>] LF
        option SP <opt> LF
        start LF
        prepare LF
@@ -82,10 +82,10 @@ specify a missing value, omit the value and its preceding SP entirely.
 Alternatively, use `-z` to specify in NUL-terminated format, without
 quoting:
 
-       update SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL
-       create SP <ref> NUL <newvalue> NUL
-       delete SP <ref> NUL [<oldvalue>] NUL
-       verify SP <ref> NUL [<oldvalue>] NUL
+       update SP <ref> NUL <new-oid> NUL [<old-oid>] NUL
+       create SP <ref> NUL <new-oid> NUL
+       delete SP <ref> NUL [<old-oid>] NUL
+       verify SP <ref> NUL [<old-oid>] NUL
        option SP <opt> NUL
        start NUL
        prepare NUL
@@ -100,22 +100,22 @@ recognizes as an object name.  Commands in any other format or a
 repeated <ref> produce an error.  Command meanings are:
 
 update::
-       Set <ref> to <newvalue> after verifying <oldvalue>, if given.
-       Specify a zero <newvalue> to ensure the ref does not exist
-       after the update and/or a zero <oldvalue> to make sure the
+       Set <ref> to <new-oid> after verifying <old-oid>, if given.
+       Specify a zero <new-oid> to ensure the ref does not exist
+       after the update and/or a zero <old-oid> to make sure the
        ref does not exist before the update.
 
 create::
-       Create <ref> with <newvalue> after verifying it does not
-       exist.  The given <newvalue> may not be zero.
+       Create <ref> with <new-oid> after verifying it does not
+       exist.  The given <new-oid> may not be zero.
 
 delete::
-       Delete <ref> after verifying it exists with <oldvalue>, if
-       given.  If given, <oldvalue> may not be zero.
+       Delete <ref> after verifying it exists with <old-oid>, if
+       given.  If given, <old-oid> may not be zero.
 
 verify::
-       Verify <ref> against <oldvalue> but do not change it.  If
-       <oldvalue> is zero or missing, the ref must not exist.
+       Verify <ref> against <old-oid> but do not change it.  If
+       <old-oid> is zero or missing, the ref must not exist.
 
 option::
        Modify the behavior of the next command naming a <ref>.
@@ -141,7 +141,7 @@ abort::
        Abort the transaction, releasing all locks if the transaction is in
        prepared state.
 
-If all <ref>s can be locked with matching <oldvalue>s
+If all <ref>s can be locked with matching <old-oid>s
 simultaneously, all modifications are performed.  Otherwise, no
 modifications are performed.  Note that while each individual
 <ref> is updated or deleted atomically, a concurrent reader may
@@ -161,7 +161,7 @@ formatted as:
 
 Where "oldsha1" is the 40 character hexadecimal value previously
 stored in <ref>, "newsha1" is the 40 character hexadecimal value of
-<newvalue> and "committer" is the committer's name, email address
+<new-oid> and "committer" is the committer's name, email address
 and date in the standard Git committer ident format.
 
 Optionally with -m:
index 37f91d5b50ca3ac9053bd687ee540ca87de21083..ee9b92c90da99df3dc77e2122ee9feead2d1de8e 100644 (file)
@@ -275,12 +275,12 @@ This hook executes once for the receive operation. It takes no
 arguments, but for each ref to be updated it receives on standard
 input a line of the format:
 
-  <old-value> SP <new-value> SP <ref-name> LF
+  <old-oid> SP <new-oid> SP <ref-name> LF
 
-where `<old-value>` is the old object name stored in the ref,
-`<new-value>` is the new object name to be stored in the ref and
+where `<old-oid>` is the old object name stored in the ref,
+`<new-oid>` is the new object name to be stored in the ref and
 `<ref-name>` is the full name of the ref.
-When creating a new ref, `<old-value>` is the all-zeroes object name.
+When creating a new ref, `<old-oid>` is the all-zeroes object name.
 
 If the hook exits with non-zero status, none of the refs will be
 updated. If the hook exits with zero, updating of individual refs can
@@ -503,13 +503,13 @@ given reference transaction is in:
 For each reference update that was added to the transaction, the hook
 receives on standard input a line of the format:
 
-  <old-value> SP <new-value> SP <ref-name> LF
+  <old-oid> SP <new-oid> SP <ref-name> LF
 
-where `<old-value>` is the old object name passed into the reference
-transaction, `<new-value>` is the new object name to be stored in the
+where `<old-oid>` is the old object name passed into the reference
+transaction, `<new-oid>` is the new object name to be stored in the
 ref and `<ref-name>` is the full name of the ref. When force updating
 the reference regardless of its current value or when the reference is
-to be created anew, `<old-value>` is the all-zeroes object name. To
+to be created anew, `<old-oid>` is the all-zeroes object name. To
 distinguish these cases, you can inspect the current value of
 `<ref-name>` via `git rev-parse`.
 
index 61338a01ecfc0ee4f029215149651bb9ac03da1e..e46afbc46d950df6f98dccc1908602470976618c 100644 (file)
@@ -9,8 +9,8 @@
 #include "repository.h"
 
 static const char * const git_update_ref_usage[] = {
-       N_("git update-ref [<options>] -d <refname> [<old-val>]"),
-       N_("git update-ref [<options>]    <refname> <new-val> [<old-val>]"),
+       N_("git update-ref [<options>] -d <refname> [<old-oid>]"),
+       N_("git update-ref [<options>]    <refname> <new-oid> [<old-oid>]"),
        N_("git update-ref [<options>] --stdin [-z]"),
        NULL
 };
@@ -77,14 +77,14 @@ static char *parse_refname(const char **next)
 }
 
 /*
- * The value being parsed is <oldvalue> (as opposed to <newvalue>; the
+ * The value being parsed is <old-oid> (as opposed to <new-oid>; the
  * difference affects which error messages are generated):
  */
 #define PARSE_SHA1_OLD 0x01
 
 /*
  * For backwards compatibility, accept an empty string for update's
- * <newvalue> in binary mode to be equivalent to specifying zeros.
+ * <new-oid> in binary mode to be equivalent to specifying zeros.
  */
 #define PARSE_SHA1_ALLOW_EMPTY 0x02
 
@@ -140,7 +140,7 @@ static int parse_next_oid(const char **next, const char *end,
                                goto invalid;
                } else if (flags & PARSE_SHA1_ALLOW_EMPTY) {
                        /* With -z, treat an empty value as all zeros: */
-                       warning("%s %s: missing <newvalue>, treating as zero",
+                       warning("%s %s: missing <new-oid>, treating as zero",
                                command, refname);
                        oidclr(oid);
                } else {
@@ -158,14 +158,14 @@ static int parse_next_oid(const char **next, const char *end,
 
  invalid:
        die(flags & PARSE_SHA1_OLD ?
-           "%s %s: invalid <oldvalue>: %s" :
-           "%s %s: invalid <newvalue>: %s",
+           "%s %s: invalid <old-oid>: %s" :
+           "%s %s: invalid <new-oid>: %s",
            command, refname, arg.buf);
 
  eof:
        die(flags & PARSE_SHA1_OLD ?
-           "%s %s: unexpected end of input when reading <oldvalue>" :
-           "%s %s: unexpected end of input when reading <newvalue>",
+           "%s %s: unexpected end of input when reading <old-oid>" :
+           "%s %s: unexpected end of input when reading <new-oid>",
            command, refname);
 }
 
@@ -194,7 +194,7 @@ static void parse_cmd_update(struct ref_transaction *transaction,
 
        if (parse_next_oid(&next, end, &new_oid, "update", refname,
                           PARSE_SHA1_ALLOW_EMPTY))
-               die("update %s: missing <newvalue>", refname);
+               die("update %s: missing <new-oid>", refname);
 
        have_old = !parse_next_oid(&next, end, &old_oid, "update", refname,
                                   PARSE_SHA1_OLD);
@@ -225,10 +225,10 @@ static void parse_cmd_create(struct ref_transaction *transaction,
                die("create: missing <ref>");
 
        if (parse_next_oid(&next, end, &new_oid, "create", refname, 0))
-               die("create %s: missing <newvalue>", refname);
+               die("create %s: missing <new-oid>", refname);
 
        if (is_null_oid(&new_oid))
-               die("create %s: zero <newvalue>", refname);
+               die("create %s: zero <new-oid>", refname);
 
        if (*next != line_termination)
                die("create %s: extra input: %s", refname, next);
@@ -260,7 +260,7 @@ static void parse_cmd_delete(struct ref_transaction *transaction,
                have_old = 0;
        } else {
                if (is_null_oid(&old_oid))
-                       die("delete %s: zero <oldvalue>", refname);
+                       die("delete %s: zero <old-oid>", refname);
                have_old = 1;
        }
 
index 6ebc3ef9453b71dbc7d90a052834af482dfd48ec..ec3443cc8786d126cbc0085de184b2e9af019566 100755 (executable)
@@ -622,7 +622,7 @@ test_expect_success 'stdin fails create with no ref' '
 test_expect_success 'stdin fails create with no new value' '
        echo "create $a" >stdin &&
        test_must_fail git update-ref --stdin <stdin 2>err &&
-       grep "fatal: create $a: missing <newvalue>" err
+       grep "fatal: create $a: missing <new-oid>" err
 '
 
 test_expect_success 'stdin fails create with too many arguments' '
@@ -640,7 +640,7 @@ test_expect_success 'stdin fails update with no ref' '
 test_expect_success 'stdin fails update with no new value' '
        echo "update $a" >stdin &&
        test_must_fail git update-ref --stdin <stdin 2>err &&
-       grep "fatal: update $a: missing <newvalue>" err
+       grep "fatal: update $a: missing <new-oid>" err
 '
 
 test_expect_success 'stdin fails update with too many arguments' '
@@ -765,21 +765,21 @@ test_expect_success 'stdin update ref fails with wrong old value' '
 test_expect_success 'stdin update ref fails with bad old value' '
        echo "update $c $m does-not-exist" >stdin &&
        test_must_fail git update-ref --stdin <stdin 2>err &&
-       grep "fatal: update $c: invalid <oldvalue>: does-not-exist" err &&
+       grep "fatal: update $c: invalid <old-oid>: does-not-exist" err &&
        test_must_fail git rev-parse --verify -q $c
 '
 
 test_expect_success 'stdin create ref fails with bad new value' '
        echo "create $c does-not-exist" >stdin &&
        test_must_fail git update-ref --stdin <stdin 2>err &&
-       grep "fatal: create $c: invalid <newvalue>: does-not-exist" err &&
+       grep "fatal: create $c: invalid <new-oid>: does-not-exist" err &&
        test_must_fail git rev-parse --verify -q $c
 '
 
 test_expect_success 'stdin create ref fails with zero new value' '
        echo "create $c " >stdin &&
        test_must_fail git update-ref --stdin <stdin 2>err &&
-       grep "fatal: create $c: zero <newvalue>" err &&
+       grep "fatal: create $c: zero <new-oid>" err &&
        test_must_fail git rev-parse --verify -q $c
 '
 
@@ -803,7 +803,7 @@ test_expect_success 'stdin delete ref fails with wrong old value' '
 test_expect_success 'stdin delete ref fails with zero old value' '
        echo "delete $a " >stdin &&
        test_must_fail git update-ref --stdin <stdin 2>err &&
-       grep "fatal: delete $a: zero <oldvalue>" err &&
+       grep "fatal: delete $a: zero <old-oid>" err &&
        git rev-parse $m >expect &&
        git rev-parse $a >actual &&
        test_cmp expect actual
@@ -1027,7 +1027,7 @@ test_expect_success 'stdin -z fails create with no ref' '
 test_expect_success 'stdin -z fails create with no new value' '
        printf $F "create $a" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: create $a: unexpected end of input when reading <newvalue>" err
+       grep "fatal: create $a: unexpected end of input when reading <new-oid>" err
 '
 
 test_expect_success 'stdin -z fails create with too many arguments' '
@@ -1045,27 +1045,27 @@ test_expect_success 'stdin -z fails update with no ref' '
 test_expect_success 'stdin -z fails update with too few args' '
        printf $F "update $a" "$m" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: update $a: unexpected end of input when reading <oldvalue>" err
+       grep "fatal: update $a: unexpected end of input when reading <old-oid>" err
 '
 
 test_expect_success 'stdin -z emits warning with empty new value' '
        git update-ref $a $m &&
        printf $F "update $a" "" "" >stdin &&
        git update-ref -z --stdin <stdin 2>err &&
-       grep "warning: update $a: missing <newvalue>, treating as zero" err &&
+       grep "warning: update $a: missing <new-oid>, treating as zero" err &&
        test_must_fail git rev-parse --verify -q $a
 '
 
 test_expect_success 'stdin -z fails update with no new value' '
        printf $F "update $a" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: update $a: unexpected end of input when reading <newvalue>" err
+       grep "fatal: update $a: unexpected end of input when reading <new-oid>" err
 '
 
 test_expect_success 'stdin -z fails update with no old value' '
        printf $F "update $a" "$m" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: update $a: unexpected end of input when reading <oldvalue>" err
+       grep "fatal: update $a: unexpected end of input when reading <old-oid>" err
 '
 
 test_expect_success 'stdin -z fails update with too many arguments' '
@@ -1083,7 +1083,7 @@ test_expect_success 'stdin -z fails delete with no ref' '
 test_expect_success 'stdin -z fails delete with no old value' '
        printf $F "delete $a" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: delete $a: unexpected end of input when reading <oldvalue>" err
+       grep "fatal: delete $a: unexpected end of input when reading <old-oid>" err
 '
 
 test_expect_success 'stdin -z fails delete with too many arguments' '
@@ -1101,7 +1101,7 @@ test_expect_success 'stdin -z fails verify with too many arguments' '
 test_expect_success 'stdin -z fails verify with no old value' '
        printf $F "verify $a" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: verify $a: unexpected end of input when reading <oldvalue>" err
+       grep "fatal: verify $a: unexpected end of input when reading <old-oid>" err
 '
 
 test_expect_success 'stdin -z fails option with unknown name' '
@@ -1160,7 +1160,7 @@ test_expect_success 'stdin -z update ref fails with wrong old value' '
 test_expect_success 'stdin -z update ref fails with bad old value' '
        printf $F "update $c" "$m" "does-not-exist" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: update $c: invalid <oldvalue>: does-not-exist" err &&
+       grep "fatal: update $c: invalid <old-oid>: does-not-exist" err &&
        test_must_fail git rev-parse --verify -q $c
 '
 
@@ -1178,14 +1178,14 @@ test_expect_success 'stdin -z create ref fails with bad new value' '
        git update-ref -d "$c" &&
        printf $F "create $c" "does-not-exist" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: create $c: invalid <newvalue>: does-not-exist" err &&
+       grep "fatal: create $c: invalid <new-oid>: does-not-exist" err &&
        test_must_fail git rev-parse --verify -q $c
 '
 
 test_expect_success 'stdin -z create ref fails with empty new value' '
        printf $F "create $c" "" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: create $c: missing <newvalue>" err &&
+       grep "fatal: create $c: missing <new-oid>" err &&
        test_must_fail git rev-parse --verify -q $c
 '
 
@@ -1209,7 +1209,7 @@ test_expect_success 'stdin -z delete ref fails with wrong old value' '
 test_expect_success 'stdin -z delete ref fails with zero old value' '
        printf $F "delete $a" "$Z" >stdin &&
        test_must_fail git update-ref -z --stdin <stdin 2>err &&
-       grep "fatal: delete $a: zero <oldvalue>" err &&
+       grep "fatal: delete $a: zero <old-oid>" err &&
        git rev-parse $m >expect &&
        git rev-parse $a >actual &&
        test_cmp expect actual