summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/CodingGuidelines12
-rw-r--r--Documentation/RelNotes/2.13.1.txt114
-rw-r--r--Documentation/config.txt50
-rw-r--r--Documentation/git-bisect-lk2009.txt4
-rw-r--r--Documentation/git-filter-branch.txt5
-rw-r--r--Documentation/git-interpret-trailers.txt2
-rw-r--r--Documentation/git-read-tree.txt2
-rw-r--r--Documentation/git-rev-parse.txt12
-rw-r--r--Documentation/git-tag.txt2
-rw-r--r--Documentation/git.txt510
-rw-r--r--Documentation/gitcredentials.txt20
-rw-r--r--Documentation/gitweb.txt2
-rw-r--r--Documentation/pretty-formats.txt2
-rw-r--r--Documentation/technical/api-directory-listing.txt6
-rw-r--r--Documentation/technical/pack-protocol.txt32
15 files changed, 212 insertions, 563 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index a4191aa388..c4cb5ff0d4 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -24,7 +24,7 @@ code. For Git in general, a few rough rules are:
"Once it _is_ in the tree, it's not really worth the patch noise to
go and fix it up."
- Cf. http://article.gmane.org/gmane.linux.kernel/943020
+ Cf. http://lkml.iu.edu/hypermail/linux/kernel/1001.3/01069.html
Make your code readable and sensible, and don't try to be clever.
@@ -256,12 +256,12 @@ For C programs:
Note however that a comment that explains a translatable string to
translators uses a convention of starting with a magic token
- "TRANSLATORS: " immediately after the opening delimiter, even when
- it spans multiple lines. We do not add an asterisk at the beginning
- of each line, either. E.g.
+ "TRANSLATORS: ", e.g.
- /* TRANSLATORS: here is a comment that explains the string
- to be translated, that follows immediately after it */
+ /*
+ * TRANSLATORS: here is a comment that explains the string to
+ * be translated, that follows immediately after it.
+ */
_("Here is a translatable string explained by the above.");
- Double negation is often harder to understand than no negation
diff --git a/Documentation/RelNotes/2.13.1.txt b/Documentation/RelNotes/2.13.1.txt
new file mode 100644
index 0000000000..ed7cd976d9
--- /dev/null
+++ b/Documentation/RelNotes/2.13.1.txt
@@ -0,0 +1,114 @@
+Git v2.13.1 Release Notes
+=========================
+
+Fixes since v2.13
+-----------------
+
+ * The Web interface to gmane news archive is long gone, even though
+ the articles are still accessible via NTTP. Replace the links with
+ ones to public-inbox.org. Because their message identification is
+ based on the actual message-id, it is likely that it will be easier
+ to migrate away from it if/when necessary.
+
+ * Update tests to pass under GETTEXT_POISON (a mechanism to ensure
+ that output strings that should not be translated are not
+ translated by mistake), and tell TravisCI to run them.
+
+ * Setting "log.decorate=false" in the configuration file did not take
+ effect in v2.13, which has been corrected.
+
+ * An earlier update to test 7400 needed to be skipped on CYGWIN.
+
+ * Git sometimes gives an advice in a rhetorical question that does
+ not require an answer, which can confuse new users and non native
+ speakers. Attempt to rephrase them.
+
+ * "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use
+ --empty if you want to clear the index". With "-m", such a request
+ will still fail anyway, as you'd need to name at least one tree-ish
+ to be merged.
+
+ * The codepath in "git am" that is used when running "git rebase"
+ leaked memory held for the log message of the commits being rebased.
+
+ * "pack-objects" can stream a slice of an existing packfile out when
+ the pack bitmap can tell that the reachable objects are all needed
+ in the output, without inspecting individual objects. This
+ strategy however would not work well when "--local" and other
+ options are in use, and need to be disabled.
+
+ * Clarify documentation for include.path and includeIf.<condition>.path
+ configuration variables.
+
+ * Tag objects, which are not reachable from any ref, that point at
+ missing objects were mishandled by "git gc" and friends (they
+ should silently be ignored instead)
+
+ * A few http:// links that are redirected to https:// in the
+ documentation have been updated to https:// links.
+
+ * Make sure our tests would pass when the sources are checked out
+ with "platform native" line ending convention by default on
+ Windows. Some "text" files out tests use and the test scripts
+ themselves that are meant to be run with /bin/sh, ought to be
+ checked out with eol=LF even on Windows.
+
+ * Fix memory leaks pointed out by Coverity (and people).
+
+ * The receive-pack program now makes sure that the push certificate
+ records the same set of push options used for pushing.
+
+ * "git cherry-pick" and other uses of the sequencer machinery
+ mishandled a trailer block whose last line is an incomplete line.
+ This has been fixed so that an additional sign-off etc. are added
+ after completing the existing incomplete line.
+
+ * The shell completion script (in contrib/) learned "git stash" has
+ a new "push" subcommand.
+
+ * Travis CI gained a task to format the documentation with both
+ AsciiDoc and AsciiDoctor.
+
+ * Update the C style recommendation for notes for translators, as
+ recent versions of gettext tools can work with our style of
+ multi-line comments.
+
+ * "git clone --config var=val" is a way to populate the
+ per-repository configuration file of the new repository, but it did
+ not work well when val is an empty string. This has been fixed.
+
+ * A few codepaths in "checkout" and "am" working on an unborn branch
+ tried to access an uninitialized piece of memory.
+
+ * "git for-each-ref --format=..." with %(HEAD) in the format used to
+ resolve the HEAD symref as many times as it had processed refs,
+ which was wasteful, and "git branch" shared the same problem.
+
+ * "git interpret-trailers", when used as GIT_EDITOR for "git commit
+ -v", looked for and appended to a trailer block at the very end,
+ i.e. at the end of the "diff" output. The command has been
+ corrected to pay attention to the cut-mark line "commit -v" adds to
+ the buffer---the real trailer block should appear just before it.
+
+ * A test allowed both "git push" and "git receive-pack" on the other
+ end write their traces into the same file. This is OK on platforms
+ that allows atomically appending to a file opened with O_APPEND,
+ but on other platforms led to a mangled output, causing
+ intermittent test failures. This has been fixed by disabling
+ traces from "receive-pack" in the test.
+
+ * "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
+ slashes in it, cannot be a nickname for a remote on Windows, as
+ that is likely to be a pathname on a local filesystem.
+
+ * The "collision detecting" SHA-1 implementation shipped with 2.13
+ was quite broken on some big-endian platforms and/or platforms that
+ do not like unaligned fetches. Update to the upstream code which
+ has already fixed these issues.
+
+ * "git am -h" triggered a BUG().
+
+ * The interaction of "url.*.insteadOf" and custom URL scheme's
+ whitelisting is now documented better.
+
+Also contains various documentation updates and code clean-ups.
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 475e874d51..a6a589a735 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -79,14 +79,20 @@ escape sequences) are invalid.
Includes
~~~~~~~~
+The `include` and `includeIf` sections allow you to include config
+directives from another source. These sections behave identically to
+each other with the exception that `includeIf` sections may be ignored
+if their condition does not evaluate to true; see "Conditional includes"
+below.
+
You can include a config file from another by setting the special
-`include.path` variable to the name of the file to be included. The
-variable takes a pathname as its value, and is subject to tilde
-expansion. `include.path` can be given multiple times.
+`include.path` (or `includeIf.*.path`) variable to the name of the file
+to be included. The variable takes a pathname as its value, and is
+subject to tilde expansion. These variables can be given multiple times.
-The included file is expanded immediately, as if its contents had been
-found at the location of the include directive. If the value of the
-`include.path` variable is a relative path, the path is considered to
+The contents of the included file are inserted immediately, as if they
+had been found at the location of the include directive. If the value of the
+variable is a relative path, the path is considered to
be relative to the configuration file in which the include directive
was found. See below for examples.
@@ -95,8 +101,7 @@ Conditional includes
You can include a config file from another conditionally by setting a
`includeIf.<condition>.path` variable to the name of the file to be
-included. The variable's value is treated the same way as
-`include.path`. `includeIf.<condition>.path` can be given multiple times.
+included.
The condition starts with a keyword followed by a colon and some data
whose format and meaning depends on the keyword. Supported keywords
@@ -167,8 +172,8 @@ Example
[include]
path = /path/to/foo.inc ; include by absolute path
- path = foo ; expand "foo" relative to the current file
- path = ~/foo ; expand "foo" in your `$HOME` directory
+ path = foo.inc ; find "foo.inc" relative to the current file
+ path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory
; include if $GIT_DIR is /path/to/foo/.git
[includeIf "gitdir:/path/to/foo/.git"]
@@ -182,6 +187,12 @@ Example
[includeIf "gitdir:~/to/group/"]
path = /path/to/foo.inc
+ ; relative paths are always relative to the including
+ ; file (if the condition is true); their location is not
+ ; affected by the condition
+ [includeIf "gitdir:/path/to/group/"]
+ path = foo.inc
+
Values
~~~~~~
@@ -334,7 +345,7 @@ core.fileMode::
is to be honored.
+
Some filesystems lose the executable bit when a file that is
-marked as executable is checked out, or checks out an
+marked as executable is checked out, or checks out a
non-executable file with executable bit on.
linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem
to see if it handles the executable bit correctly
@@ -862,6 +873,7 @@ core.abbrev::
computed based on the approximate number of packed objects
in your repository, which hopefully is enough for
abbreviated object names to stay unique for some time.
+ The minimum length is 4.
add.ignoreErrors::
add.ignore-errors (deprecated)::
@@ -2140,6 +2152,10 @@ log.showRoot::
Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which
normally hide the root commit will now show it. True by default.
+log.showSignature::
+ If true, makes linkgit:git-log[1], linkgit:git-show[1], and
+ linkgit:git-whatchanged[1] assume `--show-signature`.
+
log.mailmap::
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
linkgit:git-whatchanged[1] assume `--use-mailmap`.
@@ -2620,9 +2636,8 @@ receive.advertiseAtomic::
capability, set this variable to false.
receive.advertisePushOptions::
- By default, git-receive-pack will advertise the push options
- capability to its clients. If you don't want to advertise this
- capability, set this variable to false.
+ When set to true, git-receive-pack will advertise the push options
+ capability to its clients. False by default.
receive.autogc::
By default, git-receive-pack will run "git-gc --auto" after
@@ -3208,6 +3223,13 @@ url.<base>.insteadOf::
the best alternative for the particular user, even for a
never-before-seen repository on the site. When more than one
insteadOf strings match a given URL, the longest match is used.
++
+Note that any protocol restrictions will be applied to the rewritten
+URL. If the rewrite changes the URL to use a custom protocol or remote
+helper, you may need to adjust the `protocol.*.allow` config to permit
+the request. In particular, protocols you expect to use for submodules
+must be set to `always` rather than the default of `user`. See the
+description of `protocol.allow` above.
url.<base>.pushInsteadOf::
Any URL that starts with this value will not be pushed to;
diff --git a/Documentation/git-bisect-lk2009.txt b/Documentation/git-bisect-lk2009.txt
index 8ac75fcc25..78479b003e 100644
--- a/Documentation/git-bisect-lk2009.txt
+++ b/Documentation/git-bisect-lk2009.txt
@@ -1350,9 +1350,9 @@ References
- [[[1]]] https://www.nist.gov/sites/default/files/documents/director/planning/report02-3.pdf['The Economic Impacts of Inadequate Infratructure for Software Testing'. Nist Planning Report 02-3], see Executive Summary and Chapter 8.
- [[[2]]] http://www.oracle.com/technetwork/java/codeconvtoc-136057.html['Code Conventions for the Java Programming Language'. Sun Microsystems.]
- [[[3]]] https://en.wikipedia.org/wiki/Software_maintenance['Software maintenance'. Wikipedia.]
-- [[[4]]] http://article.gmane.org/gmane.comp.version-control.git/45195/[Junio C Hamano. 'Automated bisect success story'. Gmane.]
+- [[[4]]] https://public-inbox.org/git/7vps5xsbwp.fsf_-_@assigned-by-dhcp.cox.net/[Junio C Hamano. 'Automated bisect success story'.]
- [[[5]]] https://lwn.net/Articles/317154/[Christian Couder. 'Fully automated bisecting with "git bisect run"'. LWN.net.]
- [[[6]]] https://lwn.net/Articles/277872/[Jonathan Corbet. 'Bisection divides users and developers'. LWN.net.]
-- [[[7]]] http://article.gmane.org/gmane.linux.scsi/36652/[Ingo Molnar. 'Re: BUG 2.6.23-rc3 can't see sd partitions on Alpha'. Gmane.]
+- [[[7]]] http://marc.info/?l=linux-kernel&m=119702753411680&w=2[Ingo Molnar. 'Re: BUG 2.6.23-rc3 can't see sd partitions on Alpha'. Linux-kernel mailing list.]
- [[[8]]] https://www.kernel.org/pub/software/scm/git/docs/git-bisect.html[Junio C Hamano and the git-list. 'git-bisect(1) Manual Page'. Linux Kernel Archives.]
- [[[9]]] https://github.com/Ealdwulf/bbchop[Ealdwulf. 'bbchop'. GitHub.]
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index 6e4bb02204..7b695dbb72 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -86,8 +86,7 @@ OPTIONS
This filter may be used if you only need to modify the environment
in which the commit will be performed. Specifically, you might
want to rewrite the author/committer name/email/time environment
- variables (see linkgit:git-commit-tree[1] for details). Do not forget
- to re-export the variables.
+ variables (see linkgit:git-commit-tree[1] for details).
--tree-filter <command>::
This is the filter for rewriting the tree and its contents.
@@ -340,12 +339,10 @@ git filter-branch --env-filter '
if test "$GIT_AUTHOR_EMAIL" = "root@localhost"
then
GIT_AUTHOR_EMAIL=john@example.com
- export GIT_AUTHOR_EMAIL
fi
if test "$GIT_COMMITTER_EMAIL" = "root@localhost"
then
GIT_COMMITTER_EMAIL=john@example.com
- export GIT_COMMITTER_EMAIL
fi
' -- --all
--------------------------------------------------------
diff --git a/Documentation/git-interpret-trailers.txt b/Documentation/git-interpret-trailers.txt
index 09074c75a4..31cdeaecdf 100644
--- a/Documentation/git-interpret-trailers.txt
+++ b/Documentation/git-interpret-trailers.txt
@@ -123,7 +123,7 @@ trailer.ifexists::
same <token> in the message.
+
The valid values for this option are: `addIfDifferentNeighbor` (this
-is the default), `addIfDifferent`, `add`, `overwrite` or `doNothing`.
+is the default), `addIfDifferent`, `add`, `replace` or `doNothing`.
+
With `addIfDifferentNeighbor`, a new trailer will be added only if no
trailer with the same (<token>, <value>) pair is above or below the line
diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index ed9d63ef4a..02576d8c0a 100644
--- a/Documentation/git-read-tree.txt
+++ b/Documentation/git-read-tree.txt
@@ -137,7 +137,7 @@ Merging
-------
If `-m` is specified, 'git read-tree' can perform 3 kinds of
merge, a single tree merge if only 1 tree is given, a
-fast-forward merge with 2 trees, or a 3-way merge if 3 trees are
+fast-forward merge with 2 trees, or a 3-way merge if 3 or more trees are
provided.
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index c40c470448..b1293f24bb 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -126,6 +126,12 @@ can be used.
'git diff-{asterisk}'). In contrast to the `--sq-quote` option,
the command input is still interpreted as usual.
+--short[=length]::
+ Same as `--verify` but shortens the object name to a unique
+ prefix with at least `length` characters. The minimum length
+ is 4, the default is the effective value of the `core.abbrev`
+ configuration variable (see linkgit:git-config[1]).
+
--not::
When showing object names, prefix them with '{caret}' and
strip '{caret}' prefix from the object names that already have
@@ -136,12 +142,6 @@ can be used.
The option core.warnAmbiguousRefs is used to select the strict
abbreviation mode.
---short::
---short=number::
- Instead of outputting the full SHA-1 values of object names try to
- abbreviate them to a shorter unique name. When no length is specified
- 7 is used. The minimum length is 4.
-
--symbolic::
Usually the object names are output in SHA-1 form (with
possible '{caret}' prefix); this option makes them output in a
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index f8a0b787f4..1eb15afa1c 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -12,7 +12,7 @@ SYNOPSIS
'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]
<tagname> [<commit> | <object>]
'git tag' -d <tagname>...
-'git tag' [-n[<num>]] -l [--contains <commit>] [--contains <commit>]
+'git tag' [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
[--points-at <object>] [--column[=<options>] | --no-column]
[--create-reflog] [--sort=<key>] [--format=<format>]
[--[no-]merged [<commit>]] [<pattern>...]
diff --git a/Documentation/git.txt b/Documentation/git.txt
index fb10314c1d..7dd5e03280 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -35,516 +35,6 @@ manual page gives you an overview of the command-line command syntax.
A formatted and hyperlinked copy of the latest Git documentation
can be viewed at `https://git.github.io/htmldocs/git.html`.
-ifdef::stalenotes[]
-[NOTE]
-============
-
-You are reading the documentation for the latest (possibly
-unreleased) version of Git, that is available from the 'master'
-branch of the `git.git` repository.
-Documentation for older releases are available here:
-
-* link:v2.13.0/git.html[documentation for release 2.13]
-
-* release notes for
- link:RelNotes/2.13.0.txt[2.13].
-
-
-* link:v2.12.3/git.html[documentation for release 2.12.3]
-
-* release notes for
- link:RelNotes/2.12.3.txt[2.12.3],
- link:RelNotes/2.12.2.txt[2.12.2],
- link:RelNotes/2.12.1.txt[2.12.1],
- link:RelNotes/2.12.0.txt[2.12].
-
-* link:v2.11.1/git.html[documentation for release 2.11.1]
-
-* release notes for
- link:RelNotes/2.11.2.txt[2.11.2],
- link:RelNotes/2.11.1.txt[2.11.1],
- link:RelNotes/2.11.0.txt[2.11].
-
-* link:v2.10.3/git.html[documentation for release 2.10.3]
-
-* release notes for
- link:RelNotes/2.10.3.txt[2.10.3],
- link:RelNotes/2.10.2.txt[2.10.2],
- link:RelNotes/2.10.1.txt[2.10.1],
- link:RelNotes/2.10.0.txt[2.10].
-
-* link:v2.9.4/git.html[documentation for release 2.9.4]
-
-* release notes for
- link:RelNotes/2.9.4.txt[2.9.4],
- link:RelNotes/2.9.3.txt[2.9.3],
- link:RelNotes/2.9.2.txt[2.9.2],
- link:RelNotes/2.9.1.txt[2.9.1],
- link:RelNotes/2.9.0.txt[2.9].
-
-* link:v2.8.5/git.html[documentation for release 2.8.5]
-
-* release notes for
- link:RelNotes/2.8.5.txt[2.8.5],
- link:RelNotes/2.8.4.txt[2.8.4],
- link:RelNotes/2.8.3.txt[2.8.3],
- link:RelNotes/2.8.2.txt[2.8.2],
- link:RelNotes/2.8.1.txt[2.8.1],
- link:RelNotes/2.8.0.txt[2.8].
-
-* link:v2.7.5/git.html[documentation for release 2.7.5]
-
-* release notes for
- link:RelNotes/2.7.5.txt[2.7.5],
- link:RelNotes/2.7.4.txt[2.7.4],
- link:RelNotes/2.7.3.txt[2.7.3],
- link:RelNotes/2.7.2.txt[2.7.2],
- link:RelNotes/2.7.1.txt[2.7.1],
- link:RelNotes/2.7.0.txt[2.7].
-
-* link:v2.6.7/git.html[documentation for release 2.6.7]
-
-* release notes for
- link:RelNotes/2.6.7.txt[2.6.7],
- link:RelNotes/2.6.6.txt[2.6.6],
- link:RelNotes/2.6.5.txt[2.6.5],
- link:RelNotes/2.6.4.txt[2.6.4],
- link:RelNotes/2.6.3.txt[2.6.3],
- link:RelNotes/2.6.2.txt[2.6.2],
- link:RelNotes/2.6.1.txt[2.6.1],
- link:RelNotes/2.6.0.txt[2.6].
-
-* link:v2.5.6/git.html[documentation for release 2.5.6]
-
-* release notes for
- link:RelNotes/2.5.6.txt[2.5.6],
- link:RelNotes/2.5.5.txt[2.5.5],
- link:RelNotes/2.5.4.txt[2.5.4],
- link:RelNotes/2.5.3.txt[2.5.3],
- link:RelNotes/2.5.2.txt[2.5.2],
- link:RelNotes/2.5.1.txt[2.5.1],
- link:RelNotes/2.5.0.txt[2.5].
-
-* link:v2.4.12/git.html[documentation for release 2.4.12]
-
-* release notes for
- link:RelNotes/2.4.12.txt[2.4.12],
- link:RelNotes/2.4.11.txt[2.4.11],
- link:RelNotes/2.4.10.txt[2.4.10],
- link:RelNotes/2.4.9.txt[2.4.9],
- link:RelNotes/2.4.8.txt[2.4.8],
- link:RelNotes/2.4.7.txt[2.4.7],
- link:RelNotes/2.4.6.txt[2.4.6],
- link:RelNotes/2.4.5.txt[2.4.5],
- link:RelNotes/2.4.4.txt[2.4.4],
- link:RelNotes/2.4.3.txt[2.4.3],
- link:RelNotes/2.4.2.txt[2.4.2],
- link:RelNotes/2.4.1.txt[2.4.1],
- link:RelNotes/2.4.0.txt[2.4].
-
-* link:v2.3.10/git.html[documentation for release 2.3.10]
-
-* release notes for
- link:RelNotes/2.3.10.txt[2.3.10],
- link:RelNotes/2.3.9.txt[2.3.9],
- link:RelNotes/2.3.8.txt[2.3.8],
- link:RelNotes/2.3.7.txt[2.3.7],
- link:RelNotes/2.3.6.txt[2.3.6],
- link:RelNotes/2.3.5.txt[2.3.5],
- link:RelNotes/2.3.4.txt[2.3.4],
- link:RelNotes/2.3.3.txt[2.3.3],
- link:RelNotes/2.3.2.txt[2.3.2],
- link:RelNotes/2.3.1.txt[2.3.1],
- link:RelNotes/2.3.0.txt[2.3].
-
-* link:v2.2.3/git.html[documentation for release 2.2.3]
-
-* release notes for
- link:RelNotes/2.2.3.txt[2.2.3],
- link:RelNotes/2.2.2.txt[2.2.2],
- link:RelNotes/2.2.1.txt[2.2.1],
- link:RelNotes/2.2.0.txt[2.2].
-
-* link:v2.1.4/git.html[documentation for release 2.1.4]
-
-* release notes for
- link:RelNotes/2.1.4.txt[2.1.4],
- link:RelNotes/2.1.3.txt[2.1.3],
- link:RelNotes/2.1.2.txt[2.1.2],
- link:RelNotes/2.1.1.txt[2.1.1],
- link:RelNotes/2.1.0.txt[2.1].
-
-* link:v2.0.5/git.html[documentation for release 2.0.5]
-
-* release notes for
- link:RelNotes/2.0.5.txt[2.0.5],
- link:RelNotes/2.0.4.txt[2.0.4],
- link:RelNotes/2.0.3.txt[2.0.3],
- link:RelNotes/2.0.2.txt[2.0.2],
- link:RelNotes/2.0.1.txt[2.0.1],
- link:RelNotes/2.0.0.txt[2.0.0].
-
-* link:v1.9.5/git.html[documentation for release 1.9.5]
-
-* release notes for
- link:RelNotes/1.9.5.txt[1.9.5],
- link:RelNotes/1.9.4.txt[1.9.4],
- link:RelNotes/1.9.3.txt[1.9.3],
- link:RelNotes/1.9.2.txt[1.9.2],
- link:RelNotes/1.9.1.txt[1.9.1],
- link:RelNotes/1.9.0.txt[1.9.0].
-
-* link:v1.8.5.6/git.html[documentation for release 1.8.5.6]
-
-* release notes for
- link:RelNotes/1.8.5.6.txt[1.8.5.6],
- link:RelNotes/1.8.5.5.txt[1.8.5.5],
- link:RelNotes/1.8.5.4.txt[1.8.5.4],
- link:RelNotes/1.8.5.3.txt[1.8.5.3],
- link:RelNotes/1.8.5.2.txt[1.8.5.2],
- link:RelNotes/1.8.5.1.txt[1.8.5.1],
- link:RelNotes/1.8.5.txt[1.8.5].
-
-* link:v1.8.4.5/git.html[documentation for release 1.8.4.5]
-
-* release notes for
- link:RelNotes/1.8.4.5.txt[1.8.4.5],
- link:RelNotes/1.8.4.4.txt[1.8.4.4],
- link:RelNotes/1.8.4.3.txt[1.8.4.3],
- link:RelNotes/1.8.4.2.txt[1.8.4.2],
- link:RelNotes/1.8.4.1.txt[1.8.4.1],
- link:RelNotes/1.8.4.txt[1.8.4].
-
-* link:v1.8.3.4/git.html[documentation for release 1.8.3.4]
-
-* release notes for
- link:RelNotes/1.8.3.4.txt[1.8.3.4],
- link:RelNotes/1.8.3.3.txt[1.8.3.3],
- link:RelNotes/1.8.3.2.txt[1.8.3.2],
- link:RelNotes/1.8.3.1.txt[1.8.3.1],
- link:RelNotes/1.8.3.txt[1.8.3].
-
-* link:v1.8.2.3/git.html[documentation for release 1.8.2.3]
-
-* release notes for
- link:RelNotes/1.8.2.3.txt[1.8.2.3],
- link:RelNotes/1.8.2.2.txt[1.8.2.2],
- link:RelNotes/1.8.2.1.txt[1.8.2.1],
- link:RelNotes/1.8.2.txt[1.8.2].
-
-* link:v1.8.1.6/git.html[documentation for release 1.8.1.6]
-
-* release notes for
- link:RelNotes/1.8.1.6.txt[1.8.1.6],
- link:RelNotes/1.8.1.5.txt[1.8.1.5],
- link:RelNotes/1.8.1.4.txt[1.8.1.4],
- link:RelNotes/1.8.1.3.txt[1.8.1.3],
- link:RelNotes/1.8.1.2.txt[1.8.1.2],
- link:RelNotes/1.8.1.1.txt[1.8.1.1],
- link:RelNotes/1.8.1.txt[1.8.1].
-
-* link:v1.8.0.3/git.html[documentation for release 1.8.0.3]
-
-* release notes for
- link:RelNotes/1.8.0.3.txt[1.8.0.3],
- link:RelNotes/1.8.0.2.txt[1.8.0.2],
- link:RelNotes/1.8.0.1.txt[1.8.0.1],
- link:RelNotes/1.8.0.txt[1.8.0].
-
-* link:v1.7.12.4/git.html[documentation for release 1.7.12.4]
-
-* release notes for
- link:RelNotes/1.7.12.4.txt[1.7.12.4],
- link:RelNotes/1.7.12.3.txt[1.7.12.3],
- link:RelNotes/1.7.12.2.txt[1.7.12.2],
- link:RelNotes/1.7.12.1.txt[1.7.12.1],
- link:RelNotes/1.7.12.txt[1.7.12].
-
-* link:v1.7.11.7/git.html[documentation for release 1.7.11.7]
-
-* release notes for
- link:RelNotes/1.7.11.7.txt[1.7.11.7],
- link:RelNotes/1.7.11.6.txt[1.7.11.6],
- link:RelNotes/1.7.11.5.txt[1.7.11.5],
- link:RelNotes/1.7.11.4.txt[1.7.11.4],
- link:RelNotes/1.7.11.3.txt[1.7.11.3],
- link:RelNotes/1.7.11.2.txt[1.7.11.2],
- link:RelNotes/1.7.11.1.txt[1.7.11.1],
- link:RelNotes/1.7.11.txt[1.7.11].
-
-* link:v1.7.10.5/git.html[documentation for release 1.7.10.5]
-
-* release notes for
- link:RelNotes/1.7.10.5.txt[1.7.10.5],
- link:RelNotes/1.7.10.4.txt[1.7.10.4],
- link:RelNotes/1.7.10.3.txt[1.7.10.3],
- link:RelNotes/1.7.10.2.txt[1.7.10.2],
- link:RelNotes/1.7.10.1.txt[1.7.10.1],
- link:RelNotes/1.7.10.txt[1.7.10].
-
-* link:v1.7.9.7/git.html[documentation for release 1.7.9.7]
-
-* release notes for
- link:RelNotes/1.7.9.7.txt[1.7.9.7],
- link:RelNotes/1.7.9.6.txt[1.7.9.6],
- link:RelNotes/1.7.9.5.txt[1.7.9.5],
- link:RelNotes/1.7.9.4.txt[1.7.9.4],
- link:RelNotes/1.7.9.3.txt[1.7.9.3],
- link:RelNotes/1.7.9.2.txt[1.7.9.2],
- link:RelNotes/1.7.9.1.txt[1.7.9.1],
- link:RelNotes/1.7.9.txt[1.7.9].
-
-* link:v1.7.8.6/git.html[documentation for release 1.7.8.6]
-
-* release notes for
- link:RelNotes/1.7.8.6.txt[1.7.8.6],
- link:RelNotes/1.7.8.5.txt[1.7.8.5],
- link:RelNotes/1.7.8.4.txt[1.7.8.4],
- link:RelNotes/1.7.8.3.txt[1.7.8.3],
- link:RelNotes/1.7.8.2.txt[1.7.8.2],
- link:RelNotes/1.7.8.1.txt[1.7.8.1],
- link:RelNotes/1.7.8.txt[1.7.8].
-
-* link:v1.7.7.7/git.html[documentation for release 1.7.7.7]
-
-* release notes for
- link:RelNotes/1.7.7.7.txt[1.7.7.7],
- link:RelNotes/1.7.7.6.txt[1.7.7.6],
- link:RelNotes/1.7.7.5.txt[1.7.7.5],
- link:RelNotes/1.7.7.4.txt[1.7.7.4],
- link:RelNotes/1.7.7.3.txt[1.7.7.3],
- link:RelNotes/1.7.7.2.txt[1.7.7.2],
- link:RelNotes/1.7.7.1.txt[1.7.7.1],
- link:RelNotes/1.7.7.txt[1.7.7].
-
-* link:v1.7.6.6/git.html[documentation for release 1.7.6.6]
-
-* release notes for
- link:RelNotes/1.7.6.6.txt[1.7.6.6],
- link:RelNotes/1.7.6.5.txt[1.7.6.5],
- link:RelNotes/1.7.6.4.txt[1.7.6.4],
- link:RelNotes/1.7.6.3.txt[1.7.6.3],
- link:RelNotes/1.7.6.2.txt[1.7.6.2],
- link:RelNotes/1.7.6.1.txt[1.7.6.1],
- link:RelNotes/1.7.6.txt[1.7.6].
-
-* link:v1.7.5.4/git.html[documentation for release 1.7.5.4]
-
-* release notes for
- link:RelNotes/1.7.5.4.txt[1.7.5.4],
- link:RelNotes/1.7.5.3.txt[1.7.5.3],
- link:RelNotes/1.7.5.2.txt[1.7.5.2],
- link:RelNotes/1.7.5.1.txt[1.7.5.1],
- link:RelNotes/1.7.5.txt[1.7.5].
-
-* link:v1.7.4.5/git.html[documentation for release 1.7.4.5]
-
-* release notes for
- link:RelNotes/1.7.4.5.txt[1.7.4.5],
- link:RelNotes/1.7.4.4.txt[1.7.4.4],
- link:RelNotes/1.7.4.3.txt[1.7.4.3],
- link:RelNotes/1.7.4.2.txt[1.7.4.2],
- link:RelNotes/1.7.4.1.txt[1.7.4.1],
- link:RelNotes/1.7.4.txt[1.7.4].
-
-* link:v1.7.3.5/git.html[documentation for release 1.7.3.5]
-
-* release notes for
- link:RelNotes/1.7.3.5.txt[1.7.3.5],
- link:RelNotes/1.7.3.4.txt[1.7.3.4],
- link:RelNotes/1.7.3.3.txt[1.7.3.3],
- link:RelNotes/1.7.3.2.txt[1.7.3.2],
- link:RelNotes/1.7.3.1.txt[1.7.3.1],
- link:RelNotes/1.7.3.txt[1.7.3].
-
-* link:v1.7.2.5/git.html[documentation for release 1.7.2.5]
-
-* release notes for
- link:RelNotes/1.7.2.5.txt[1.7.2.5],
- link:RelNotes/1.7.2.4.txt[1.7.2.4],
- link:RelNotes/1.7.2.3.txt[1.7.2.3],
- link:RelNotes/1.7.2.2.txt[1.7.2.2],
- link:RelNotes/1.7.2.1.txt[1.7.2.1],
- link:RelNotes/1.7.2.txt[1.7.2].
-
-* link:v1.7.1.4/git.html[documentation for release 1.7.1.4]
-
-* release notes for
- link:RelNotes/1.7.1.4.txt[1.7.1.4],
- link:RelNotes/1.7.1.3.txt[1.7.1.3],
- link:RelNotes/1.7.1.2.txt[1.7.1.2],
- link:RelNotes/1.7.1.1.txt[1.7.1.1],
- link:RelNotes/1.7.1.txt[1.7.1].
-
-* link:v1.7.0.9/git.html[documentation for release 1.7.0.9]
-
-* release notes for
- link:RelNotes/1.7.0.9.txt[1.7.0.9],
- link:RelNotes/1.7.0.8.txt[1.7.0.8],
- link:RelNotes/1.7.0.7.txt[1.7.0.7],
- link:RelNotes/1.7.0.6.txt[1.7.0.6],
- link:RelNotes/1.7.0.5.txt[1.7.0.5],
- link:RelNotes/1.7.0.4.txt[1.7.0.4],
- link:RelNotes/1.7.0.3.txt[1.7.0.3],
- link:RelNotes/1.7.0.2.txt[1.7.0.2],
- link:RelNotes/1.7.0.1.txt[1.7.0.1],
- link:RelNotes/1.7.0.txt[1.7.0].
-
-* link:v1.6.6.3/git.html[documentation for release 1.6.6.3]
-
-* release notes for
- link:RelNotes/1.6.6.3.txt[1.6.6.3],
- link:RelNotes/1.6.6.2.txt[1.6.6.2],
- link:RelNotes/1.6.6.1.txt[1.6.6.1],
- link:RelNotes/1.6.6.txt[1.6.6].
-
-* link:v1.6.5.9/git.html[documentation for release 1.6.5.9]
-
-* release notes for
- link:RelNotes/1.6.5.9.txt[1.6.5.9],
- link:RelNotes/1.6.5.8.txt[1.6.5.8],
- link:RelNotes/1.6.5.7.txt[1.6.5.7],
- link:RelNotes/1.6.5.6.txt[1.6.5.6],
- link:RelNotes/1.6.5.5.txt[1.6.5.5],
- link:RelNotes/1.6.5.4.txt[1.6.5.4],
- link:RelNotes/1.6.5.3.txt[1.6.5.3],
- link:RelNotes/1.6.5.2.txt[1.6.5.2],
- link:RelNotes/1.6.5.1.txt[1.6.5.1],
- link:RelNotes/1.6.5.txt[1.6.5].
-
-* link:v1.6.4.5/git.html[documentation for release 1.6.4.5]
-
-* release notes for
- link:RelNotes/1.6.4.5.txt[1.6.4.5],
- link:RelNotes/1.6.4.4.txt[1.6.4.4],
- link:RelNotes/1.6.4.3.txt[1.6.4.3],
- link:RelNotes/1.6.4.2.txt[1.6.4.2],
- link:RelNotes/1.6.4.1.txt[1.6.4.1],
- link:RelNotes/1.6.4.txt[1.6.4].
-
-* link:v1.6.3.4/git.html[documentation for release 1.6.3.4]
-
-* release notes for
- link:RelNotes/1.6.3.4.txt[1.6.3.4],
- link:RelNotes/1.6.3.3.txt[1.6.3.3],
- link:RelNotes/1.6.3.2.txt[1.6.3.2],
- link:RelNotes/1.6.3.1.txt[1.6.3.1],
- link:RelNotes/1.6.3.txt[1.6.3].
-
-* release notes for
- link:RelNotes/1.6.2.5.txt[1.6.2.5],
- link:RelNotes/1.6.2.4.txt[1.6.2.4],
- link:RelNotes/1.6.2.3.txt[1.6.2.3],
- link:RelNotes/1.6.2.2.txt[1.6.2.2],
- link:RelNotes/1.6.2.1.txt[1.6.2.1],
- link:RelNotes/1.6.2.txt[1.6.2].
-
-* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
-
-* release notes for
- link:RelNotes/1.6.1.3.txt[1.6.1.3],
- link:RelNotes/1.6.1.2.txt[1.6.1.2],
- link:RelNotes/1.6.1.1.txt[1.6.1.1],
- link:RelNotes/1.6.1.txt[1.6.1].
-
-* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
-
-* release notes for
- link:RelNotes/1.6.0.6.txt[1.6.0.6],
- link:RelNotes/1.6.0.5.txt[1.6.0.5],
- link:RelNotes/1.6.0.4.txt[1.6.0.4],
- link:RelNotes/1.6.0.3.txt[1.6.0.3],
- link:RelNotes/1.6.0.2.txt[1.6.0.2],
- link:RelNotes/1.6.0.1.txt[1.6.0.1],
- link:RelNotes/1.6.0.txt[1.6.0].
-
-* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
-
-* release notes for
- link:RelNotes/1.5.6.6.txt[1.5.6.6],
- link:RelNotes/1.5.6.5.txt[1.5.6.5],
- link:RelNotes/1.5.6.4.txt[1.5.6.4],
- link:RelNotes/1.5.6.3.txt[1.5.6.3],
- link:RelNotes/1.5.6.2.txt[1.5.6.2],
- link:RelNotes/1.5.6.1.txt[1.5.6.1],
- link:RelNotes/1.5.6.txt[1.5.6].
-
-* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
-
-* release notes for
- link:RelNotes/1.5.5.6.txt[1.5.5.6],
- link:RelNotes/1.5.5.5.txt[1.5.5.5],
- link:RelNotes/1.5.5.4.txt[1.5.5.4],
- link:RelNotes/1.5.5.3.txt[1.5.5.3],
- link:RelNotes/1.5.5.2.txt[1.5.5.2],
- link:RelNotes/1.5.5.1.txt[1.5.5.1],
- link:RelNotes/1.5.5.txt[1.5.5].
-
-* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
-
-* release notes for
- link:RelNotes/1.5.4.7.txt[1.5.4.7],
- link:RelNotes/1.5.4.6.txt[1.5.4.6],
- link:RelNotes/1.5.4.5.txt[1.5.4.5],
- link:RelNotes/1.5.4.4.txt[1.5.4.4],
- link:RelNotes/1.5.4.3.txt[1.5.4.3],
- link:RelNotes/1.5.4.2.txt[1.5.4.2],
- link:RelNotes/1.5.4.1.txt[1.5.4.1],
- link:RelNotes/1.5.4.txt[1.5.4].
-
-* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
-
-* release notes for
- link:RelNotes/1.5.3.8.txt[1.5.3.8],
- link:RelNotes/1.5.3.7.txt[1.5.3.7],
- link:RelNotes/1.5.3.6.txt[1.5.3.6],
- link:RelNotes/1.5.3.5.txt[1.5.3.5],
- link:RelNotes/1.5.3.4.txt[1.5.3.4],
- link:RelNotes/1.5.3.3.txt[1.5.3.3],
- link:RelNotes/1.5.3.2.txt[1.5.3.2],
- link:RelNotes/1.5.3.1.txt[1.5.3.1],
- link:RelNotes/1.5.3.txt[1.5.3].
-
-* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
-
-* release notes for
- link:RelNotes/1.5.2.5.txt[1.5.2.5],
- link:RelNotes/1.5.2.4.txt[1.5.2.4],
- link:RelNotes/1.5.2.3.txt[1.5.2.3],
- link:RelNotes/1.5.2.2.txt[1.5.2.2],
- link:RelNotes/1.5.2.1.txt[1.5.2.1],
- link:RelNotes/1.5.2.txt[1.5.2].
-
-* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
-
-* release notes for
- link:RelNotes/1.5.1.6.txt[1.5.1.6],
- link:RelNotes/1.5.1.5.txt[1.5.1.5],
- link:RelNotes/1.5.1.4.txt[1.5.1.4],
- link:RelNotes/1.5.1.3.txt[1.5.1.3],
- link:RelNotes/1.5.1.2.txt[1.5.1.2],
- link:RelNotes/1.5.1.1.txt[1.5.1.1],
- link:RelNotes/1.5.1.txt[1.5.1].
-
-* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
-
-* release notes for
- link:RelNotes/1.5.0.7.txt[1.5.0.7],
- link:RelNotes/1.5.0.6.txt[1.5.0.6],
- link:RelNotes/1.5.0.5.txt[1.5.0.5],
- link:RelNotes/1.5.0.3.txt[1.5.0.3],
- link:RelNotes/1.5.0.2.txt[1.5.0.2],
- link:RelNotes/1.5.0.1.txt[1.5.0.1],
- link:RelNotes/1.5.0.txt[1.5.0].
-
-* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
- link:v1.3.3/git.html[1.3.3],
- link:v1.2.6/git.html[1.2.6],
- link:v1.0.13/git.html[1.0.13].
-
-============
-
-endif::stalenotes[]
OPTIONS
-------
diff --git a/Documentation/gitcredentials.txt b/Documentation/gitcredentials.txt
index f3a75d1ce1..f970196bc1 100644
--- a/Documentation/gitcredentials.txt
+++ b/Documentation/gitcredentials.txt
@@ -101,16 +101,6 @@ $ git help credential-foo
$ git config --global credential.helper foo
-------------------------------------------
-If there are multiple instances of the `credential.helper` configuration
-variable, each helper will be tried in turn, and may provide a username,
-password, or nothing. Once Git has acquired both a username and a
-password, no more helpers will be tried.
-
-If `credential.helper` is configured to the empty string, this resets
-the helper list to empty (so you may override a helper set by a
-lower-priority config file by configuring the empty-string helper,
-followed by whatever set of helpers you would like).
-
CREDENTIAL CONTEXTS
-------------------
@@ -162,6 +152,16 @@ helper::
shell (so, for example, setting this to `foo --option=bar` will execute
`git credential-foo --option=bar` via the shell. See the manual of
specific helpers for examples of their use.
++
+If there are multiple instances of the `credential.helper` configuration
+variable, each helper will be tried in turn, and may provide a username,
+password, or nothing. Once Git has acquired both a username and a
+password, no more helpers will be tried.
++
+If `credential.helper` is configured to the empty string, this resets
+the helper list to empty (so you may override a helper set by a
+lower-priority config file by configuring the empty-string helper,
+followed by whatever set of helpers you would like).
username::
diff --git a/Documentation/gitweb.txt b/Documentation/gitweb.txt
index 96156e5e1f..88450589af 100644
--- a/Documentation/gitweb.txt
+++ b/Documentation/gitweb.txt
@@ -84,7 +84,7 @@ separator (rules for Perl's "`split(" ", $line)`").
* Fields use modified URI encoding, defined in RFC 3986, section 2.1
(Percent-Encoding), or rather "Query string encoding" (see
-http://en.wikipedia.org/wiki/Query_string#URL_encoding[]), the difference
+https://en.wikipedia.org/wiki/Query_string#URL_encoding[]), the difference
being that SP (" ") can be encoded as "{plus}" (and therefore "{plus}" has to be
also percent-encoded).
+
diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt
index 47b286b33e..38040e95b5 100644
--- a/Documentation/pretty-formats.txt
+++ b/Documentation/pretty-formats.txt
@@ -199,7 +199,7 @@ endif::git-rev-list[]
than given and there are spaces on its left, use those spaces
- '%><(<N>)', '%><|(<N>)': similar to '% <(<N>)', '%<|(<N>)'
respectively, but padding both sides (i.e. the text is centered)
--%(trailers): display the trailers of the body as interpreted by
+- %(trailers): display the trailers of the body as interpreted by
linkgit:git-interpret-trailers[1]
NOTE: Some placeholders may depend on other options given to the
diff --git a/Documentation/technical/api-directory-listing.txt b/Documentation/technical/api-directory-listing.txt
index 7f8e78d916..6c77b4920c 100644
--- a/Documentation/technical/api-directory-listing.txt
+++ b/Documentation/technical/api-directory-listing.txt
@@ -33,6 +33,12 @@ The notable options are:
Similar to `DIR_SHOW_IGNORED`, but return ignored files in `ignored[]`
in addition to untracked files in `entries[]`.
+`DIR_KEEP_UNTRACKED_CONTENTS`:::
+
+ Only has meaning if `DIR_SHOW_IGNORED_TOO` is also set; if this is set, the
+ untracked contents of untracked directories are also returned in
+ `entries[]`.
+
`DIR_COLLECT_IGNORED`:::
Special mode for git-add. Return ignored files in `ignored[]` and
diff --git a/Documentation/technical/pack-protocol.txt b/Documentation/technical/pack-protocol.txt
index 5b0ba3ef20..a34917153f 100644
--- a/Documentation/technical/pack-protocol.txt
+++ b/Documentation/technical/pack-protocol.txt
@@ -473,13 +473,10 @@ that it wants to update, it sends a line listing the obj-id currently on
the server, the obj-id the client would like to update it to and the name
of the reference.
-This list is followed by a flush-pkt. Then the push options are transmitted
-one per packet followed by another flush-pkt. After that the packfile that
-should contain all the objects that the server will need to complete the new
-references will be sent.
+This list is followed by a flush-pkt.
----
- update-request = *shallow ( command-list | push-cert ) [packfile]
+ update-requests = *shallow ( command-list | push-cert )
shallow = PKT-LINE("shallow" SP obj-id)
@@ -500,12 +497,35 @@ references will be sent.
PKT-LINE("pusher" SP ident LF)
PKT-LINE("pushee" SP url LF)
PKT-LINE("nonce" SP nonce LF)
+ *PKT-LINE("push-option" SP push-option LF)
PKT-LINE(LF)
*PKT-LINE(command LF)
*PKT-LINE(gpg-signature-lines LF)
PKT-LINE("push-cert-end" LF)
- packfile = "PACK" 28*(OCTET)
+ push-option = 1*( VCHAR | SP )
+----
+
+If the server has advertised the 'push-options' capability and the client has
+specified 'push-options' as part of the capability list above, the client then
+sends its push options followed by a flush-pkt.
+
+----
+ push-options = *PKT-LINE(push-option) flush-pkt
+----
+
+For backwards compatibility with older Git servers, if the client sends a push
+cert and push options, it MUST send its push options both embedded within the
+push cert and after the push cert. (Note that the push options within the cert
+are prefixed, but the push options after the cert are not.) Both these lists
+MUST be the same, modulo the prefix.
+
+After that the packfile that
+should contain all the objects that the server will need to complete the new
+references will be sent.
+
+----
+ packfile = "PACK" 28*(OCTET)
----
If the receiving end does not support delete-refs, the sending end MUST