Compare commits
118 Commits
v2.38.0-rc
...
v2.37.6
Author | SHA1 | Date | |
---|---|---|---|
eb88fe1ff5 | |||
16004682f9 | |||
673472a963 | |||
40843216c5 | |||
b7a92d078b | |||
6a53a59bf9 | |||
91da4a29e1 | |||
a7237f5ae9 | |||
bd6d3de01f | |||
f44e6a2105 | |||
4bd481e0ad | |||
4fab049258 | |||
ed4404af3c | |||
87248c5933 | |||
2aedeff35f | |||
aeb93d7da2 | |||
0bbcf95194 | |||
e14d6b8408 | |||
394a759d2b | |||
a3033a68ac | |||
2c9a4c7310 | |||
fade728df1 | |||
bffc762f87 | |||
cf8f6ce02a | |||
58325b93c5 | |||
f2027d2626 | |||
5c1fc48d68 | |||
c508c30968 | |||
f39fe8fcb2 | |||
25d7cb600c | |||
012e0d76dc | |||
f8bf6b8f3d | |||
0227130244 | |||
e43ac5f23d | |||
431f6e67e6 | |||
ad949b24f8 | |||
8253c00421 | |||
02f4981723 | |||
fbabbc30e7 | |||
6c9466944c | |||
3748b5b7f5 | |||
7fe9bf55b8 | |||
5f22dcc02d | |||
d96ea538e8 | |||
32e357b6df | |||
8a755eddf5 | |||
82689d5e5d | |||
16128765d7 | |||
b7b37a3371 | |||
27ab4784d5 | |||
f8587c31c9 | |||
a59a8c687f | |||
bb3a9265e5 | |||
e0bfc0b3b9 | |||
6662a836eb | |||
3305300f4c | |||
304a50adff | |||
f930a23943 | |||
81c2d4c3a5 | |||
937b71cc8b | |||
17d23e8a38 | |||
522cc87fdc | |||
48050c42c7 | |||
1de69c0cdd | |||
f6e0b9f389 | |||
b49f309aa1 | |||
81dc898df9 | |||
a244dc5b0a | |||
3c50032ff5 | |||
dfa6b32b5e | |||
d74b1fd54f | |||
a60a66e409 | |||
e1e12e97ac | |||
447ac906e1 | |||
34ace8bad0 | |||
2455720950 | |||
8d0d48cf21 | |||
eb22e7dfa2 | |||
83d5e3341b | |||
f2798aa404 | |||
9a167cb786 | |||
fcdaa211e6 | |||
58612f82b6 | |||
868154bb1c | |||
ac8a1db867 | |||
be85cfc4db | |||
478a426f14 | |||
7800e1dccf | |||
3957f3c84e | |||
af778cd9be | |||
9cbd2827c5 | |||
ecf9b4a443 | |||
122512967e | |||
abd4d67ab0 | |||
d9fcaeece2 | |||
541607d934 | |||
8a7bfa0fd3 | |||
59f2f80280 | |||
c193e6bbee | |||
e175fb5767 | |||
ef374dd9b8 | |||
092d3a2bf9 | |||
067aa8fb41 | |||
4a7dab5ce4 | |||
0ca6ead81e | |||
71ad7fe1bc | |||
32696a4cbe | |||
a1d4f67c12 | |||
f4a32a550f | |||
0d3beb71da | |||
0f21b8f468 | |||
225d2d50cc | |||
ac7e57fa28 | |||
f8d510ed0b | |||
99f4abb8da | |||
8a96dbcb33 | |||
7de0c306f7 | |||
6f054f9fb3 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -53,7 +53,6 @@
|
|||||||
/git-cvsimport
|
/git-cvsimport
|
||||||
/git-cvsserver
|
/git-cvsserver
|
||||||
/git-daemon
|
/git-daemon
|
||||||
/git-diagnose
|
|
||||||
/git-diff
|
/git-diff
|
||||||
/git-diff-files
|
/git-diff-files
|
||||||
/git-diff-index
|
/git-diff-index
|
||||||
@ -186,7 +185,6 @@
|
|||||||
/git-worktree
|
/git-worktree
|
||||||
/git-write-tree
|
/git-write-tree
|
||||||
/git-core-*/?*
|
/git-core-*/?*
|
||||||
/git.res
|
|
||||||
/gitweb/GITWEB-BUILD-OPTIONS
|
/gitweb/GITWEB-BUILD-OPTIONS
|
||||||
/gitweb/gitweb.cgi
|
/gitweb/gitweb.cgi
|
||||||
/gitweb/static/gitweb.js
|
/gitweb/static/gitweb.js
|
||||||
@ -227,6 +225,7 @@
|
|||||||
*.hcc
|
*.hcc
|
||||||
*.obj
|
*.obj
|
||||||
*.lib
|
*.lib
|
||||||
|
*.res
|
||||||
*.sln
|
*.sln
|
||||||
*.sp
|
*.sp
|
||||||
*.suo
|
*.suo
|
||||||
|
@ -606,7 +606,7 @@ Writing Documentation:
|
|||||||
avoidance of gendered pronouns.
|
avoidance of gendered pronouns.
|
||||||
|
|
||||||
- When it becomes awkward to stick to this style, prefer "you" when
|
- When it becomes awkward to stick to this style, prefer "you" when
|
||||||
addressing the hypothetical user, and possibly "we" when
|
addressing the the hypothetical user, and possibly "we" when
|
||||||
discussing how the program might react to the user. E.g.
|
discussing how the program might react to the user. E.g.
|
||||||
|
|
||||||
You can use this option instead of --xyz, but we might remove
|
You can use this option instead of --xyz, but we might remove
|
||||||
|
@ -24,21 +24,10 @@ MAN1_TXT += gitweb.txt
|
|||||||
|
|
||||||
# man5 / man7 guides (note: new guides should also be added to command-list.txt)
|
# man5 / man7 guides (note: new guides should also be added to command-list.txt)
|
||||||
MAN5_TXT += gitattributes.txt
|
MAN5_TXT += gitattributes.txt
|
||||||
MAN5_TXT += gitformat-bundle.txt
|
|
||||||
MAN5_TXT += gitformat-chunk.txt
|
|
||||||
MAN5_TXT += gitformat-commit-graph.txt
|
|
||||||
MAN5_TXT += gitformat-index.txt
|
|
||||||
MAN5_TXT += gitformat-pack.txt
|
|
||||||
MAN5_TXT += gitformat-signature.txt
|
|
||||||
MAN5_TXT += githooks.txt
|
MAN5_TXT += githooks.txt
|
||||||
MAN5_TXT += gitignore.txt
|
MAN5_TXT += gitignore.txt
|
||||||
MAN5_TXT += gitmailmap.txt
|
MAN5_TXT += gitmailmap.txt
|
||||||
MAN5_TXT += gitmodules.txt
|
MAN5_TXT += gitmodules.txt
|
||||||
MAN5_TXT += gitprotocol-capabilities.txt
|
|
||||||
MAN5_TXT += gitprotocol-common.txt
|
|
||||||
MAN5_TXT += gitprotocol-http.txt
|
|
||||||
MAN5_TXT += gitprotocol-pack.txt
|
|
||||||
MAN5_TXT += gitprotocol-v2.txt
|
|
||||||
MAN5_TXT += gitrepository-layout.txt
|
MAN5_TXT += gitrepository-layout.txt
|
||||||
MAN5_TXT += gitweb.conf.txt
|
MAN5_TXT += gitweb.conf.txt
|
||||||
|
|
||||||
@ -62,7 +51,6 @@ HOWTO_TXT += $(wildcard howto/*.txt)
|
|||||||
|
|
||||||
DOC_DEP_TXT += $(wildcard *.txt)
|
DOC_DEP_TXT += $(wildcard *.txt)
|
||||||
DOC_DEP_TXT += $(wildcard config/*.txt)
|
DOC_DEP_TXT += $(wildcard config/*.txt)
|
||||||
DOC_DEP_TXT += $(wildcard includes/*.txt)
|
|
||||||
|
|
||||||
ifdef MAN_FILTER
|
ifdef MAN_FILTER
|
||||||
MAN_TXT = $(filter $(MAN_FILTER),$(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT))
|
MAN_TXT = $(filter $(MAN_FILTER),$(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT))
|
||||||
@ -107,17 +95,26 @@ TECH_DOCS += MyFirstObjectWalk
|
|||||||
TECH_DOCS += SubmittingPatches
|
TECH_DOCS += SubmittingPatches
|
||||||
TECH_DOCS += ToolsForGit
|
TECH_DOCS += ToolsForGit
|
||||||
TECH_DOCS += technical/bitmap-format
|
TECH_DOCS += technical/bitmap-format
|
||||||
TECH_DOCS += technical/bundle-uri
|
TECH_DOCS += technical/bundle-format
|
||||||
|
TECH_DOCS += technical/cruft-packs
|
||||||
TECH_DOCS += technical/hash-function-transition
|
TECH_DOCS += technical/hash-function-transition
|
||||||
|
TECH_DOCS += technical/http-protocol
|
||||||
|
TECH_DOCS += technical/index-format
|
||||||
TECH_DOCS += technical/long-running-process-protocol
|
TECH_DOCS += technical/long-running-process-protocol
|
||||||
TECH_DOCS += technical/multi-pack-index
|
TECH_DOCS += technical/multi-pack-index
|
||||||
|
TECH_DOCS += technical/pack-format
|
||||||
TECH_DOCS += technical/pack-heuristics
|
TECH_DOCS += technical/pack-heuristics
|
||||||
|
TECH_DOCS += technical/pack-protocol
|
||||||
TECH_DOCS += technical/parallel-checkout
|
TECH_DOCS += technical/parallel-checkout
|
||||||
TECH_DOCS += technical/partial-clone
|
TECH_DOCS += technical/partial-clone
|
||||||
|
TECH_DOCS += technical/protocol-capabilities
|
||||||
|
TECH_DOCS += technical/protocol-common
|
||||||
|
TECH_DOCS += technical/protocol-v2
|
||||||
TECH_DOCS += technical/racy-git
|
TECH_DOCS += technical/racy-git
|
||||||
TECH_DOCS += technical/reftable
|
TECH_DOCS += technical/reftable
|
||||||
TECH_DOCS += technical/send-pack-pipeline
|
TECH_DOCS += technical/send-pack-pipeline
|
||||||
TECH_DOCS += technical/shallow
|
TECH_DOCS += technical/shallow
|
||||||
|
TECH_DOCS += technical/signature-format
|
||||||
TECH_DOCS += technical/trivial-merge
|
TECH_DOCS += technical/trivial-merge
|
||||||
SP_ARTICLES += $(TECH_DOCS)
|
SP_ARTICLES += $(TECH_DOCS)
|
||||||
SP_ARTICLES += technical/api-index
|
SP_ARTICLES += technical/api-index
|
||||||
@ -293,8 +290,6 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
|
|||||||
cmds-synchingrepositories.txt \
|
cmds-synchingrepositories.txt \
|
||||||
cmds-synchelpers.txt \
|
cmds-synchelpers.txt \
|
||||||
cmds-guide.txt \
|
cmds-guide.txt \
|
||||||
cmds-developerinterfaces.txt \
|
|
||||||
cmds-userinterfaces.txt \
|
|
||||||
cmds-purehelpers.txt \
|
cmds-purehelpers.txt \
|
||||||
cmds-foreignscminterface.txt
|
cmds-foreignscminterface.txt
|
||||||
|
|
||||||
|
60
Documentation/RelNotes/2.30.6.txt
Normal file
60
Documentation/RelNotes/2.30.6.txt
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
Git v2.30.6 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release addresses the security issues CVE-2022-39253 and
|
||||||
|
CVE-2022-39260.
|
||||||
|
|
||||||
|
Fixes since v2.30.5
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
* CVE-2022-39253:
|
||||||
|
When relying on the `--local` clone optimization, Git dereferences
|
||||||
|
symbolic links in the source repository before creating hardlinks
|
||||||
|
(or copies) of the dereferenced link in the destination repository.
|
||||||
|
This can lead to surprising behavior where arbitrary files are
|
||||||
|
present in a repository's `$GIT_DIR` when cloning from a malicious
|
||||||
|
repository.
|
||||||
|
|
||||||
|
Git will no longer dereference symbolic links via the `--local`
|
||||||
|
clone mechanism, and will instead refuse to clone repositories that
|
||||||
|
have symbolic links present in the `$GIT_DIR/objects` directory.
|
||||||
|
|
||||||
|
Additionally, the value of `protocol.file.allow` is changed to be
|
||||||
|
"user" by default.
|
||||||
|
|
||||||
|
* CVE-2022-39260:
|
||||||
|
An overly-long command string given to `git shell` can result in
|
||||||
|
overflow in `split_cmdline()`, leading to arbitrary heap writes and
|
||||||
|
remote code execution when `git shell` is exposed and the directory
|
||||||
|
`$HOME/git-shell-commands` exists.
|
||||||
|
|
||||||
|
`git shell` is taught to refuse interactive commands that are
|
||||||
|
longer than 4MiB in size. `split_cmdline()` is hardened to reject
|
||||||
|
inputs larger than 2GiB.
|
||||||
|
|
||||||
|
Credit for finding CVE-2022-39253 goes to Cory Snider of Mirantis. The
|
||||||
|
fix was authored by Taylor Blau, with help from Johannes Schindelin.
|
||||||
|
|
||||||
|
Credit for finding CVE-2022-39260 goes to Kevin Backhouse of GitHub.
|
||||||
|
The fix was authored by Kevin Backhouse, Jeff King, and Taylor Blau.
|
||||||
|
|
||||||
|
|
||||||
|
Jeff King (2):
|
||||||
|
shell: add basic tests
|
||||||
|
shell: limit size of interactive commands
|
||||||
|
|
||||||
|
Kevin Backhouse (1):
|
||||||
|
alias.c: reject too-long cmdline strings in split_cmdline()
|
||||||
|
|
||||||
|
Taylor Blau (11):
|
||||||
|
builtin/clone.c: disallow `--local` clones with symlinks
|
||||||
|
t/lib-submodule-update.sh: allow local submodules
|
||||||
|
t/t1NNN: allow local submodules
|
||||||
|
t/2NNNN: allow local submodules
|
||||||
|
t/t3NNN: allow local submodules
|
||||||
|
t/t4NNN: allow local submodules
|
||||||
|
t/t5NNN: allow local submodules
|
||||||
|
t/t6NNN: allow local submodules
|
||||||
|
t/t7NNN: allow local submodules
|
||||||
|
t/t9NNN: allow local submodules
|
||||||
|
transport: make `protocol.file.allow` be "user" by default
|
86
Documentation/RelNotes/2.30.7.txt
Normal file
86
Documentation/RelNotes/2.30.7.txt
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
Git v2.30.7 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release addresses the security issues CVE-2022-41903 and
|
||||||
|
CVE-2022-23521.
|
||||||
|
|
||||||
|
|
||||||
|
Fixes since v2.30.6
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
* CVE-2022-41903:
|
||||||
|
|
||||||
|
git log has the ability to display commits using an arbitrary
|
||||||
|
format with its --format specifiers. This functionality is also
|
||||||
|
exposed to git archive via the export-subst gitattribute.
|
||||||
|
|
||||||
|
When processing the padding operators (e.g., %<(, %<|(, %>(,
|
||||||
|
%>>(, or %><( ), an integer overflow can occur in
|
||||||
|
pretty.c::format_and_pad_commit() where a size_t is improperly
|
||||||
|
stored as an int, and then added as an offset to a subsequent
|
||||||
|
memcpy() call.
|
||||||
|
|
||||||
|
This overflow can be triggered directly by a user running a
|
||||||
|
command which invokes the commit formatting machinery (e.g., git
|
||||||
|
log --format=...). It may also be triggered indirectly through
|
||||||
|
git archive via the export-subst mechanism, which expands format
|
||||||
|
specifiers inside of files within the repository during a git
|
||||||
|
archive.
|
||||||
|
|
||||||
|
This integer overflow can result in arbitrary heap writes, which
|
||||||
|
may result in remote code execution.
|
||||||
|
|
||||||
|
* CVE-2022-23521:
|
||||||
|
|
||||||
|
gitattributes are a mechanism to allow defining attributes for
|
||||||
|
paths. These attributes can be defined by adding a `.gitattributes`
|
||||||
|
file to the repository, which contains a set of file patterns and
|
||||||
|
the attributes that should be set for paths matching this pattern.
|
||||||
|
|
||||||
|
When parsing gitattributes, multiple integer overflows can occur
|
||||||
|
when there is a huge number of path patterns, a huge number of
|
||||||
|
attributes for a single pattern, or when the declared attribute
|
||||||
|
names are huge.
|
||||||
|
|
||||||
|
These overflows can be triggered via a crafted `.gitattributes` file
|
||||||
|
that may be part of the commit history. Git silently splits lines
|
||||||
|
longer than 2KB when parsing gitattributes from a file, but not when
|
||||||
|
parsing them from the index. Consequentially, the failure mode
|
||||||
|
depends on whether the file exists in the working tree, the index or
|
||||||
|
both.
|
||||||
|
|
||||||
|
This integer overflow can result in arbitrary heap reads and writes,
|
||||||
|
which may result in remote code execution.
|
||||||
|
|
||||||
|
Credit for finding CVE-2022-41903 goes to Joern Schneeweisz of GitLab.
|
||||||
|
An initial fix was authored by Markus Vervier of X41 D-Sec. Credit for
|
||||||
|
finding CVE-2022-23521 goes to Markus Vervier and Eric Sesterhenn of X41
|
||||||
|
D-Sec. This work was sponsored by OSTIF.
|
||||||
|
|
||||||
|
The proposed fixes have been polished and extended to cover additional
|
||||||
|
findings by Patrick Steinhardt of GitLab, with help from others on the
|
||||||
|
Git security mailing list.
|
||||||
|
|
||||||
|
Patrick Steinhardt (21):
|
||||||
|
attr: fix overflow when upserting attribute with overly long name
|
||||||
|
attr: fix out-of-bounds read with huge attribute names
|
||||||
|
attr: fix integer overflow when parsing huge attribute names
|
||||||
|
attr: fix out-of-bounds write when parsing huge number of attributes
|
||||||
|
attr: fix out-of-bounds read with unreasonable amount of patterns
|
||||||
|
attr: fix integer overflow with more than INT_MAX macros
|
||||||
|
attr: harden allocation against integer overflows
|
||||||
|
attr: fix silently splitting up lines longer than 2048 bytes
|
||||||
|
attr: ignore attribute lines exceeding 2048 bytes
|
||||||
|
attr: ignore overly large gitattributes files
|
||||||
|
pretty: fix out-of-bounds write caused by integer overflow
|
||||||
|
pretty: fix out-of-bounds read when left-flushing with stealing
|
||||||
|
pretty: fix out-of-bounds read when parsing invalid padding format
|
||||||
|
pretty: fix adding linefeed when placeholder is not expanded
|
||||||
|
pretty: fix integer overflow in wrapping format
|
||||||
|
utf8: fix truncated string lengths in `utf8_strnwidth()`
|
||||||
|
utf8: fix returning negative string width
|
||||||
|
utf8: fix overflow when returning string width
|
||||||
|
utf8: fix checking for glyph width in `strbuf_utf8_replace()`
|
||||||
|
utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
|
||||||
|
pretty: restrict input lengths for padding and wrapping formats
|
||||||
|
|
52
Documentation/RelNotes/2.30.8.txt
Normal file
52
Documentation/RelNotes/2.30.8.txt
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
Git v2.30.8 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release addresses the security issues CVE-2023-22490 and
|
||||||
|
CVE-2023-23946.
|
||||||
|
|
||||||
|
|
||||||
|
Fixes since v2.30.7
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
* CVE-2023-22490:
|
||||||
|
|
||||||
|
Using a specially-crafted repository, Git can be tricked into using
|
||||||
|
its local clone optimization even when using a non-local transport.
|
||||||
|
Though Git will abort local clones whose source $GIT_DIR/objects
|
||||||
|
directory contains symbolic links (c.f., CVE-2022-39253), the objects
|
||||||
|
directory itself may still be a symbolic link.
|
||||||
|
|
||||||
|
These two may be combined to include arbitrary files based on known
|
||||||
|
paths on the victim's filesystem within the malicious repository's
|
||||||
|
working copy, allowing for data exfiltration in a similar manner as
|
||||||
|
CVE-2022-39253.
|
||||||
|
|
||||||
|
* CVE-2023-23946:
|
||||||
|
|
||||||
|
By feeding a crafted input to "git apply", a path outside the
|
||||||
|
working tree can be overwritten as the user who is running "git
|
||||||
|
apply".
|
||||||
|
|
||||||
|
* A mismatched type in `attr.c::read_attr_from_index()` which could
|
||||||
|
cause Git to errantly reject attributes on Windows and 32-bit Linux
|
||||||
|
has been corrected.
|
||||||
|
|
||||||
|
Credit for finding CVE-2023-22490 goes to yvvdwf, and the fix was
|
||||||
|
developed by Taylor Blau, with additional help from others on the
|
||||||
|
Git security mailing list.
|
||||||
|
|
||||||
|
Credit for finding CVE-2023-23946 goes to Joern Schneeweisz, and the
|
||||||
|
fix was developed by Patrick Steinhardt.
|
||||||
|
|
||||||
|
|
||||||
|
Johannes Schindelin (1):
|
||||||
|
attr: adjust a mismatched data type
|
||||||
|
|
||||||
|
Patrick Steinhardt (1):
|
||||||
|
apply: fix writing behind newly created symbolic links
|
||||||
|
|
||||||
|
Taylor Blau (3):
|
||||||
|
t5619: demonstrate clone_local() with ambiguous transport
|
||||||
|
clone: delay picking a transport until after get_repo_path()
|
||||||
|
dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
|
||||||
|
|
5
Documentation/RelNotes/2.31.5.txt
Normal file
5
Documentation/RelNotes/2.31.5.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.31.5 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.6; see
|
||||||
|
the release notes for that version for details.
|
5
Documentation/RelNotes/2.31.6.txt
Normal file
5
Documentation/RelNotes/2.31.6.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.31.6 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.7; see
|
||||||
|
the release notes for that version for details.
|
6
Documentation/RelNotes/2.31.7.txt
Normal file
6
Documentation/RelNotes/2.31.7.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Git v2.31.7 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges up the fixes that appear in v2.30.8 to
|
||||||
|
address the security issues CVE-2023-22490 and CVE-2023-23946;
|
||||||
|
see the release notes for that version for details.
|
5
Documentation/RelNotes/2.32.4.txt
Normal file
5
Documentation/RelNotes/2.32.4.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.32.4 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.6; see
|
||||||
|
the release notes for that version for details.
|
8
Documentation/RelNotes/2.32.5.txt
Normal file
8
Documentation/RelNotes/2.32.5.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Git v2.32.5 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.7; see
|
||||||
|
the release notes for that version for details.
|
||||||
|
|
||||||
|
In addition, included are additional code for "git fsck" to check
|
||||||
|
for questionable .gitattributes files.
|
6
Documentation/RelNotes/2.32.6.txt
Normal file
6
Documentation/RelNotes/2.32.6.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Git v2.32.6 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges up the fixes that appear in v2.30.8 and v2.31.7
|
||||||
|
to address the security issues CVE-2023-22490 and CVE-2023-23946;
|
||||||
|
see the release notes for these versions for details.
|
5
Documentation/RelNotes/2.33.5.txt
Normal file
5
Documentation/RelNotes/2.33.5.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.33.5 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.6; see
|
||||||
|
the release notes for that version for details.
|
5
Documentation/RelNotes/2.33.6.txt
Normal file
5
Documentation/RelNotes/2.33.6.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.33.6 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.7; see
|
||||||
|
the release notes for that version for details.
|
7
Documentation/RelNotes/2.33.7.txt
Normal file
7
Documentation/RelNotes/2.33.7.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Git v2.33.7 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges up the fixes that appear in v2.30.8, v2.31.7
|
||||||
|
and v2.32.6 to address the security issues CVE-2023-22490 and
|
||||||
|
CVE-2023-23946; see the release notes for these versions for
|
||||||
|
details.
|
5
Documentation/RelNotes/2.34.5.txt
Normal file
5
Documentation/RelNotes/2.34.5.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.34.5 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.6; see
|
||||||
|
the release notes for that version for details.
|
5
Documentation/RelNotes/2.34.6.txt
Normal file
5
Documentation/RelNotes/2.34.6.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.34.6 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.7; see
|
||||||
|
the release notes for that version for details.
|
7
Documentation/RelNotes/2.34.7.txt
Normal file
7
Documentation/RelNotes/2.34.7.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Git v2.34.7 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges up the fixes that appear in v2.30.8, v2.31.7,
|
||||||
|
v2.32.6 and v2.33.7 to address the security issues CVE-2023-22490
|
||||||
|
and CVE-2023-23946; see the release notes for these versions
|
||||||
|
for details.
|
5
Documentation/RelNotes/2.35.5.txt
Normal file
5
Documentation/RelNotes/2.35.5.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.35.5 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.6; see
|
||||||
|
the release notes for that version for details.
|
5
Documentation/RelNotes/2.35.6.txt
Normal file
5
Documentation/RelNotes/2.35.6.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.35.6 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.7; see
|
||||||
|
the release notes for that version for details.
|
7
Documentation/RelNotes/2.35.7.txt
Normal file
7
Documentation/RelNotes/2.35.7.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Git v2.35.7 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges up the fixes that appear in v2.30.8, v2.31.7,
|
||||||
|
v2.32.6, v2.33.7 and v2.34.7 to address the security issues
|
||||||
|
CVE-2023-22490 and CVE-2023-23946; see the release notes for
|
||||||
|
these versions for details.
|
5
Documentation/RelNotes/2.36.3.txt
Normal file
5
Documentation/RelNotes/2.36.3.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.36.3 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.6; see
|
||||||
|
the release notes for that version for details.
|
5
Documentation/RelNotes/2.36.4.txt
Normal file
5
Documentation/RelNotes/2.36.4.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.36.4 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.7; see
|
||||||
|
the release notes for that version for details.
|
7
Documentation/RelNotes/2.36.5.txt
Normal file
7
Documentation/RelNotes/2.36.5.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Git v2.36.5 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges up the fixes that appear in v2.30.8, v2.31.7,
|
||||||
|
v2.32.6, v2.33.7, v2.34.7 and v2.35.7 to address the security
|
||||||
|
issues CVE-2023-22490 and CVE-2023-23946; see the release notes
|
||||||
|
for these versions for details.
|
@ -2,11 +2,45 @@ Git 2.37.4 Release Notes
|
|||||||
========================
|
========================
|
||||||
|
|
||||||
This primarily is to backport various fixes accumulated on the 'master'
|
This primarily is to backport various fixes accumulated on the 'master'
|
||||||
front since 2.37.3.
|
front since 2.37.3, and also includes the same security fixes as in
|
||||||
|
v2.30.6.
|
||||||
|
|
||||||
Fixes since v2.37.3
|
Fixes since v2.37.3
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
* CVE-2022-39253:
|
||||||
|
When relying on the `--local` clone optimization, Git dereferences
|
||||||
|
symbolic links in the source repository before creating hardlinks
|
||||||
|
(or copies) of the dereferenced link in the destination repository.
|
||||||
|
This can lead to surprising behavior where arbitrary files are
|
||||||
|
present in a repository's `$GIT_DIR` when cloning from a malicious
|
||||||
|
repository.
|
||||||
|
|
||||||
|
Git will no longer dereference symbolic links via the `--local`
|
||||||
|
clone mechanism, and will instead refuse to clone repositories that
|
||||||
|
have symbolic links present in the `$GIT_DIR/objects` directory.
|
||||||
|
|
||||||
|
Additionally, the value of `protocol.file.allow` is changed to be
|
||||||
|
"user" by default.
|
||||||
|
|
||||||
|
Credit for finding CVE-2022-39253 goes to Cory Snider of Mirantis.
|
||||||
|
The fix was authored by Taylor Blau, with help from Johannes
|
||||||
|
Schindelin.
|
||||||
|
|
||||||
|
* CVE-2022-39260:
|
||||||
|
An overly-long command string given to `git shell` can result in
|
||||||
|
overflow in `split_cmdline()`, leading to arbitrary heap writes and
|
||||||
|
remote code execution when `git shell` is exposed and the directory
|
||||||
|
`$HOME/git-shell-commands` exists.
|
||||||
|
|
||||||
|
`git shell` is taught to refuse interactive commands that are
|
||||||
|
longer than 4MiB in size. `split_cmdline()` is hardened to reject
|
||||||
|
inputs larger than 2GiB.
|
||||||
|
|
||||||
|
Credit for finding CVE-2022-39260 goes to Kevin Backhouse of
|
||||||
|
GitHub. The fix was authored by Kevin Backhouse, Jeff King, and
|
||||||
|
Taylor Blau.
|
||||||
|
|
||||||
* An earlier optimization discarded a tree-object buffer that is
|
* An earlier optimization discarded a tree-object buffer that is
|
||||||
still in use, which has been corrected.
|
still in use, which has been corrected.
|
||||||
|
|
||||||
|
5
Documentation/RelNotes/2.37.5.txt
Normal file
5
Documentation/RelNotes/2.37.5.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.37.5 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges the security fix that appears in v2.30.7; see
|
||||||
|
the release notes for that version for details.
|
7
Documentation/RelNotes/2.37.6.txt
Normal file
7
Documentation/RelNotes/2.37.6.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Git v2.37.6 Release Notes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This release merges up the fixes that appear in v2.30.8, v2.31.7,
|
||||||
|
v2.32.6, v2.33.7, v2.34.7, v2.35.7 and v2.36.5 to address the
|
||||||
|
security issues CVE-2023-22490 and CVE-2023-23946; see the release
|
||||||
|
notes for these versions for details.
|
@ -1,393 +0,0 @@
|
|||||||
Git v2.38 Release Notes
|
|
||||||
=======================
|
|
||||||
|
|
||||||
UI, Workflows & Features
|
|
||||||
|
|
||||||
* "git remote show [-n] frotz" now pays attention to negative
|
|
||||||
pathspec.
|
|
||||||
|
|
||||||
* "git push" sometimes perform poorly when reachability bitmaps are
|
|
||||||
used, even in a repository where other operations are helped by
|
|
||||||
bitmaps. The push.useBitmaps configuration variable is introduced
|
|
||||||
to allow disabling use of reachability bitmaps only for "git push".
|
|
||||||
|
|
||||||
* "git grep -m<max-hits>" is a way to limit the hits shown per file.
|
|
||||||
|
|
||||||
* "git merge-tree" learned a new mode where it takes two commits and
|
|
||||||
computes a tree that would result in the merge commit, if the
|
|
||||||
histories leading to these two commits were to be merged.
|
|
||||||
|
|
||||||
* "git mv A B" in a sparsely populated working tree can be asked to
|
|
||||||
move a path between directories that are "in cone" (i.e. expected
|
|
||||||
to be materialized in the working tree) and "out of cone"
|
|
||||||
(i.e. expected to be hidden). The handling of such cases has been
|
|
||||||
improved.
|
|
||||||
|
|
||||||
* Earlier, HTTP transport clients learned to tell the server side
|
|
||||||
what locale they are in by sending Accept-Language HTTP header, but
|
|
||||||
this was done only for some requests but not others.
|
|
||||||
|
|
||||||
* Introduce a discovery.barerepository configuration variable that
|
|
||||||
allows users to forbid discovery of bare repositories.
|
|
||||||
|
|
||||||
* Various messages that come from the pack-bitmap codepaths have been
|
|
||||||
tweaked.
|
|
||||||
|
|
||||||
* "git rebase -i" learns to update branches whose tip appear in the
|
|
||||||
rebased range with "--update-refs" option.
|
|
||||||
|
|
||||||
* "git ls-files" learns the "--format" option to tweak its output.
|
|
||||||
|
|
||||||
* "git cat-file" learned an option to use the mailmap when showing
|
|
||||||
commit and tag objects.
|
|
||||||
|
|
||||||
* When "git merge" finds that it cannot perform a merge, it should
|
|
||||||
restore the working tree to the state before the command was
|
|
||||||
initiated, but in some corner cases it didn't.
|
|
||||||
|
|
||||||
* Operating modes like "--batch" of "git cat-file" command learned to
|
|
||||||
take NUL-terminated input, instead of one-item-per-line.
|
|
||||||
|
|
||||||
* "git rm" has become more aware of the sparse-index feature.
|
|
||||||
|
|
||||||
* "git rev-list --disk-usage" learned to take an optional value
|
|
||||||
"human" to show the reported value in human-readable format, like
|
|
||||||
"3.40MiB".
|
|
||||||
|
|
||||||
* The "diagnose" feature to create a zip archive for diagnostic
|
|
||||||
material has been lifted from "scalar" and made into a feature of
|
|
||||||
"git bugreport".
|
|
||||||
|
|
||||||
* The namespaces used by "log --decorate" from "refs/" hierarchy by
|
|
||||||
default has been tightened.
|
|
||||||
|
|
||||||
* "git rev-list --ancestry-path=C A..B" is a natural extension of
|
|
||||||
"git rev-list A..B"; instead of choosing a subset of A..B to those
|
|
||||||
that have ancestry relationship with A, it lets a subset with
|
|
||||||
ancestry relationship with C.
|
|
||||||
|
|
||||||
* "scalar" now enables built-in fsmonitor on enlisted repositories,
|
|
||||||
when able.
|
|
||||||
|
|
||||||
* The bash prompt (in contrib/) learned to optionally indicate when
|
|
||||||
the index is unmerged.
|
|
||||||
|
|
||||||
* "git clone" command learned the "--bundle-uri" option to coordinate
|
|
||||||
with hosting sites the use of pre-prepared bundle files.
|
|
||||||
|
|
||||||
* "git range-diff" learned to honor pathspec argument if given.
|
|
||||||
|
|
||||||
* "git format-patch --from=<ident>" can be told to add an in-body
|
|
||||||
"From:" line even for commits that are authored by the given
|
|
||||||
<ident> with "--force-in-body-from"option.
|
|
||||||
|
|
||||||
* The built-in fsmonitor refuses to work on a network mounted
|
|
||||||
repositories; a configuration knob for users to override this has
|
|
||||||
been introduced.
|
|
||||||
|
|
||||||
|
|
||||||
Performance, Internal Implementation, Development Support etc.
|
|
||||||
|
|
||||||
* Collection of what is referenced by objects in promisor packs have
|
|
||||||
been optimized to inspect these objects in the in-pack order.
|
|
||||||
|
|
||||||
* Introduce a helper to see if a branch is already being worked on
|
|
||||||
(hence should not be newly checked out in a working tree), which
|
|
||||||
performs much better than the existing find_shared_symref() to
|
|
||||||
replace many uses of the latter.
|
|
||||||
|
|
||||||
* Teach "git archive" to (optionally and then by default) avoid
|
|
||||||
spawning an external "gzip" process when creating ".tar.gz" (and
|
|
||||||
".tgz") archives.
|
|
||||||
|
|
||||||
* Allow large objects read from a packstream to be streamed into a
|
|
||||||
loose object file straight, without having to keep it in-core as a
|
|
||||||
whole.
|
|
||||||
|
|
||||||
* Further preparation to turn git-submodule.sh into a builtin
|
|
||||||
continues.
|
|
||||||
|
|
||||||
* Apply Coccinelle rule to turn raw memmove() into MOVE_ARRAY() cpp
|
|
||||||
macro, which would improve maintainability and readability.
|
|
||||||
|
|
||||||
* Teach "make all" to build gitweb as well.
|
|
||||||
|
|
||||||
* Tweak tests so that they still work when the "git init" template
|
|
||||||
did not create .git/info directory.
|
|
||||||
|
|
||||||
* Add Coccinelle rules to detect the pattern of initializing and then
|
|
||||||
finalizing a structure without using it in between at all, which
|
|
||||||
happens after code restructuring and the compilers fail to
|
|
||||||
recognize as an unused variable.
|
|
||||||
|
|
||||||
* The code to convert between GPG trust level strings and internal
|
|
||||||
constants we use to represent them have been cleaned up.
|
|
||||||
|
|
||||||
* Support for libnettle as SHA256 implementation has been added.
|
|
||||||
|
|
||||||
* The way "git multi-pack" uses parse-options API has been improved.
|
|
||||||
|
|
||||||
* A coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
|
|
||||||
macro has been improved.
|
|
||||||
|
|
||||||
* API tweak to make it easier to run fuzz testing on commit-graph parser.
|
|
||||||
|
|
||||||
* Omit fsync-related trace2 entries when their values are all zero.
|
|
||||||
|
|
||||||
* The codepath to write multi-pack index has been taught to release a
|
|
||||||
large chunk of memory that holds an array of objects in the packs,
|
|
||||||
as soon as it is done with the array, to reduce memory consumption.
|
|
||||||
|
|
||||||
* Add a level of redirection to array allocation API in xdiff part,
|
|
||||||
to make it easier to share with the libgit2 project.
|
|
||||||
|
|
||||||
* "git fetch" client logs the partial clone filter used in the trace2
|
|
||||||
output.
|
|
||||||
|
|
||||||
* The "bundle URI" design gets documented.
|
|
||||||
|
|
||||||
* The common ancestor negotiation exchange during a "git fetch"
|
|
||||||
session now leaves trace log.
|
|
||||||
|
|
||||||
* Test portability improvements.
|
|
||||||
(merge 4d1d843be7 mt/rot13-in-c later to maint).
|
|
||||||
|
|
||||||
* The "subcommand" mode is introduced to parse-options API and update
|
|
||||||
the command line parser of Git commands with subcommands.
|
|
||||||
|
|
||||||
* The pack bitmap file gained a bitmap-lookup table to speed up
|
|
||||||
locating the necessary bitmap for a given commit.
|
|
||||||
|
|
||||||
* The assembly version of SHA-1 implementation for PPC has been
|
|
||||||
removed.
|
|
||||||
|
|
||||||
* The server side that responds to "git fetch" and "git clone"
|
|
||||||
request has been optimized by allowing it to send objects in its
|
|
||||||
object store without recomputing and validating the object names.
|
|
||||||
|
|
||||||
* Annotate function parameters that are not used (but cannot be
|
|
||||||
removed for structural reasons), to prepare us to later compile
|
|
||||||
with -Wunused warning turned on.
|
|
||||||
|
|
||||||
* Share the text used to explain configuration variables used by "git
|
|
||||||
<subcmd>" in "git help <subcmd>" with the text from "git help config".
|
|
||||||
|
|
||||||
|
|
||||||
Fixes since v2.37
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
* Rewrite of "git add -i" in C that appeared in Git 2.25 didn't
|
|
||||||
correctly record a removed file to the index, which was fixed.
|
|
||||||
|
|
||||||
* Certain diff options are currently ignored when combined-diff is
|
|
||||||
shown; mark them as incompatible with the feature.
|
|
||||||
|
|
||||||
* Adjust technical/bitmap-format to be formatted by AsciiDoc, and
|
|
||||||
add some missing information to the documentation.
|
|
||||||
|
|
||||||
* Fixes for tests when the source directory has unusual characters in
|
|
||||||
its path, e.g. whitespaces, double-quotes, etc.
|
|
||||||
|
|
||||||
* "git mktree --missing" lazily fetched objects that are missing from
|
|
||||||
the local object store, which was totally unnecessary for the purpose
|
|
||||||
of creating the tree object(s) from its input.
|
|
||||||
|
|
||||||
* Give _() markings to fatal/warning/usage: labels that are shown in
|
|
||||||
front of these messages.
|
|
||||||
|
|
||||||
* References to commands-to-be-typed-literally in "git rebase"
|
|
||||||
documentation mark-up have been corrected.
|
|
||||||
|
|
||||||
* In a non-bare repository, the behavior of Git when the
|
|
||||||
core.worktree configuration variable points at a directory that has
|
|
||||||
a repository as its subdirectory, regressed in Git 2.27 days.
|
|
||||||
|
|
||||||
* Recent update to vimdiff layout code has been made more robust
|
|
||||||
against different end-user vim settings.
|
|
||||||
|
|
||||||
* Plug various memory leaks, both in the main code and in test-tool
|
|
||||||
commands.
|
|
||||||
|
|
||||||
* Fixes a long-standing corner case bug around directory renames in
|
|
||||||
the merge-ort strategy.
|
|
||||||
|
|
||||||
* The resolve-undo information in the index was not protected against
|
|
||||||
GC, which has been corrected.
|
|
||||||
|
|
||||||
* A corner case bug where lazily fetching objects from a promisor
|
|
||||||
remote resulted in infinite recursion has been corrected.
|
|
||||||
|
|
||||||
* "git clone" from a repository with some ref whose HEAD is unborn
|
|
||||||
did not set the HEAD in the resulting repository correctly, which
|
|
||||||
has been corrected.
|
|
||||||
|
|
||||||
* An earlier attempt to plug leaks placed a clean-up label to jump to
|
|
||||||
at a bogus place, which as been corrected.
|
|
||||||
|
|
||||||
* Variable quoting fix in the vimdiff driver of "git mergetool"
|
|
||||||
|
|
||||||
* "git shortlog -n" relied on the underlying qsort() to be stable,
|
|
||||||
which shouldn't have. Fixed.
|
|
||||||
|
|
||||||
* A fix for a regression in test framework.
|
|
||||||
|
|
||||||
* mkstemp() emulation on Windows has been improved.
|
|
||||||
|
|
||||||
* Add missing documentation for "include" and "includeIf" features in
|
|
||||||
"git config" file format, which incidentally teaches the command
|
|
||||||
line completion to include them in its offerings.
|
|
||||||
|
|
||||||
* Avoid "white/black-list" in documentation and code comments.
|
|
||||||
|
|
||||||
* Workaround for a compiler warning against use of die() in
|
|
||||||
osx-keychain (in contrib/).
|
|
||||||
|
|
||||||
* Workaround for a false positive compiler warning.
|
|
||||||
|
|
||||||
* "git p4" working on UTF-16 files on Windows did not implement
|
|
||||||
CRLF-to-LF conversion correctly, which has been corrected.
|
|
||||||
|
|
||||||
* "git p4" did not handle non-ASCII client name well, which has been
|
|
||||||
corrected.
|
|
||||||
|
|
||||||
* "rerere-train" script (in contrib/) used to honor commit.gpgSign
|
|
||||||
while recreating the throw-away merges.
|
|
||||||
|
|
||||||
* "git checkout" miscounted the paths it updated, which has been
|
|
||||||
corrected.
|
|
||||||
|
|
||||||
* Fix for a bug that makes write-tree to fail to write out a
|
|
||||||
non-existent index as a tree, introduced in 2.37.
|
|
||||||
|
|
||||||
* There was a bug in the codepath to upgrade generation information
|
|
||||||
in commit-graph from v1 to v2 format, which has been corrected.
|
|
||||||
|
|
||||||
* Gitweb had legacy URL shortener that is specific to the way
|
|
||||||
projects hosted on kernel.org used to (but no longer) work, which
|
|
||||||
has been removed.
|
|
||||||
|
|
||||||
* Fix build procedure for Windows that uses CMake so that it can pick
|
|
||||||
up the shell interpreter from local installation location.
|
|
||||||
|
|
||||||
* Conditionally allow building Python interpreter on Windows
|
|
||||||
|
|
||||||
* Fix to lstat() emulation on Windows.
|
|
||||||
|
|
||||||
* Older gcc with -Wall complains about the universal zero initializer
|
|
||||||
"struct s = { 0 };" idiom, which makes developers' lives
|
|
||||||
inconvenient (as -Werror is enabled by DEVELOPER=YesPlease). The
|
|
||||||
build procedure has been tweaked to help these compilers.
|
|
||||||
|
|
||||||
* Plug memory leaks in the failure code path in the "merge-ort" merge
|
|
||||||
strategy backend.
|
|
||||||
|
|
||||||
* "git symbolic-ref symref non..sen..se" is now diagnosed as an error.
|
|
||||||
|
|
||||||
* A follow-up fix to a fix for a regression in 2.36 around hooks.
|
|
||||||
|
|
||||||
* Avoid repeatedly running getconf to ask libc version in the test
|
|
||||||
suite, and instead just as it once per script.
|
|
||||||
|
|
||||||
* Platform-specific code that determines if a directory is OK to use
|
|
||||||
as a repository has been taught to report more details, especially
|
|
||||||
on Windows.
|
|
||||||
|
|
||||||
* "vimdiff3" regression fix.
|
|
||||||
|
|
||||||
* "git fsck" reads mode from tree objects but canonicalizes the mode
|
|
||||||
before passing it to the logic to check object sanity, which has
|
|
||||||
hid broken tree objects from the checking logic. This has been
|
|
||||||
corrected, but to help exiting projects with broken tree objects
|
|
||||||
that they cannot fix retroactively, the severity of anomalies this
|
|
||||||
code detects has been demoted to "info" for now.
|
|
||||||
|
|
||||||
* Fixes to sparse index compatibility work for "reset" and "checkout"
|
|
||||||
commands.
|
|
||||||
|
|
||||||
* An earlier optimization discarded a tree-object buffer that is
|
|
||||||
still in use, which has been corrected.
|
|
||||||
(merge 1490d7d82d jk/is-promisor-object-keep-tree-in-use later to maint).
|
|
||||||
|
|
||||||
* Fix deadlocks between main Git process and subprocess spawned via
|
|
||||||
the pipe_command() API, that can kill "git add -p" that was
|
|
||||||
reimplemented in C recently.
|
|
||||||
(merge 716c1f649e jk/pipe-command-nonblock later to maint).
|
|
||||||
|
|
||||||
* The sequencer machinery translated messages left in the reflog by
|
|
||||||
mistake, which has been corrected.
|
|
||||||
|
|
||||||
* xcalloc(), imitating calloc(), takes "number of elements of the
|
|
||||||
array", and "size of a single element", in this order. A call that
|
|
||||||
does not follow this ordering has been corrected.
|
|
||||||
(merge c4bbd9bb8f sg/xcalloc-cocci-fix later to maint).
|
|
||||||
|
|
||||||
* The preload-index codepath made copies of pathspec to give to
|
|
||||||
multiple threads, which were left leaked.
|
|
||||||
(merge 23578904da ad/preload-plug-memleak later to maint).
|
|
||||||
|
|
||||||
* Update the version of Ubuntu used for GitHub Actions CI from 18.04
|
|
||||||
to 22.04.
|
|
||||||
(merge ef46584831 ds/github-actions-use-newer-ubuntu later to maint).
|
|
||||||
|
|
||||||
* The auto-stashed local changes created by "git merge --autostash"
|
|
||||||
was mixed into a conflicted state left in the working tree, which
|
|
||||||
has been corrected.
|
|
||||||
(merge d3a9295ada en/merge-unstash-only-on-clean-merge later to maint).
|
|
||||||
|
|
||||||
* Multi-pack index got corrupted when preferred pack changed from one
|
|
||||||
pack to another in a certain way, which has been corrected.
|
|
||||||
(merge 99e4d084ff tb/midx-with-changing-preferred-pack-fix later to maint).
|
|
||||||
|
|
||||||
* The clean-up of temporary files created via mks_tempfile_dt() was
|
|
||||||
racy and attempted to unlink() the leading directory when signals
|
|
||||||
are involved, which has been corrected.
|
|
||||||
(merge babe2e0559 rs/tempfile-cleanup-race-fix later to maint).
|
|
||||||
|
|
||||||
* FreeBSD portability fix for "git maintenance" that spawns "crontab"
|
|
||||||
to schedule tasks.
|
|
||||||
(merge ee69e7884e bc/gc-crontab-fix later to maint).
|
|
||||||
|
|
||||||
* Those who use diff-so-fancy as the diff-filter noticed a regression
|
|
||||||
or two in the code that parses the diff output in the built-in
|
|
||||||
version of "add -p", which has been corrected.
|
|
||||||
(merge 0a101676e5 js/add-p-diff-parsing-fix later to maint).
|
|
||||||
|
|
||||||
* Segfault fix-up to an earlier fix to the topic to teach "git reset"
|
|
||||||
and "git checkout" work better in a sparse checkout.
|
|
||||||
(merge 037f8ea6d9 vd/sparse-reset-checkout-fixes later to maint).
|
|
||||||
|
|
||||||
* "git diff --no-index A B" managed its the pathnames of its two
|
|
||||||
input files rather haphazardly, sometimes leaking them. The
|
|
||||||
command line argument processing has been straightened out to clean
|
|
||||||
it up.
|
|
||||||
(merge 2b43dd0eb5 rs/diff-no-index-cleanup later to maint).
|
|
||||||
|
|
||||||
* "git rev-list --verify-objects" ought to inspect the contents of
|
|
||||||
objects and notice corrupted ones, but it didn't when the commit
|
|
||||||
graph is in use, which has been corrected.
|
|
||||||
(merge b27ccae34b jk/rev-list-verify-objects-fix later to maint).
|
|
||||||
|
|
||||||
* More fixes to "add -p"
|
|
||||||
(merge 64ec8efb83 js/builtin-add-p-portability-fix later to maint).
|
|
||||||
|
|
||||||
* The parser in the script interface to parse-options in "git
|
|
||||||
rev-parse" has been updated to diagnose a bogus input correctly.
|
|
||||||
(merge f20b9c36d0 ow/rev-parse-parseopt-fix later to maint).
|
|
||||||
|
|
||||||
* The code that manages list-object-filter structure, used in partial
|
|
||||||
clones, leaked the instances, which has been plugged.
|
|
||||||
(merge 66eede4a37 jk/plug-list-object-filter-leaks later to maint).
|
|
||||||
|
|
||||||
* Fix another UI regression in the reimplemented "add -p".
|
|
||||||
(merge f6f0ee247f rs/add-p-worktree-mode-prompt-fix later to maint).
|
|
||||||
|
|
||||||
* "git fetch" over protocol v2 sent an incorrect ref prefix request
|
|
||||||
to the server and made "git pull" with configured fetch refspec
|
|
||||||
that does not cover the remote branch to merge with fail, which has
|
|
||||||
been corrected.
|
|
||||||
(merge 49ca2fba39 jk/proto-v2-ref-prefix-fix later to maint).
|
|
||||||
|
|
||||||
* Other code cleanup, docfix, build fix, etc.
|
|
||||||
(merge 77b9e85c0f vd/fix-perf-tests later to maint).
|
|
||||||
(merge 0682bc43f5 jk/test-crontab-fixes later to maint).
|
|
||||||
(merge b46dd1726c cc/doc-trailer-whitespace-rules later to maint).
|
|
@ -444,32 +444,17 @@ You probably do not need to adjust this value.
|
|||||||
Common unit suffixes of 'k', 'm', or 'g' are supported.
|
Common unit suffixes of 'k', 'm', or 'g' are supported.
|
||||||
|
|
||||||
core.bigFileThreshold::
|
core.bigFileThreshold::
|
||||||
The size of files considered "big", which as discussed below
|
Files larger than this size are stored deflated, without
|
||||||
changes the behavior of numerous git commands, as well as how
|
attempting delta compression. Storing large files without
|
||||||
such files are stored within the repository. The default is
|
delta compression avoids excessive memory usage, at the
|
||||||
512 MiB. Common unit suffixes of 'k', 'm', or 'g' are
|
slight expense of increased disk usage. Additionally files
|
||||||
supported.
|
larger than this size are always treated as binary.
|
||||||
+
|
+
|
||||||
Files above the configured limit will be:
|
Default is 512 MiB on all platforms. This should be reasonable
|
||||||
|
for most projects as source code and other text files can still
|
||||||
|
be delta compressed, but larger binary media files won't be.
|
||||||
+
|
+
|
||||||
* Stored deflated in packfiles, without attempting delta compression.
|
Common unit suffixes of 'k', 'm', or 'g' are supported.
|
||||||
+
|
|
||||||
The default limit is primarily set with this use-case in mind. With it,
|
|
||||||
most projects will have their source code and other text files delta
|
|
||||||
compressed, but not larger binary media files.
|
|
||||||
+
|
|
||||||
Storing large files without delta compression avoids excessive memory
|
|
||||||
usage, at the slight expense of increased disk usage.
|
|
||||||
+
|
|
||||||
* Will be treated as if they were labeled "binary" (see
|
|
||||||
linkgit:gitattributes[5]). e.g. linkgit:git-log[1] and
|
|
||||||
linkgit:git-diff[1] will not compute diffs for files above this limit.
|
|
||||||
+
|
|
||||||
* Will generally be streamed when written, which avoids excessive
|
|
||||||
memory usage, at the cost of some fixed overhead. Commands that make
|
|
||||||
use of this include linkgit:git-archive[1],
|
|
||||||
linkgit:git-fast-import[1], linkgit:git-index-pack[1],
|
|
||||||
linkgit:git-unpack-objects[1] and linkgit:git-fsck[1].
|
|
||||||
|
|
||||||
core.excludesFile::
|
core.excludesFile::
|
||||||
Specifies the pathname to the file that contains patterns to
|
Specifies the pathname to the file that contains patterns to
|
||||||
|
@ -178,6 +178,21 @@ diff.<driver>.cachetextconv::
|
|||||||
Set this option to true to make the diff driver cache the text
|
Set this option to true to make the diff driver cache the text
|
||||||
conversion outputs. See linkgit:gitattributes[5] for details.
|
conversion outputs. See linkgit:gitattributes[5] for details.
|
||||||
|
|
||||||
|
diff.tool::
|
||||||
|
Controls which diff tool is used by linkgit:git-difftool[1].
|
||||||
|
This variable overrides the value configured in `merge.tool`.
|
||||||
|
The list below shows the valid built-in values.
|
||||||
|
Any other value is treated as a custom diff tool and requires
|
||||||
|
that a corresponding difftool.<tool>.cmd variable is defined.
|
||||||
|
|
||||||
|
diff.guitool::
|
||||||
|
Controls which diff tool is used by linkgit:git-difftool[1] when
|
||||||
|
the -g/--gui flag is specified. This variable overrides the value
|
||||||
|
configured in `merge.guitool`. The list below shows the valid
|
||||||
|
built-in values. Any other value is treated as a custom diff tool
|
||||||
|
and requires that a corresponding difftool.<guitool>.cmd variable
|
||||||
|
is defined.
|
||||||
|
|
||||||
include::../mergetools-diff.txt[]
|
include::../mergetools-diff.txt[]
|
||||||
|
|
||||||
diff.indentHeuristic::
|
diff.indentHeuristic::
|
||||||
|
@ -1,17 +1,6 @@
|
|||||||
diff.tool::
|
difftool.<tool>.path::
|
||||||
Controls which diff tool is used by linkgit:git-difftool[1].
|
Override the path for the given tool. This is useful in case
|
||||||
This variable overrides the value configured in `merge.tool`.
|
your tool is not in the PATH.
|
||||||
The list below shows the valid built-in values.
|
|
||||||
Any other value is treated as a custom diff tool and requires
|
|
||||||
that a corresponding difftool.<tool>.cmd variable is defined.
|
|
||||||
|
|
||||||
diff.guitool::
|
|
||||||
Controls which diff tool is used by linkgit:git-difftool[1] when
|
|
||||||
the -g/--gui flag is specified. This variable overrides the value
|
|
||||||
configured in `merge.guitool`. The list below shows the valid
|
|
||||||
built-in values. Any other value is treated as a custom diff tool
|
|
||||||
and requires that a corresponding difftool.<guitool>.cmd variable
|
|
||||||
is defined.
|
|
||||||
|
|
||||||
difftool.<tool>.cmd::
|
difftool.<tool>.cmd::
|
||||||
Specify the command to invoke the specified diff tool.
|
Specify the command to invoke the specified diff tool.
|
||||||
@ -20,17 +9,6 @@ difftool.<tool>.cmd::
|
|||||||
file containing the contents of the diff pre-image and 'REMOTE'
|
file containing the contents of the diff pre-image and 'REMOTE'
|
||||||
is set to the name of the temporary file containing the contents
|
is set to the name of the temporary file containing the contents
|
||||||
of the diff post-image.
|
of the diff post-image.
|
||||||
+
|
|
||||||
See the `--tool=<tool>` option in linkgit:git-difftool[1] for more details.
|
|
||||||
|
|
||||||
difftool.<tool>.path::
|
|
||||||
Override the path for the given tool. This is useful in case
|
|
||||||
your tool is not in the PATH.
|
|
||||||
|
|
||||||
difftool.trustExitCode::
|
|
||||||
Exit difftool if the invoked diff tool returns a non-zero exit status.
|
|
||||||
+
|
|
||||||
See the `--trust-exit-code` option in linkgit:git-difftool[1] for more details.
|
|
||||||
|
|
||||||
difftool.prompt::
|
difftool.prompt::
|
||||||
Prompt before each invocation of the diff tool.
|
Prompt before each invocation of the diff tool.
|
||||||
|
@ -15,10 +15,6 @@ format.from::
|
|||||||
different. If set to a non-boolean value, format-patch uses that
|
different. If set to a non-boolean value, format-patch uses that
|
||||||
value instead of your committer identity. Defaults to false.
|
value instead of your committer identity. Defaults to false.
|
||||||
|
|
||||||
format.forceInBodyFrom::
|
|
||||||
Provides the default value for the `--[no-]force-in-body-from`
|
|
||||||
option to format-patch. Defaults to false.
|
|
||||||
|
|
||||||
format.numbered::
|
format.numbered::
|
||||||
A boolean which can enable or disable sequence numbers in patch
|
A boolean which can enable or disable sequence numbers in patch
|
||||||
subjects. It defaults to "auto" which enables it only if there
|
subjects. It defaults to "auto" which enables it only if there
|
||||||
|
@ -17,11 +17,8 @@ grep.extendedRegexp::
|
|||||||
other than 'default'.
|
other than 'default'.
|
||||||
|
|
||||||
grep.threads::
|
grep.threads::
|
||||||
Number of grep worker threads to use. If unset (or set to 0), Git will
|
Number of grep worker threads to use.
|
||||||
use as many threads as the number of logical cores available.
|
See `grep.threads` in linkgit:git-grep[1] for more information.
|
||||||
|
|
||||||
grep.fullName::
|
|
||||||
If set to true, enable `--full-name` option by default.
|
|
||||||
|
|
||||||
grep.fallbackToNoIndex::
|
grep.fallbackToNoIndex::
|
||||||
If set to true, fall back to git grep --no-index if git grep
|
If set to true, fall back to git grep --no-index if git grep
|
||||||
|
@ -7,10 +7,6 @@ log.date::
|
|||||||
Set the default date-time mode for the 'log' command.
|
Set the default date-time mode for the 'log' command.
|
||||||
Setting a value for log.date is similar to using 'git log''s
|
Setting a value for log.date is similar to using 'git log''s
|
||||||
`--date` option. See linkgit:git-log[1] for details.
|
`--date` option. See linkgit:git-log[1] for details.
|
||||||
+
|
|
||||||
If the format is set to "auto:foo" and the pager is in use, format
|
|
||||||
"foo" will be the used for the date format. Otherwise "default" will
|
|
||||||
be used.
|
|
||||||
|
|
||||||
log.decorate::
|
log.decorate::
|
||||||
Print out the ref names of any commits that are shown by the log
|
Print out the ref names of any commits that are shown by the log
|
||||||
@ -22,11 +18,6 @@ log.decorate::
|
|||||||
names are shown. This is the same as the `--decorate` option
|
names are shown. This is the same as the `--decorate` option
|
||||||
of the `git log`.
|
of the `git log`.
|
||||||
|
|
||||||
log.initialDecorationSet::
|
|
||||||
By default, `git log` only shows decorations for certain known ref
|
|
||||||
namespaces. If 'all' is specified, then show all refs as
|
|
||||||
decorations.
|
|
||||||
|
|
||||||
log.excludeDecoration::
|
log.excludeDecoration::
|
||||||
Exclude the specified patterns from the log decorations. This is
|
Exclude the specified patterns from the log decorations. This is
|
||||||
similar to the `--decorate-refs-exclude` command-line option, but
|
similar to the `--decorate-refs-exclude` command-line option, but
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
lsrefs.unborn::
|
lsrefs.unborn::
|
||||||
May be "advertise" (the default), "allow", or "ignore". If "advertise",
|
May be "advertise" (the default), "allow", or "ignore". If "advertise",
|
||||||
the server will respond to the client sending "unborn" (as described in
|
the server will respond to the client sending "unborn" (as described in
|
||||||
linkgit:gitprotocol-v2[5]) and will advertise support for this feature during the
|
protocol-v2.txt) and will advertise support for this feature during the
|
||||||
protocol v2 capability advertisement. "allow" is the same as
|
protocol v2 capability advertisement. "allow" is the same as
|
||||||
"advertise" except that the server will not advertise support for this
|
"advertise" except that the server will not advertise support for this
|
||||||
feature; this is useful for load-balanced servers that cannot be
|
feature; this is useful for load-balanced servers that cannot be
|
||||||
|
@ -3,9 +3,6 @@ notes.mergeStrategy::
|
|||||||
conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or
|
conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or
|
||||||
`cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES"
|
`cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES"
|
||||||
section of linkgit:git-notes[1] for more information on each strategy.
|
section of linkgit:git-notes[1] for more information on each strategy.
|
||||||
+
|
|
||||||
This setting can be overridden by passing the `--strategy` option to
|
|
||||||
linkgit:git-notes[1].
|
|
||||||
|
|
||||||
notes.<name>.mergeStrategy::
|
notes.<name>.mergeStrategy::
|
||||||
Which merge strategy to choose when doing a notes merge into
|
Which merge strategy to choose when doing a notes merge into
|
||||||
@ -14,35 +11,28 @@ notes.<name>.mergeStrategy::
|
|||||||
linkgit:git-notes[1] for more information on the available strategies.
|
linkgit:git-notes[1] for more information on the available strategies.
|
||||||
|
|
||||||
notes.displayRef::
|
notes.displayRef::
|
||||||
Which ref (or refs, if a glob or specified more than once), in
|
The (fully qualified) refname from which to show notes when
|
||||||
addition to the default set by `core.notesRef` or
|
showing commit messages. The value of this variable can be set
|
||||||
`GIT_NOTES_REF`, to read notes from when showing commit
|
to a glob, in which case notes from all matching refs will be
|
||||||
messages with the 'git log' family of commands.
|
shown. You may also specify this configuration variable
|
||||||
|
several times. A warning will be issued for refs that do not
|
||||||
|
exist, but a glob that does not match any refs is silently
|
||||||
|
ignored.
|
||||||
+
|
+
|
||||||
This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`
|
This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`
|
||||||
environment variable, which must be a colon separated list of refs or
|
environment variable, which must be a colon separated list of refs or
|
||||||
globs.
|
globs.
|
||||||
+
|
+
|
||||||
A warning will be issued for refs that do not exist,
|
|
||||||
but a glob that does not match any refs is silently ignored.
|
|
||||||
+
|
|
||||||
This setting can be disabled by the `--no-notes` option to the 'git
|
|
||||||
log' family of commands, or by the `--notes=<ref>` option accepted by
|
|
||||||
those commands.
|
|
||||||
+
|
|
||||||
The effective value of "core.notesRef" (possibly overridden by
|
The effective value of "core.notesRef" (possibly overridden by
|
||||||
GIT_NOTES_REF) is also implicitly added to the list of refs to be
|
GIT_NOTES_REF) is also implicitly added to the list of refs to be
|
||||||
displayed.
|
displayed.
|
||||||
|
|
||||||
notes.rewrite.<command>::
|
notes.rewrite.<command>::
|
||||||
When rewriting commits with <command> (currently `amend` or
|
When rewriting commits with <command> (currently `amend` or
|
||||||
`rebase`), if this variable is `false`, git will not copy
|
`rebase`) and this variable is set to `true`, Git
|
||||||
notes from the original to the rewritten commit. Defaults to
|
automatically copies your notes from the original to the
|
||||||
`true`. See also "`notes.rewriteRef`" below.
|
rewritten commit. Defaults to `true`, but see
|
||||||
+
|
"notes.rewriteRef" below.
|
||||||
This setting can be overridden with the `GIT_NOTES_REWRITE_REF`
|
|
||||||
environment variable, which must be a colon separated list of refs or
|
|
||||||
globs.
|
|
||||||
|
|
||||||
notes.rewriteMode::
|
notes.rewriteMode::
|
||||||
When copying notes during a rewrite (see the
|
When copying notes during a rewrite (see the
|
||||||
@ -56,13 +46,14 @@ environment variable.
|
|||||||
|
|
||||||
notes.rewriteRef::
|
notes.rewriteRef::
|
||||||
When copying notes during a rewrite, specifies the (fully
|
When copying notes during a rewrite, specifies the (fully
|
||||||
qualified) ref whose notes should be copied. May be a glob,
|
qualified) ref whose notes should be copied. The ref may be a
|
||||||
in which case notes in all matching refs will be copied. You
|
glob, in which case notes in all matching refs will be copied.
|
||||||
may also specify this configuration several times.
|
You may also specify this configuration several times.
|
||||||
+
|
+
|
||||||
Does not have a default value; you must configure this variable to
|
Does not have a default value; you must configure this variable to
|
||||||
enable note rewriting. Set it to `refs/notes/commits` to enable
|
enable note rewriting. Set it to `refs/notes/commits` to enable
|
||||||
rewriting for the default commit notes.
|
rewriting for the default commit notes.
|
||||||
+
|
+
|
||||||
Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable.
|
This setting can be overridden with the `GIT_NOTES_REWRITE_REF`
|
||||||
See `notes.rewrite.<command>` above for a further description of its format.
|
environment variable, which must be a colon separated list of refs or
|
||||||
|
globs.
|
||||||
|
@ -164,16 +164,9 @@ When writing a multi-pack reachability bitmap, no new namehashes are
|
|||||||
computed; instead, any namehashes stored in an existing bitmap are
|
computed; instead, any namehashes stored in an existing bitmap are
|
||||||
permuted into their appropriate location when writing a new bitmap.
|
permuted into their appropriate location when writing a new bitmap.
|
||||||
|
|
||||||
pack.writeBitmapLookupTable::
|
|
||||||
When true, Git will include a "lookup table" section in the
|
|
||||||
bitmap index (if one is written). This table is used to defer
|
|
||||||
loading individual bitmaps as late as possible. This can be
|
|
||||||
beneficial in repositories that have relatively large bitmap
|
|
||||||
indexes. Defaults to false.
|
|
||||||
|
|
||||||
pack.writeReverseIndex::
|
pack.writeReverseIndex::
|
||||||
When true, git will write a corresponding .rev file (see:
|
When true, git will write a corresponding .rev file (see:
|
||||||
linkgit:gitformat-pack[5])
|
link:../technical/pack-format.html[Documentation/technical/pack-format.txt])
|
||||||
for each new packfile that it writes in all places except for
|
for each new packfile that it writes in all places except for
|
||||||
linkgit:git-fast-import[1] and in the bulk checkin mechanism.
|
linkgit:git-fast-import[1] and in the bulk checkin mechanism.
|
||||||
Defaults to false.
|
Defaults to false.
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
protocol.allow::
|
protocol.allow::
|
||||||
If set, provide a user defined default policy for all protocols which
|
If set, provide a user defined default policy for all protocols which
|
||||||
don't explicitly have a policy (`protocol.<name>.allow`). By default,
|
don't explicitly have a policy (`protocol.<name>.allow`). By default,
|
||||||
if unset, known-safe protocols (http, https, git, ssh, file) have a
|
if unset, known-safe protocols (http, https, git, ssh) have a
|
||||||
default policy of `always`, known-dangerous protocols (ext) have a
|
default policy of `always`, known-dangerous protocols (ext) have a
|
||||||
default policy of `never`, and all other protocols have a default
|
default policy of `never`, and all other protocols (including file)
|
||||||
policy of `user`. Supported policies:
|
have a default policy of `user`. Supported policies:
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
|
|
||||||
@ -58,6 +58,6 @@ protocol.version::
|
|||||||
* `1` - the original wire protocol with the addition of a version string
|
* `1` - the original wire protocol with the addition of a version string
|
||||||
in the initial response from the server.
|
in the initial response from the server.
|
||||||
|
|
||||||
* `2` - Wire protocol version 2, see linkgit:gitprotocol-v2[5].
|
* `2` - link:technical/protocol-v2.html[wire protocol version 2].
|
||||||
|
|
||||||
--
|
--
|
||||||
|
@ -137,8 +137,3 @@ push.negotiate::
|
|||||||
server attempt to find commits in common. If "false", Git will
|
server attempt to find commits in common. If "false", Git will
|
||||||
rely solely on the server's ref advertisement to find commits
|
rely solely on the server's ref advertisement to find commits
|
||||||
in common.
|
in common.
|
||||||
|
|
||||||
push.useBitmaps::
|
|
||||||
If set to "false", disable use of bitmaps for "git push" even if
|
|
||||||
`pack.useBitmaps` is "true", without preventing other git operations
|
|
||||||
from using bitmaps. Default is true.
|
|
||||||
|
@ -21,9 +21,6 @@ rebase.autoStash::
|
|||||||
`--autostash` options of linkgit:git-rebase[1].
|
`--autostash` options of linkgit:git-rebase[1].
|
||||||
Defaults to false.
|
Defaults to false.
|
||||||
|
|
||||||
rebase.updateRefs::
|
|
||||||
If set to true enable `--update-refs` option by default.
|
|
||||||
|
|
||||||
rebase.missingCommitsCheck::
|
rebase.missingCommitsCheck::
|
||||||
If set to "warn", git rebase -i will print a warning if some
|
If set to "warn", git rebase -i will print a warning if some
|
||||||
commits are removed (e.g. a line was deleted), however the
|
commits are removed (e.g. a line was deleted), however the
|
||||||
|
@ -1,22 +1,3 @@
|
|||||||
safe.bareRepository::
|
|
||||||
Specifies which bare repositories Git will work with. The currently
|
|
||||||
supported values are:
|
|
||||||
+
|
|
||||||
* `all`: Git works with all bare repositories. This is the default.
|
|
||||||
* `explicit`: Git only works with bare repositories specified via
|
|
||||||
the top-level `--git-dir` command-line option, or the `GIT_DIR`
|
|
||||||
environment variable (see linkgit:git[1]).
|
|
||||||
+
|
|
||||||
If you do not use bare repositories in your workflow, then it may be
|
|
||||||
beneficial to set `safe.bareRepository` to `explicit` in your global
|
|
||||||
config. This will protect you from attacks that involve cloning a
|
|
||||||
repository that contains a bare repository and running a Git command
|
|
||||||
within that directory.
|
|
||||||
+
|
|
||||||
This config setting is only respected in protected configuration (see
|
|
||||||
<<SCOPES>>). This prevents the untrusted repository from tampering with
|
|
||||||
this value.
|
|
||||||
|
|
||||||
safe.directory::
|
safe.directory::
|
||||||
These config entries specify Git-tracked directories that are
|
These config entries specify Git-tracked directories that are
|
||||||
considered safe even if they are owned by someone other than the
|
considered safe even if they are owned by someone other than the
|
||||||
@ -31,9 +12,9 @@ via `git config --add`. To reset the list of safe directories (e.g. to
|
|||||||
override any such directories specified in the system config), add a
|
override any such directories specified in the system config), add a
|
||||||
`safe.directory` entry with an empty value.
|
`safe.directory` entry with an empty value.
|
||||||
+
|
+
|
||||||
This config setting is only respected in protected configuration (see
|
This config setting is only respected when specified in a system or global
|
||||||
<<SCOPES>>). This prevents the untrusted repository from tampering with this
|
config, not when it is specified in a repository config, via the command
|
||||||
value.
|
line option `-c safe.directory=<path>`, or in environment variables.
|
||||||
+
|
+
|
||||||
The value of this setting is interpolated, i.e. `~/<path>` expands to a
|
The value of this setting is interpolated, i.e. `~/<path>` expands to a
|
||||||
path relative to the home directory and `%(prefix)/<path>` expands to a
|
path relative to the home directory and `%(prefix)/<path>` expands to a
|
||||||
|
@ -18,49 +18,17 @@ sendemail.<identity>.*::
|
|||||||
identity is selected, through either the command-line or
|
identity is selected, through either the command-line or
|
||||||
`sendemail.identity`.
|
`sendemail.identity`.
|
||||||
|
|
||||||
sendemail.multiEdit::
|
|
||||||
If true (default), a single editor instance will be spawned to edit
|
|
||||||
files you have to edit (patches when `--annotate` is used, and the
|
|
||||||
summary when `--compose` is used). If false, files will be edited one
|
|
||||||
after the other, spawning a new editor each time.
|
|
||||||
|
|
||||||
sendemail.confirm::
|
|
||||||
Sets the default for whether to confirm before sending. Must be
|
|
||||||
one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm`
|
|
||||||
in the linkgit:git-send-email[1] documentation for the meaning of these
|
|
||||||
values.
|
|
||||||
|
|
||||||
sendemail.aliasesFile::
|
sendemail.aliasesFile::
|
||||||
To avoid typing long email addresses, point this to one or more
|
|
||||||
email aliases files. You must also supply `sendemail.aliasFileType`.
|
|
||||||
|
|
||||||
sendemail.aliasFileType::
|
sendemail.aliasFileType::
|
||||||
Format of the file(s) specified in sendemail.aliasesFile. Must be
|
|
||||||
one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'.
|
|
||||||
+
|
|
||||||
What an alias file in each format looks like can be found in
|
|
||||||
the documentation of the email program of the same name. The
|
|
||||||
differences and limitations from the standard formats are
|
|
||||||
described below:
|
|
||||||
+
|
|
||||||
--
|
|
||||||
sendmail;;
|
|
||||||
* Quoted aliases and quoted addresses are not supported: lines that
|
|
||||||
contain a `"` symbol are ignored.
|
|
||||||
* Redirection to a file (`/path/name`) or pipe (`|command`) is not
|
|
||||||
supported.
|
|
||||||
* File inclusion (`:include: /path/name`) is not supported.
|
|
||||||
* Warnings are printed on the standard error output for any
|
|
||||||
explicitly unsupported constructs, and any other lines that are not
|
|
||||||
recognized by the parser.
|
|
||||||
--
|
|
||||||
sendemail.annotate::
|
sendemail.annotate::
|
||||||
sendemail.bcc::
|
sendemail.bcc::
|
||||||
sendemail.cc::
|
sendemail.cc::
|
||||||
sendemail.ccCmd::
|
sendemail.ccCmd::
|
||||||
sendemail.chainReplyTo::
|
sendemail.chainReplyTo::
|
||||||
|
sendemail.confirm::
|
||||||
sendemail.envelopeSender::
|
sendemail.envelopeSender::
|
||||||
sendemail.from::
|
sendemail.from::
|
||||||
|
sendemail.multiEdit::
|
||||||
sendemail.signedoffbycc::
|
sendemail.signedoffbycc::
|
||||||
sendemail.smtpPass::
|
sendemail.smtpPass::
|
||||||
sendemail.suppresscc::
|
sendemail.suppresscc::
|
||||||
@ -76,9 +44,7 @@ sendemail.thread::
|
|||||||
sendemail.transferEncoding::
|
sendemail.transferEncoding::
|
||||||
sendemail.validate::
|
sendemail.validate::
|
||||||
sendemail.xmailer::
|
sendemail.xmailer::
|
||||||
These configuration variables all provide a default for
|
See linkgit:git-send-email[1] for description.
|
||||||
linkgit:git-send-email[1] command-line options. See its
|
|
||||||
documentation for details.
|
|
||||||
|
|
||||||
sendemail.signedoffcc (deprecated)::
|
sendemail.signedoffcc (deprecated)::
|
||||||
Deprecated alias for `sendemail.signedoffbycc`.
|
Deprecated alias for `sendemail.signedoffbycc`.
|
||||||
|
@ -13,7 +13,7 @@ Note that this is currently limited to detecting credentials in
|
|||||||
You might want to enable this to prevent inadvertent credentials
|
You might want to enable this to prevent inadvertent credentials
|
||||||
exposure, e.g. because:
|
exposure, e.g. because:
|
||||||
+
|
+
|
||||||
* The OS or system where you're running git may not provide a way or
|
* The OS or system where you're running git may not provide way way or
|
||||||
otherwise allow you to configure the permissions of the
|
otherwise allow you to configure the permissions of the
|
||||||
configuration file where the username and/or password are stored.
|
configuration file where the username and/or password are stored.
|
||||||
* Even if it does, having such data stored "at rest" might expose you
|
* Even if it does, having such data stored "at rest" might expose you
|
||||||
|
@ -49,9 +49,9 @@ uploadpack.packObjectsHook::
|
|||||||
`pack-objects` to the hook, and expects a completed packfile on
|
`pack-objects` to the hook, and expects a completed packfile on
|
||||||
stdout.
|
stdout.
|
||||||
+
|
+
|
||||||
Note that this configuration variable is only respected when it is specified
|
Note that this configuration variable is ignored if it is seen in the
|
||||||
in protected configuration (see <<SCOPES>>). This is a safety measure
|
repository-level config (this is a safety measure against fetching from
|
||||||
against fetching from untrusted repositories.
|
untrusted repositories).
|
||||||
|
|
||||||
uploadpack.allowFilter::
|
uploadpack.allowFilter::
|
||||||
If this option is set, `upload-pack` will support partial
|
If this option is set, `upload-pack` will support partial
|
||||||
|
@ -433,13 +433,6 @@ they will make the patch impossible to apply:
|
|||||||
* deleting context or removal lines
|
* deleting context or removal lines
|
||||||
* modifying the contents of context or removal lines
|
* modifying the contents of context or removal lines
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/add.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-status[1]
|
linkgit:git-status[1]
|
||||||
|
@ -112,7 +112,10 @@ default. You can use `--no-utf8` to override this.
|
|||||||
am.threeWay configuration variable. For more information,
|
am.threeWay configuration variable. For more information,
|
||||||
see am.threeWay in linkgit:git-config[1].
|
see am.threeWay in linkgit:git-config[1].
|
||||||
|
|
||||||
include::rerere-options.txt[]
|
--rerere-autoupdate::
|
||||||
|
--no-rerere-autoupdate::
|
||||||
|
Allow the rerere mechanism to update the index with the
|
||||||
|
result of auto-conflict resolution if possible.
|
||||||
|
|
||||||
--ignore-space-change::
|
--ignore-space-change::
|
||||||
--ignore-whitespace::
|
--ignore-whitespace::
|
||||||
@ -258,13 +261,6 @@ This command can run `applypatch-msg`, `pre-applypatch`,
|
|||||||
and `post-applypatch` hooks. See linkgit:githooks[5] for more
|
and `post-applypatch` hooks. See linkgit:githooks[5] for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/am.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-apply[1].
|
linkgit:git-apply[1].
|
||||||
|
@ -263,9 +263,13 @@ has no effect when `--index` or `--cached` is in use.
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
apply.ignoreWhitespace::
|
||||||
|
Set to 'change' if you want changes in whitespace to be ignored by default.
|
||||||
include::config/apply.txt[]
|
Set to one of: no, none, never, false if you want changes in
|
||||||
|
whitespace to be significant.
|
||||||
|
apply.whitespace::
|
||||||
|
When no `--whitespace` flag is given from the command
|
||||||
|
line, this configuration item is used as the default.
|
||||||
|
|
||||||
SUBMODULES
|
SUBMODULES
|
||||||
----------
|
----------
|
||||||
|
@ -34,12 +34,10 @@ OPTIONS
|
|||||||
-------
|
-------
|
||||||
|
|
||||||
--format=<fmt>::
|
--format=<fmt>::
|
||||||
Format of the resulting archive. Possible values are `tar`,
|
Format of the resulting archive: 'tar' or 'zip'. If this option
|
||||||
`zip`, `tar.gz`, `tgz`, and any format defined using the
|
|
||||||
configuration option `tar.<format>.command`. If `--format`
|
|
||||||
is not given, and the output file is specified, the format is
|
is not given, and the output file is specified, the format is
|
||||||
inferred from the filename if possible (e.g. writing to `foo.zip`
|
inferred from the filename if possible (e.g. writing to "foo.zip"
|
||||||
makes the output to be in the `zip` format). Otherwise the output
|
makes the output to be in the zip format). Otherwise the output
|
||||||
format is `tar`.
|
format is `tar`.
|
||||||
|
|
||||||
-l::
|
-l::
|
||||||
@ -145,16 +143,17 @@ tar.<format>.command::
|
|||||||
is executed using the shell with the generated tar file on its
|
is executed using the shell with the generated tar file on its
|
||||||
standard input, and should produce the final output on its
|
standard input, and should produce the final output on its
|
||||||
standard output. Any compression-level options will be passed
|
standard output. Any compression-level options will be passed
|
||||||
to the command (e.g., `-9`).
|
to the command (e.g., "-9"). An output file with the same
|
||||||
|
extension as `<format>` will be use this format if no other
|
||||||
|
format is given.
|
||||||
+
|
+
|
||||||
The `tar.gz` and `tgz` formats are defined automatically and use the
|
The "tar.gz" and "tgz" formats are defined automatically and default to
|
||||||
magic command `git archive gzip` by default, which invokes an internal
|
`gzip -cn`. You may override them with custom commands.
|
||||||
implementation of gzip.
|
|
||||||
|
|
||||||
tar.<format>.remote::
|
tar.<format>.remote::
|
||||||
If true, enable the format for use by remote clients via
|
If true, enable `<format>` for use by remote clients via
|
||||||
linkgit:git-upload-archive[1]. Defaults to false for
|
linkgit:git-upload-archive[1]. Defaults to false for
|
||||||
user-defined formats, but true for the `tar.gz` and `tgz`
|
user-defined formats, but true for the "tar.gz" and "tgz"
|
||||||
formats.
|
formats.
|
||||||
|
|
||||||
[[ATTRIBUTES]]
|
[[ATTRIBUTES]]
|
||||||
|
@ -241,12 +241,6 @@ MAPPING AUTHORS
|
|||||||
|
|
||||||
See linkgit:gitmailmap[5].
|
See linkgit:gitmailmap[5].
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/blame.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
@ -336,10 +336,6 @@ CONFIGURATION
|
|||||||
`--list` is used or implied. The default is to use a pager.
|
`--list` is used or implied. The default is to use a pager.
|
||||||
See linkgit:git-config[1].
|
See linkgit:git-config[1].
|
||||||
|
|
||||||
include::includes/cmd-config-section-rest.txt[]
|
|
||||||
|
|
||||||
include::config/branch.txt[]
|
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
@ -9,7 +9,6 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git bugreport' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
|
'git bugreport' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
|
||||||
[--diagnose[=<mode>]]
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -32,10 +31,6 @@ The following information is captured automatically:
|
|||||||
- A list of enabled hooks
|
- A list of enabled hooks
|
||||||
- $SHELL
|
- $SHELL
|
||||||
|
|
||||||
Additional information may be gathered into a separate zip archive using the
|
|
||||||
`--diagnose` option, and can be attached alongside the bugreport document to
|
|
||||||
provide additional context to readers.
|
|
||||||
|
|
||||||
This tool is invoked via the typical Git setup process, which means that in some
|
This tool is invoked via the typical Git setup process, which means that in some
|
||||||
cases, it might not be able to launch - for example, if a relevant config file
|
cases, it might not be able to launch - for example, if a relevant config file
|
||||||
is unreadable. In this kind of scenario, it may be helpful to manually gather
|
is unreadable. In this kind of scenario, it may be helpful to manually gather
|
||||||
@ -54,19 +49,6 @@ OPTIONS
|
|||||||
named 'git-bugreport-<formatted suffix>'. This should take the form of a
|
named 'git-bugreport-<formatted suffix>'. This should take the form of a
|
||||||
strftime(3) format string; the current local time will be used.
|
strftime(3) format string; the current local time will be used.
|
||||||
|
|
||||||
--no-diagnose::
|
|
||||||
--diagnose[=<mode>]::
|
|
||||||
Create a zip archive of supplemental information about the user's
|
|
||||||
machine, Git client, and repository state. The archive is written to the
|
|
||||||
same output directory as the bug report and is named
|
|
||||||
'git-diagnostics-<formatted suffix>'.
|
|
||||||
+
|
|
||||||
Without `mode` specified, the diagnostic archive will contain the default set of
|
|
||||||
statistics reported by `git diagnose`. An optional `mode` value may be specified
|
|
||||||
to change which information is included in the archive. See
|
|
||||||
linkgit:git-diagnose[1] for the list of valid values for `mode` and details
|
|
||||||
about their usage.
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -42,7 +42,7 @@ BUNDLE FORMAT
|
|||||||
Bundles are `.pack` files (see linkgit:git-pack-objects[1]) with a
|
Bundles are `.pack` files (see linkgit:git-pack-objects[1]) with a
|
||||||
header indicating what references are contained within the bundle.
|
header indicating what references are contained within the bundle.
|
||||||
|
|
||||||
Like the packed archive format itself bundles can either be
|
Like the the packed archive format itself bundles can either be
|
||||||
self-contained, or be created using exclusions.
|
self-contained, or be created using exclusions.
|
||||||
See the "OBJECT PREREQUISITES" section below.
|
See the "OBJECT PREREQUISITES" section below.
|
||||||
|
|
||||||
@ -56,8 +56,10 @@ using "thin packs", bundles created using exclusions are smaller in
|
|||||||
size. That they're "thin" under the hood is merely noted here as a
|
size. That they're "thin" under the hood is merely noted here as a
|
||||||
curiosity, and as a reference to other documentation.
|
curiosity, and as a reference to other documentation.
|
||||||
|
|
||||||
See linkgit:gitformat-bundle[5] for more details and the discussion of
|
See link:technical/bundle-format.html[the `bundle-format`
|
||||||
"thin pack" in linkgit:gitformat-pack[5] for further details.
|
documentation] for more details and the discussion of "thin pack" in
|
||||||
|
link:technical/pack-format.html[the pack format documentation] for
|
||||||
|
further details.
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
@ -75,7 +77,7 @@ verify <file>::
|
|||||||
commits exist and are fully linked in the current repository.
|
commits exist and are fully linked in the current repository.
|
||||||
Then, 'git bundle' prints a list of missing commits, if any.
|
Then, 'git bundle' prints a list of missing commits, if any.
|
||||||
Finally, information about additional capabilities, such as "object
|
Finally, information about additional capabilities, such as "object
|
||||||
filter", is printed. See "Capabilities" in linkgit:gitformat-bundle[5]
|
filter", is printed. See "Capabilities" in link:technical/bundle-format.html
|
||||||
for more information. The exit code is zero for success, but will
|
for more information. The exit code is zero for success, but will
|
||||||
be nonzero if the bundle file is invalid.
|
be nonzero if the bundle file is invalid.
|
||||||
|
|
||||||
@ -335,11 +337,6 @@ You can also see what references it offers:
|
|||||||
$ git ls-remote mybundle
|
$ git ls-remote mybundle
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
FILE FORMAT
|
|
||||||
-----------
|
|
||||||
|
|
||||||
See linkgit:gitformat-bundle[5].
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||||||
'git cat-file' (-t | -s) [--allow-unknown-type] <object>
|
'git cat-file' (-t | -s) [--allow-unknown-type] <object>
|
||||||
'git cat-file' (--batch | --batch-check | --batch-command) [--batch-all-objects]
|
'git cat-file' (--batch | --batch-check | --batch-command) [--batch-all-objects]
|
||||||
[--buffer] [--follow-symlinks] [--unordered]
|
[--buffer] [--follow-symlinks] [--unordered]
|
||||||
[--textconv | --filters] [-z]
|
[--textconv | --filters]
|
||||||
'git cat-file' (--textconv | --filters)
|
'git cat-file' (--textconv | --filters)
|
||||||
[<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]
|
[<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]
|
||||||
|
|
||||||
@ -63,12 +63,6 @@ OPTIONS
|
|||||||
or to ask for a "blob" with `<object>` being a tag object that
|
or to ask for a "blob" with `<object>` being a tag object that
|
||||||
points at it.
|
points at it.
|
||||||
|
|
||||||
--[no-]mailmap::
|
|
||||||
--[no-]use-mailmap::
|
|
||||||
Use mailmap file to map author, committer and tagger names
|
|
||||||
and email addresses to canonical real names and email addresses.
|
|
||||||
See linkgit:git-shortlog[1].
|
|
||||||
|
|
||||||
--textconv::
|
--textconv::
|
||||||
Show the content as transformed by a textconv filter. In this case,
|
Show the content as transformed by a textconv filter. In this case,
|
||||||
`<object>` has to be of the form `<tree-ish>:<path>`, or `:<path>` in
|
`<object>` has to be of the form `<tree-ish>:<path>`, or `:<path>` in
|
||||||
@ -213,11 +207,6 @@ respectively print:
|
|||||||
/etc/passwd
|
/etc/passwd
|
||||||
--
|
--
|
||||||
|
|
||||||
-z::
|
|
||||||
Only meaningful with `--batch`, `--batch-check`, or
|
|
||||||
`--batch-command`; input is NUL-delimited instead of
|
|
||||||
newline-delimited.
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT
|
OUTPUT
|
||||||
------
|
------
|
||||||
|
@ -600,13 +600,6 @@ $ edit frotz
|
|||||||
$ git add frotz
|
$ git add frotz
|
||||||
------------
|
------------
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/checkout.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-switch[1],
|
linkgit:git-switch[1],
|
||||||
|
@ -156,7 +156,10 @@ effect to your index in a row.
|
|||||||
Pass the merge strategy-specific option through to the
|
Pass the merge strategy-specific option through to the
|
||||||
merge strategy. See linkgit:git-merge[1] for details.
|
merge strategy. See linkgit:git-merge[1] for details.
|
||||||
|
|
||||||
include::rerere-options.txt[]
|
--rerere-autoupdate::
|
||||||
|
--no-rerere-autoupdate::
|
||||||
|
Allow the rerere mechanism to update the index with the
|
||||||
|
result of auto-conflict resolution if possible.
|
||||||
|
|
||||||
SEQUENCER SUBCOMMANDS
|
SEQUENCER SUBCOMMANDS
|
||||||
---------------------
|
---------------------
|
||||||
|
@ -133,13 +133,6 @@ help::
|
|||||||
|
|
||||||
Show brief usage of interactive git-clean.
|
Show brief usage of interactive git-clean.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/clean.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:gitignore[5]
|
linkgit:gitignore[5]
|
||||||
|
@ -323,13 +323,6 @@ or `--mirror` is given)
|
|||||||
for `host.xz:foo/.git`). Cloning into an existing directory
|
for `host.xz:foo/.git`). Cloning into an existing directory
|
||||||
is only allowed if the directory is empty.
|
is only allowed if the directory is empty.
|
||||||
|
|
||||||
--bundle-uri=<uri>::
|
|
||||||
Before fetching from the remote, fetch a bundle from the given
|
|
||||||
`<uri>` and unbundle the data into the local repository. The refs
|
|
||||||
in the bundle will be stored under the hidden `refs/bundle/*`
|
|
||||||
namespace. This option is incompatible with `--depth`,
|
|
||||||
`--shallow-since`, and `--shallow-exclude`.
|
|
||||||
|
|
||||||
:git-clone: 1
|
:git-clone: 1
|
||||||
include::urls.txt[]
|
include::urls.txt[]
|
||||||
|
|
||||||
@ -370,15 +363,6 @@ $ cd my-linux
|
|||||||
$ git clone --bare -l /home/proj/.git /pub/scm/proj.git
|
$ git clone --bare -l /home/proj/.git /pub/scm/proj.git
|
||||||
------------
|
------------
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/init.txt[]
|
|
||||||
|
|
||||||
include::config/clone.txt[]
|
|
||||||
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -74,13 +74,6 @@ v2.4.3 v2.4.4 v2.4.5 v2.4.6 v2.4.7
|
|||||||
v2.4.8 v2.4.9
|
v2.4.8 v2.4.9
|
||||||
------------
|
------------
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/column.txt[]
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -142,18 +142,6 @@ $ git show-ref -s | git commit-graph write --stdin-commits
|
|||||||
$ git rev-parse HEAD | git commit-graph write --stdin-commits --append
|
$ git rev-parse HEAD | git commit-graph write --stdin-commits --append
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/commitgraph.txt[]
|
|
||||||
|
|
||||||
|
|
||||||
FILE FORMAT
|
|
||||||
-----------
|
|
||||||
|
|
||||||
see linkgit:gitformat-commit-graph[5].
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -557,10 +557,6 @@ The editor used to edit the commit log message will be chosen from the
|
|||||||
`VISUAL` environment variable, or the `EDITOR` environment variable (in that
|
`VISUAL` environment variable, or the `EDITOR` environment variable (in that
|
||||||
order). See linkgit:git-var[1] for details.
|
order). See linkgit:git-var[1] for details.
|
||||||
|
|
||||||
include::includes/cmd-config-section-rest.txt[]
|
|
||||||
|
|
||||||
include::config/commit.txt[]
|
|
||||||
|
|
||||||
HOOKS
|
HOOKS
|
||||||
-----
|
-----
|
||||||
This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
|
This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
|
||||||
|
@ -297,20 +297,23 @@ The default is to use a pager.
|
|||||||
FILES
|
FILES
|
||||||
-----
|
-----
|
||||||
|
|
||||||
By default, 'git config' will read configuration options from multiple
|
If not set explicitly with `--file`, there are four files where
|
||||||
files:
|
'git config' will search for configuration options:
|
||||||
|
|
||||||
$(prefix)/etc/gitconfig::
|
$(prefix)/etc/gitconfig::
|
||||||
System-wide configuration file.
|
System-wide configuration file.
|
||||||
|
|
||||||
$XDG_CONFIG_HOME/git/config::
|
$XDG_CONFIG_HOME/git/config::
|
||||||
|
Second user-specific configuration file. If $XDG_CONFIG_HOME is not set
|
||||||
|
or empty, `$HOME/.config/git/config` will be used. Any single-valued
|
||||||
|
variable set in this file will be overwritten by whatever is in
|
||||||
|
`~/.gitconfig`. It is a good idea not to create this file if
|
||||||
|
you sometimes use older versions of Git, as support for this
|
||||||
|
file was added fairly recently.
|
||||||
|
|
||||||
~/.gitconfig::
|
~/.gitconfig::
|
||||||
User-specific configuration files. When the XDG_CONFIG_HOME environment
|
User-specific configuration file. Also called "global"
|
||||||
variable is not set or empty, $HOME/.config/ is used as
|
configuration file.
|
||||||
$XDG_CONFIG_HOME.
|
|
||||||
+
|
|
||||||
These are also called "global" configuration files. If both files exist, both
|
|
||||||
files are read in the order given above.
|
|
||||||
|
|
||||||
$GIT_DIR/config::
|
$GIT_DIR/config::
|
||||||
Repository specific configuration file.
|
Repository specific configuration file.
|
||||||
@ -319,80 +322,28 @@ $GIT_DIR/config.worktree::
|
|||||||
This is optional and is only searched when
|
This is optional and is only searched when
|
||||||
`extensions.worktreeConfig` is present in $GIT_DIR/config.
|
`extensions.worktreeConfig` is present in $GIT_DIR/config.
|
||||||
|
|
||||||
You may also provide additional configuration parameters when running any
|
If no further options are given, all reading options will read all of these
|
||||||
git command by using the `-c` option. See linkgit:git[1] for details.
|
files that are available. If the global or the system-wide configuration
|
||||||
|
file are not available they will be ignored. If the repository configuration
|
||||||
Options will be read from all of these files that are available. If the
|
file is not available or readable, 'git config' will exit with a non-zero
|
||||||
global or the system-wide configuration files are missing or unreadable they
|
error code. However, in neither case will an error message be issued.
|
||||||
will be ignored. If the repository configuration file is missing or unreadable,
|
|
||||||
'git config' will exit with a non-zero error code. An error message is produced
|
|
||||||
if the file is unreadable, but not if it is missing.
|
|
||||||
|
|
||||||
The files are read in the order given above, with last value found taking
|
The files are read in the order given above, with last value found taking
|
||||||
precedence over values read earlier. When multiple values are taken then all
|
precedence over values read earlier. When multiple values are taken then all
|
||||||
values of a key from all files will be used.
|
values of a key from all files will be used.
|
||||||
|
|
||||||
By default, options are only written to the repository specific
|
You may override individual configuration parameters when running any git
|
||||||
|
command by using the `-c` option. See linkgit:git[1] for details.
|
||||||
|
|
||||||
|
All writing options will per default write to the repository specific
|
||||||
configuration file. Note that this also affects options like `--replace-all`
|
configuration file. Note that this also affects options like `--replace-all`
|
||||||
and `--unset`. *'git config' will only ever change one file at a time*.
|
and `--unset`. *'git config' will only ever change one file at a time*.
|
||||||
|
|
||||||
You can limit which configuration sources are read from or written to by
|
You can override these rules using the `--global`, `--system`,
|
||||||
specifying the path of a file with the `--file` option, or by specifying a
|
`--local`, `--worktree`, and `--file` command-line options; see
|
||||||
configuration scope with `--system`, `--global`, `--local`, or `--worktree`.
|
<<OPTIONS>> above.
|
||||||
For more, see <<OPTIONS>> above.
|
|
||||||
|
|
||||||
[[SCOPES]]
|
|
||||||
SCOPES
|
|
||||||
------
|
|
||||||
|
|
||||||
Each configuration source falls within a configuration scope. The scopes
|
|
||||||
are:
|
|
||||||
|
|
||||||
system::
|
|
||||||
$(prefix)/etc/gitconfig
|
|
||||||
|
|
||||||
global::
|
|
||||||
$XDG_CONFIG_HOME/git/config
|
|
||||||
+
|
|
||||||
~/.gitconfig
|
|
||||||
|
|
||||||
local::
|
|
||||||
$GIT_DIR/config
|
|
||||||
|
|
||||||
worktree::
|
|
||||||
$GIT_DIR/config.worktree
|
|
||||||
|
|
||||||
command::
|
|
||||||
GIT_CONFIG_{COUNT,KEY,VALUE} environment variables (see <<ENVIRONMENT>>
|
|
||||||
below)
|
|
||||||
+
|
|
||||||
the `-c` option
|
|
||||||
|
|
||||||
With the exception of 'command', each scope corresponds to a command line
|
|
||||||
option: `--system`, `--global`, `--local`, `--worktree`.
|
|
||||||
|
|
||||||
When reading options, specifying a scope will only read options from the
|
|
||||||
files within that scope. When writing options, specifying a scope will write
|
|
||||||
to the files within that scope (instead of the repository specific
|
|
||||||
configuration file). See <<OPTIONS>> above for a complete description.
|
|
||||||
|
|
||||||
Most configuration options are respected regardless of the scope it is
|
|
||||||
defined in, but some options are only respected in certain scopes. See the
|
|
||||||
respective option's documentation for the full details.
|
|
||||||
|
|
||||||
Protected configuration
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Protected configuration refers to the 'system', 'global', and 'command' scopes.
|
|
||||||
For security reasons, certain options are only respected when they are
|
|
||||||
specified in protected configuration, and ignored otherwise.
|
|
||||||
|
|
||||||
Git treats these scopes as if they are controlled by the user or a trusted
|
|
||||||
administrator. This is because an attacker who controls these scopes can do
|
|
||||||
substantial harm without using Git, so it is assumed that the user's environment
|
|
||||||
protects these scopes against attackers.
|
|
||||||
|
|
||||||
[[ENVIRONMENT]]
|
|
||||||
ENVIRONMENT
|
ENVIRONMENT
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
git-diagnose(1)
|
|
||||||
================
|
|
||||||
|
|
||||||
NAME
|
|
||||||
----
|
|
||||||
git-diagnose - Generate a zip archive of diagnostic information
|
|
||||||
|
|
||||||
SYNOPSIS
|
|
||||||
--------
|
|
||||||
[verse]
|
|
||||||
'git diagnose' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
|
|
||||||
[--mode=<mode>]
|
|
||||||
|
|
||||||
DESCRIPTION
|
|
||||||
-----------
|
|
||||||
Collects detailed information about the user's machine, Git client, and
|
|
||||||
repository state and packages that information into a zip archive. The
|
|
||||||
generated archive can then, for example, be shared with the Git mailing list to
|
|
||||||
help debug an issue or serve as a reference for independent debugging.
|
|
||||||
|
|
||||||
By default, the following information is captured in the archive:
|
|
||||||
|
|
||||||
* 'git version --build-options'
|
|
||||||
* The path to the repository root
|
|
||||||
* The available disk space on the filesystem
|
|
||||||
* The name and size of each packfile, including those in alternate object
|
|
||||||
stores
|
|
||||||
* The total count of loose objects, as well as counts broken down by
|
|
||||||
`.git/objects` subdirectory
|
|
||||||
|
|
||||||
Additional information can be collected by selecting a different diagnostic mode
|
|
||||||
using the `--mode` option.
|
|
||||||
|
|
||||||
This tool differs from linkgit:git-bugreport[1] in that it collects much more
|
|
||||||
detailed information with a greater focus on reporting the size and data shape
|
|
||||||
of repository contents.
|
|
||||||
|
|
||||||
OPTIONS
|
|
||||||
-------
|
|
||||||
-o <path>::
|
|
||||||
--output-directory <path>::
|
|
||||||
Place the resulting diagnostics archive in `<path>` instead of the
|
|
||||||
current directory.
|
|
||||||
|
|
||||||
-s <format>::
|
|
||||||
--suffix <format>::
|
|
||||||
Specify an alternate suffix for the diagnostics archive name, to create
|
|
||||||
a file named 'git-diagnostics-<formatted suffix>'. This should take the
|
|
||||||
form of a strftime(3) format string; the current local time will be
|
|
||||||
used.
|
|
||||||
|
|
||||||
--mode=(stats|all)::
|
|
||||||
Specify the type of diagnostics that should be collected. The default behavior
|
|
||||||
of 'git diagnose' is equivalent to `--mode=stats`.
|
|
||||||
+
|
|
||||||
The `--mode=all` option collects everything included in `--mode=stats`, as well
|
|
||||||
as copies of `.git`, `.git/hooks`, `.git/info`, `.git/logs`, and
|
|
||||||
`.git/objects/info` directories. This additional information may be sensitive,
|
|
||||||
as it can be used to reconstruct the full contents of the diagnosed repository.
|
|
||||||
Users should exercise caution when sharing an archive generated with
|
|
||||||
`--mode=all`.
|
|
||||||
|
|
||||||
GIT
|
|
||||||
---
|
|
||||||
Part of the linkgit:git[1] suite
|
|
@ -213,13 +213,6 @@ $ git diff -R <2>
|
|||||||
rewrites (very expensive).
|
rewrites (very expensive).
|
||||||
<2> Output diff in reverse.
|
<2> Output diff in reverse.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/diff.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
diff(1),
|
diff(1),
|
||||||
|
@ -113,14 +113,33 @@ instead. `--no-symlinks` is the default on Windows.
|
|||||||
|
|
||||||
See linkgit:git-diff[1] for the full list of supported options.
|
See linkgit:git-diff[1] for the full list of supported options.
|
||||||
|
|
||||||
CONFIGURATION
|
CONFIG VARIABLES
|
||||||
-------------
|
----------------
|
||||||
'git difftool' falls back to 'git mergetool' config variables when the
|
'git difftool' falls back to 'git mergetool' config variables when the
|
||||||
difftool equivalents have not been defined.
|
difftool equivalents have not been defined.
|
||||||
|
|
||||||
include::includes/cmd-config-section-rest.txt[]
|
diff.tool::
|
||||||
|
The default diff tool to use.
|
||||||
|
|
||||||
include::config/difftool.txt[]
|
diff.guitool::
|
||||||
|
The default diff tool to use when `--gui` is specified.
|
||||||
|
|
||||||
|
difftool.<tool>.path::
|
||||||
|
Override the path for the given tool. This is useful in case
|
||||||
|
your tool is not in the PATH.
|
||||||
|
|
||||||
|
difftool.<tool>.cmd::
|
||||||
|
Specify the command to invoke the specified diff tool.
|
||||||
|
+
|
||||||
|
See the `--tool=<tool>` option above for more details.
|
||||||
|
|
||||||
|
difftool.prompt::
|
||||||
|
Prompt before each invocation of the diff tool.
|
||||||
|
|
||||||
|
difftool.trustExitCode::
|
||||||
|
Exit difftool if the invoked diff tool returns a non-zero exit status.
|
||||||
|
+
|
||||||
|
See the `--trust-exit-code` option above for more details.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
@ -1564,13 +1564,6 @@ operator can use this facility to peek at the objects and refs from an
|
|||||||
import in progress, at the cost of some added running time and worse
|
import in progress, at the cost of some added running time and worse
|
||||||
compression.
|
compression.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/fastimport.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-fast-export[1]
|
linkgit:git-fast-export[1]
|
||||||
|
@ -285,13 +285,6 @@ linkgit:git-gc[1]).
|
|||||||
|
|
||||||
include::transfer-data-leaks.txt[]
|
include::transfer-data-leaks.txt[]
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/fetch.txt[]
|
|
||||||
|
|
||||||
BUGS
|
BUGS
|
||||||
----
|
----
|
||||||
Using --recurse-submodules can only fetch new commits in submodules that are
|
Using --recurse-submodules can only fetch new commits in submodules that are
|
||||||
|
@ -275,17 +275,6 @@ header). Note also that `git send-email` already handles this
|
|||||||
transformation for you, and this option should not be used if you are
|
transformation for you, and this option should not be used if you are
|
||||||
feeding the result to `git send-email`.
|
feeding the result to `git send-email`.
|
||||||
|
|
||||||
--[no-]force-in-body-from::
|
|
||||||
With the e-mail sender specified via the `--from` option, by
|
|
||||||
default, an in-body "From:" to identify the real author of
|
|
||||||
the commit is added at the top of the commit log message if
|
|
||||||
the sender is different from the author. With this option,
|
|
||||||
the in-body "From:" is added even when the sender and the
|
|
||||||
author have the same name and address, which may help if the
|
|
||||||
mailing list software mangles the sender's identity.
|
|
||||||
Defaults to the value of the `format.forceInBodyFrom`
|
|
||||||
configuration variable.
|
|
||||||
|
|
||||||
--add-header=<header>::
|
--add-header=<header>::
|
||||||
Add an arbitrary header to the email headers. This is in addition
|
Add an arbitrary header to the email headers. This is in addition
|
||||||
to any configured headers, and may be used multiple times.
|
to any configured headers, and may be used multiple times.
|
||||||
|
@ -107,8 +107,6 @@ care about this output and want to speed it up further.
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/fsck.txt[]
|
include::config/fsck.txt[]
|
||||||
|
|
||||||
DISCUSSION
|
DISCUSSION
|
||||||
|
@ -110,7 +110,8 @@ users and their repositories.
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
The below documentation is the same as what's found in
|
||||||
|
linkgit:git-config[1]:
|
||||||
|
|
||||||
include::config/gc.txt[]
|
include::config/gc.txt[]
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@ SYNOPSIS
|
|||||||
[--break] [--heading] [-p | --show-function]
|
[--break] [--heading] [-p | --show-function]
|
||||||
[-A <post-context>] [-B <pre-context>] [-C <context>]
|
[-A <post-context>] [-B <pre-context>] [-C <context>]
|
||||||
[-W | --function-context]
|
[-W | --function-context]
|
||||||
[(-m | --max-count) <num>]
|
|
||||||
[--threads <num>]
|
[--threads <num>]
|
||||||
[-f <file>] [-e] <pattern>
|
[-f <file>] [-e] <pattern>
|
||||||
[--and|--or|--not|(|)|-e <pattern>...]
|
[--and|--or|--not|(|)|-e <pattern>...]
|
||||||
@ -239,14 +238,6 @@ providing this option will cause it to die.
|
|||||||
`git diff` works out patch hunk headers (see 'Defining a
|
`git diff` works out patch hunk headers (see 'Defining a
|
||||||
custom hunk-header' in linkgit:gitattributes[5]).
|
custom hunk-header' in linkgit:gitattributes[5]).
|
||||||
|
|
||||||
-m <num>::
|
|
||||||
--max-count <num>::
|
|
||||||
Limit the amount of matches per file. When using the `-v` or
|
|
||||||
`--invert-match` option, the search stops after the specified
|
|
||||||
number of non-matches. A value of -1 will return unlimited
|
|
||||||
results (the default). A value of 0 will exit immediately with
|
|
||||||
a non-zero status.
|
|
||||||
|
|
||||||
--threads <num>::
|
--threads <num>::
|
||||||
Number of grep worker threads to use.
|
Number of grep worker threads to use.
|
||||||
See `grep.threads` in 'CONFIGURATION' for more information.
|
See `grep.threads` in 'CONFIGURATION' for more information.
|
||||||
@ -343,9 +334,34 @@ performance in this case, it might be desirable to use `--threads=1`.
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
grep.lineNumber::
|
||||||
|
If set to true, enable `-n` option by default.
|
||||||
|
|
||||||
|
grep.column::
|
||||||
|
If set to true, enable the `--column` option by default.
|
||||||
|
|
||||||
|
grep.patternType::
|
||||||
|
Set the default matching behavior. Using a value of 'basic', 'extended',
|
||||||
|
'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,
|
||||||
|
`--fixed-strings`, or `--perl-regexp` option accordingly, while the
|
||||||
|
value 'default' will return to the default matching behavior.
|
||||||
|
|
||||||
|
grep.extendedRegexp::
|
||||||
|
If set to true, enable `--extended-regexp` option by default. This
|
||||||
|
option is ignored when the `grep.patternType` option is set to a value
|
||||||
|
other than 'default'.
|
||||||
|
|
||||||
|
grep.threads::
|
||||||
|
Number of grep worker threads to use. If unset (or set to 0), Git will
|
||||||
|
use as many threads as the number of logical cores available.
|
||||||
|
|
||||||
|
grep.fullName::
|
||||||
|
If set to true, enable `--full-name` option by default.
|
||||||
|
|
||||||
|
grep.fallbackToNoIndex::
|
||||||
|
If set to true, fall back to git grep --no-index if git grep
|
||||||
|
is executed outside of a git repository. Defaults to false.
|
||||||
|
|
||||||
include::config/grep.txt[]
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -9,16 +9,14 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git help' [-a|--all] [--[no-]verbose] [--[no-]external-commands] [--[no-]aliases]
|
'git help' [-a|--all] [--[no-]verbose] [--[no-]external-commands] [--[no-]aliases]
|
||||||
'git help' [[-i|--info] [-m|--man] [-w|--web]] [<command>|<doc>]
|
'git help' [[-i|--info] [-m|--man] [-w|--web]] [<command>|<guide>]
|
||||||
'git help' [-g|--guides]
|
'git help' [-g|--guides]
|
||||||
'git help' [-c|--config]
|
'git help' [-c|--config]
|
||||||
'git help' [--user-interfaces]
|
|
||||||
'git help' [--developer-interfaces]
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
With no options and no '<command>' or '<doc>' given, the synopsis of the 'git'
|
With no options and no '<command>' or '<guide>' given, the synopsis of the 'git'
|
||||||
command and a list of the most commonly used Git commands are printed
|
command and a list of the most commonly used Git commands are printed
|
||||||
on the standard output.
|
on the standard output.
|
||||||
|
|
||||||
@ -28,8 +26,8 @@ printed on the standard output.
|
|||||||
If the option `--guides` or `-g` is given, a list of the
|
If the option `--guides` or `-g` is given, a list of the
|
||||||
Git concept guides is also printed on the standard output.
|
Git concept guides is also printed on the standard output.
|
||||||
|
|
||||||
If a command or other documentation is given, the relevant manual page
|
If a command, or a guide, is given, a manual page for that command or
|
||||||
will be brought up. The 'man' program is used by default for this
|
guide is brought up. The 'man' program is used by default for this
|
||||||
purpose, but this can be overridden by other options or configuration
|
purpose, but this can be overridden by other options or configuration
|
||||||
variables.
|
variables.
|
||||||
|
|
||||||
@ -71,23 +69,6 @@ OPTIONS
|
|||||||
--guides::
|
--guides::
|
||||||
Prints a list of the Git concept guides on the standard output.
|
Prints a list of the Git concept guides on the standard output.
|
||||||
|
|
||||||
--user-interfaces::
|
|
||||||
Prints a list of the repository, command and file interfaces
|
|
||||||
documentation on the standard output.
|
|
||||||
+
|
|
||||||
In-repository file interfaces such as `.git/info/exclude` are
|
|
||||||
documented here (see linkgit:gitrepository-layout[5]), as well as
|
|
||||||
in-tree configuration such as `.mailmap` (see linkgit:gitmailmap[5]).
|
|
||||||
+
|
|
||||||
This section of the documentation also covers general or widespread
|
|
||||||
user-interface conventions (e.g. linkgit:gitcli[7]), and
|
|
||||||
pseudo-configuration such as the file-based `.git/hooks/*` interface
|
|
||||||
described in linkgit:githooks[5].
|
|
||||||
|
|
||||||
--developer-interfaces::
|
|
||||||
Print list of file formats, protocols and other developer
|
|
||||||
interfaces documentation on the standard output.
|
|
||||||
|
|
||||||
-i::
|
-i::
|
||||||
--info::
|
--info::
|
||||||
Display manual page for the command in the 'info' format. The
|
Display manual page for the command in the 'info' format. The
|
||||||
|
@ -54,8 +54,6 @@ CONFIGURATION
|
|||||||
To use the tool, `imap.folder` and either `imap.tunnel` or `imap.host` must be set
|
To use the tool, `imap.folder` and either `imap.tunnel` or `imap.host` must be set
|
||||||
to appropriate values.
|
to appropriate values.
|
||||||
|
|
||||||
include::includes/cmd-config-section-rest.txt[]
|
|
||||||
|
|
||||||
include::config/imap.txt[]
|
include::config/imap.txt[]
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
|
@ -169,13 +169,6 @@ $ git commit <3>
|
|||||||
<2> Add all existing files to the index.
|
<2> Add all existing files to the index.
|
||||||
<3> Record the pristine state as the first commit in the history.
|
<3> Record the pristine state as the first commit in the history.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/init.txt[]
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -60,12 +60,10 @@ non-whitespace lines before a line that starts with '---' (followed by a
|
|||||||
space or the end of the line). Such three minus signs start the patch
|
space or the end of the line). Such three minus signs start the patch
|
||||||
part of the message. See also `--no-divider` below.
|
part of the message. See also `--no-divider` below.
|
||||||
|
|
||||||
When reading trailers, there can be no whitespace before or inside the
|
When reading trailers, there can be whitespaces after the
|
||||||
token, but any number of regular space and tab characters are allowed
|
token, the separator and the value. There can also be whitespaces
|
||||||
between the token and the separator. There can be whitespaces before,
|
inside the token and the value. The value may be split over multiple lines with
|
||||||
inside or after the value. The value may be split over multiple lines
|
each subsequent line starting with whitespace, like the "folding" in RFC 822.
|
||||||
with each subsequent line starting with at least one whitespace, like
|
|
||||||
the "folding" in RFC 822.
|
|
||||||
|
|
||||||
Note that 'trailers' do not follow and are not intended to follow many
|
Note that 'trailers' do not follow and are not intended to follow many
|
||||||
rules for RFC 822 headers. For example they do not follow
|
rules for RFC 822 headers. For example they do not follow
|
||||||
|
@ -45,23 +45,13 @@ OPTIONS
|
|||||||
|
|
||||||
--decorate-refs=<pattern>::
|
--decorate-refs=<pattern>::
|
||||||
--decorate-refs-exclude=<pattern>::
|
--decorate-refs-exclude=<pattern>::
|
||||||
For each candidate reference, do not use it for decoration if it
|
If no `--decorate-refs` is given, pretend as if all refs were
|
||||||
|
included. For each candidate, do not use it for decoration if it
|
||||||
matches any patterns given to `--decorate-refs-exclude` or if it
|
matches any patterns given to `--decorate-refs-exclude` or if it
|
||||||
doesn't match any of the patterns given to `--decorate-refs`. The
|
doesn't match any of the patterns given to `--decorate-refs`. The
|
||||||
`log.excludeDecoration` config option allows excluding refs from
|
`log.excludeDecoration` config option allows excluding refs from
|
||||||
the decorations, but an explicit `--decorate-refs` pattern will
|
the decorations, but an explicit `--decorate-refs` pattern will
|
||||||
override a match in `log.excludeDecoration`.
|
override a match in `log.excludeDecoration`.
|
||||||
+
|
|
||||||
If none of these options or config settings are given, then references are
|
|
||||||
used as decoration if they match `HEAD`, `refs/heads/`, `refs/remotes/`,
|
|
||||||
`refs/stash/`, or `refs/tags/`.
|
|
||||||
|
|
||||||
--clear-decorations::
|
|
||||||
When specified, this option clears all previous `--decorate-refs`
|
|
||||||
or `--decorate-refs-exclude` options and relaxes the default
|
|
||||||
decoration filter to include all references. This option is
|
|
||||||
assumed if the config value `log.initialDecorationSet` is set to
|
|
||||||
`all`.
|
|
||||||
|
|
||||||
--source::
|
--source::
|
||||||
Print out the ref name given on the command line by which each
|
Print out the ref name given on the command line by which each
|
||||||
@ -209,11 +199,47 @@ i18n.logOutputEncoding::
|
|||||||
Defaults to the value of `i18n.commitEncoding` if set, and UTF-8
|
Defaults to the value of `i18n.commitEncoding` if set, and UTF-8
|
||||||
otherwise.
|
otherwise.
|
||||||
|
|
||||||
include::includes/cmd-config-section-rest.txt[]
|
log.date::
|
||||||
|
Default format for human-readable dates. (Compare the
|
||||||
|
`--date` option.) Defaults to "default", which means to write
|
||||||
|
dates like `Sat May 8 19:35:34 2010 -0500`.
|
||||||
|
+
|
||||||
|
If the format is set to "auto:foo" and the pager is in use, format
|
||||||
|
"foo" will be the used for the date format. Otherwise "default" will
|
||||||
|
be used.
|
||||||
|
|
||||||
include::config/log.txt[]
|
log.follow::
|
||||||
|
If `true`, `git log` will act as if the `--follow` option was used when
|
||||||
|
a single <path> is given. This has the same limitations as `--follow`,
|
||||||
|
i.e. it cannot be used to follow multiple files and does not work well
|
||||||
|
on non-linear history.
|
||||||
|
|
||||||
include::config/notes.txt[]
|
log.showRoot::
|
||||||
|
If `false`, `git log` and related commands will not treat the
|
||||||
|
initial commit as a big creation event. Any root commits in
|
||||||
|
`git log -p` output would be shown without a diff attached.
|
||||||
|
The default is `true`.
|
||||||
|
|
||||||
|
log.showSignature::
|
||||||
|
If `true`, `git log` and related commands will act as if the
|
||||||
|
`--show-signature` option was passed to them.
|
||||||
|
|
||||||
|
mailmap.*::
|
||||||
|
See linkgit:git-shortlog[1].
|
||||||
|
|
||||||
|
notes.displayRef::
|
||||||
|
Which refs, in addition to the default set by `core.notesRef`
|
||||||
|
or `GIT_NOTES_REF`, to read notes from when showing commit
|
||||||
|
messages with the `log` family of commands. See
|
||||||
|
linkgit:git-notes[1].
|
||||||
|
+
|
||||||
|
May be an unabbreviated ref name or a glob and may be specified
|
||||||
|
multiple times. A warning will be issued for refs that do not exist,
|
||||||
|
but a glob that does not match any refs is silently ignored.
|
||||||
|
+
|
||||||
|
This setting can be disabled by the `--no-notes` option,
|
||||||
|
overridden by the `GIT_NOTES_DISPLAY_REF` environment variable,
|
||||||
|
and overridden by the `--notes=<ref>` option.
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -20,7 +20,7 @@ SYNOPSIS
|
|||||||
[--exclude-standard]
|
[--exclude-standard]
|
||||||
[--error-unmatch] [--with-tree=<tree-ish>]
|
[--error-unmatch] [--with-tree=<tree-ish>]
|
||||||
[--full-name] [--recurse-submodules]
|
[--full-name] [--recurse-submodules]
|
||||||
[--abbrev[=<n>]] [--format=<format>] [--] [<file>...]
|
[--abbrev[=<n>]] [--] [<file>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -192,13 +192,6 @@ followed by the ("attr/<eolattr>").
|
|||||||
to the contained files. Sparse directories will be shown with a
|
to the contained files. Sparse directories will be shown with a
|
||||||
trailing slash, such as "x/" for a sparse directory "x".
|
trailing slash, such as "x/" for a sparse directory "x".
|
||||||
|
|
||||||
--format=<format>::
|
|
||||||
A string that interpolates `%(fieldname)` from the result being shown.
|
|
||||||
It also interpolates `%%` to `%`, and `%xx` where `xx` are hex digits
|
|
||||||
interpolates to character with hex code `xx`; for example `%00`
|
|
||||||
interpolates to `\0` (NUL), `%09` to `\t` (TAB) and %0a to `\n` (LF).
|
|
||||||
--format cannot be combined with `-s`, `-o`, `-k`, `-t`, `--resolve-undo`
|
|
||||||
and `--eol`.
|
|
||||||
\--::
|
\--::
|
||||||
Do not interpret any more arguments as options.
|
Do not interpret any more arguments as options.
|
||||||
|
|
||||||
@ -230,36 +223,6 @@ quoted as explained for the configuration variable `core.quotePath`
|
|||||||
(see linkgit:git-config[1]). Using `-z` the filename is output
|
(see linkgit:git-config[1]). Using `-z` the filename is output
|
||||||
verbatim and the line is terminated by a NUL byte.
|
verbatim and the line is terminated by a NUL byte.
|
||||||
|
|
||||||
It is possible to print in a custom format by using the `--format`
|
|
||||||
option, which is able to interpolate different fields using
|
|
||||||
a `%(fieldname)` notation. For example, if you only care about the
|
|
||||||
"objectname" and "path" fields, you can execute with a specific
|
|
||||||
"--format" like
|
|
||||||
|
|
||||||
git ls-files --format='%(objectname) %(path)'
|
|
||||||
|
|
||||||
FIELD NAMES
|
|
||||||
-----------
|
|
||||||
The way each path is shown can be customized by using the
|
|
||||||
`--format=<format>` option, where the %(fieldname) in the
|
|
||||||
<format> string for various aspects of the index entry are
|
|
||||||
interpolated. The following "fieldname" are understood:
|
|
||||||
|
|
||||||
objectmode::
|
|
||||||
The mode of the file which is recorded in the index.
|
|
||||||
objectname::
|
|
||||||
The name of the file which is recorded in the index.
|
|
||||||
stage::
|
|
||||||
The stage of the file which is recorded in the index.
|
|
||||||
eolinfo:index::
|
|
||||||
eolinfo:worktree::
|
|
||||||
The <eolinfo> (see the description of the `--eol` option) of
|
|
||||||
the contents in the index or in the worktree for the path.
|
|
||||||
eolattr::
|
|
||||||
The <eolattr> (see the description of the `--eol` option)
|
|
||||||
that applies to the path.
|
|
||||||
path::
|
|
||||||
The pathname of the file which is recorded in the index.
|
|
||||||
|
|
||||||
EXCLUDE PATTERNS
|
EXCLUDE PATTERNS
|
||||||
----------------
|
----------------
|
||||||
|
@ -115,13 +115,6 @@ If no such configuration option has been set, `warn` will be used.
|
|||||||
<patch>::
|
<patch>::
|
||||||
The patch extracted from e-mail.
|
The patch extracted from e-mail.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/mailinfo.txt[]
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -397,13 +397,6 @@ If you want to customize the background tasks, please rename the tasks
|
|||||||
so future calls to `git maintenance (start|stop)` do not overwrite your
|
so future calls to `git maintenance (start|stop)` do not overwrite your
|
||||||
custom tasks.
|
custom tasks.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/maintenance.txt[]
|
|
||||||
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -3,237 +3,26 @@ git-merge-tree(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-merge-tree - Perform merge without touching index or working tree
|
git-merge-tree - Show three-way merge without touching index
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git merge-tree' [--write-tree] [<options>] <branch1> <branch2>
|
'git merge-tree' <base-tree> <branch1> <branch2>
|
||||||
'git merge-tree' [--trivial-merge] <base-tree> <branch1> <branch2> (deprecated)
|
|
||||||
|
|
||||||
[[NEWMERGE]]
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
Reads three tree-ish, and output trivial merge results and
|
||||||
|
conflicting stages to the standard output. This is similar to
|
||||||
|
what three-way 'git read-tree -m' does, but instead of storing the
|
||||||
|
results in the index, the command outputs the entries to the
|
||||||
|
standard output.
|
||||||
|
|
||||||
This command has a modern `--write-tree` mode and a deprecated
|
This is meant to be used by higher level scripts to compute
|
||||||
`--trivial-merge` mode. With the exception of the
|
merge results outside of the index, and stuff the results back into the
|
||||||
<<DEPMERGE,DEPRECATED DESCRIPTION>> section at the end, the rest of
|
index. For this reason, the output from the command omits
|
||||||
this documentation describes modern `--write-tree` mode.
|
entries that match the <branch1> tree.
|
||||||
|
|
||||||
Performs a merge, but does not make any new commits and does not read
|
|
||||||
from or write to either the working tree or index.
|
|
||||||
|
|
||||||
The performed merge will use the same feature as the "real"
|
|
||||||
linkgit:git-merge[1], including:
|
|
||||||
|
|
||||||
* three way content merges of individual files
|
|
||||||
* rename detection
|
|
||||||
* proper directory/file conflict handling
|
|
||||||
* recursive ancestor consolidation (i.e. when there is more than one
|
|
||||||
merge base, creating a virtual merge base by merging the merge bases)
|
|
||||||
* etc.
|
|
||||||
|
|
||||||
After the merge completes, a new toplevel tree object is created. See
|
|
||||||
`OUTPUT` below for details.
|
|
||||||
|
|
||||||
OPTIONS
|
|
||||||
-------
|
|
||||||
|
|
||||||
-z::
|
|
||||||
Do not quote filenames in the <Conflicted file info> section,
|
|
||||||
and end each filename with a NUL character rather than
|
|
||||||
newline. Also begin the messages section with a NUL character
|
|
||||||
instead of a newline. See <<OUTPUT>> below for more information.
|
|
||||||
|
|
||||||
--name-only::
|
|
||||||
In the Conflicted file info section, instead of writing a list
|
|
||||||
of (mode, oid, stage, path) tuples to output for conflicted
|
|
||||||
files, just provide a list of filenames with conflicts (and
|
|
||||||
do not list filenames multiple times if they have multiple
|
|
||||||
conflicting stages).
|
|
||||||
|
|
||||||
--[no-]messages::
|
|
||||||
Write any informational messages such as "Auto-merging <path>"
|
|
||||||
or CONFLICT notices to the end of stdout. If unspecified, the
|
|
||||||
default is to include these messages if there are merge
|
|
||||||
conflicts, and to omit them otherwise.
|
|
||||||
|
|
||||||
--allow-unrelated-histories::
|
|
||||||
merge-tree will by default error out if the two branches specified
|
|
||||||
share no common history. This flag can be given to override that
|
|
||||||
check and make the merge proceed anyway.
|
|
||||||
|
|
||||||
[[OUTPUT]]
|
|
||||||
OUTPUT
|
|
||||||
------
|
|
||||||
|
|
||||||
For a successful merge, the output from git-merge-tree is simply one
|
|
||||||
line:
|
|
||||||
|
|
||||||
<OID of toplevel tree>
|
|
||||||
|
|
||||||
Whereas for a conflicted merge, the output is by default of the form:
|
|
||||||
|
|
||||||
<OID of toplevel tree>
|
|
||||||
<Conflicted file info>
|
|
||||||
<Informational messages>
|
|
||||||
|
|
||||||
These are discussed individually below.
|
|
||||||
|
|
||||||
[[OIDTLT]]
|
|
||||||
OID of toplevel tree
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
This is a tree object that represents what would be checked out in the
|
|
||||||
working tree at the end of `git merge`. If there were conflicts, then
|
|
||||||
files within this tree may have embedded conflict markers. This section
|
|
||||||
is always followed by a newline (or NUL if `-z` is passed).
|
|
||||||
|
|
||||||
[[CFI]]
|
|
||||||
Conflicted file info
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
This is a sequence of lines with the format
|
|
||||||
|
|
||||||
<mode> <object> <stage> <filename>
|
|
||||||
|
|
||||||
The filename will be quoted as explained for the configuration
|
|
||||||
variable `core.quotePath` (see linkgit:git-config[1]). However, if
|
|
||||||
the `--name-only` option is passed, the mode, object, and stage will
|
|
||||||
be omitted. If `-z` is passed, the "lines" are terminated by a NUL
|
|
||||||
character instead of a newline character.
|
|
||||||
|
|
||||||
[[IM]]
|
|
||||||
Informational messages
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
This always starts with a blank line (or NUL if `-z` is passed) to
|
|
||||||
separate it from the previous sections, and then has free-form
|
|
||||||
messages about the merge, such as:
|
|
||||||
|
|
||||||
* "Auto-merging <file>"
|
|
||||||
* "CONFLICT (rename/delete): <oldfile> renamed...but deleted in..."
|
|
||||||
* "Failed to merge submodule <submodule> (<reason>)"
|
|
||||||
* "Warning: cannot merge binary files: <filename>"
|
|
||||||
|
|
||||||
Note that these free-form messages will never have a NUL character
|
|
||||||
in or between them, even if -z is passed. It is simply a large block
|
|
||||||
of text taking up the remainder of the output.
|
|
||||||
|
|
||||||
EXIT STATUS
|
|
||||||
-----------
|
|
||||||
|
|
||||||
For a successful, non-conflicted merge, the exit status is 0. When the
|
|
||||||
merge has conflicts, the exit status is 1. If the merge is not able to
|
|
||||||
complete (or start) due to some kind of error, the exit status is
|
|
||||||
something other than 0 or 1 (and the output is unspecified).
|
|
||||||
|
|
||||||
USAGE NOTES
|
|
||||||
-----------
|
|
||||||
|
|
||||||
This command is intended as low-level plumbing, similar to
|
|
||||||
linkgit:git-hash-object[1], linkgit:git-mktree[1],
|
|
||||||
linkgit:git-commit-tree[1], linkgit:git-write-tree[1],
|
|
||||||
linkgit:git-update-ref[1], and linkgit:git-mktag[1]. Thus, it can be
|
|
||||||
used as a part of a series of steps such as:
|
|
||||||
|
|
||||||
NEWTREE=$(git merge-tree --write-tree $BRANCH1 $BRANCH2)
|
|
||||||
test $? -eq 0 || die "There were conflicts..."
|
|
||||||
NEWCOMMIT=$(git commit-tree $NEWTREE -p $BRANCH1 -p $BRANCH2)
|
|
||||||
git update-ref $BRANCH1 $NEWCOMMIT
|
|
||||||
|
|
||||||
Note that when the exit status is non-zero, `NEWTREE` in this sequence
|
|
||||||
will contain a lot more output than just a tree.
|
|
||||||
|
|
||||||
For conflicts, the output includes the same information that you'd get
|
|
||||||
with linkgit:git-merge[1]:
|
|
||||||
|
|
||||||
* what would be written to the working tree (the
|
|
||||||
<<OIDTLT,OID of toplevel tree>>)
|
|
||||||
* the higher order stages that would be written to the index (the
|
|
||||||
<<CFI,Conflicted file info>>)
|
|
||||||
* any messages that would have been printed to stdout (the
|
|
||||||
<<IM,Informational messages>>)
|
|
||||||
|
|
||||||
MISTAKES TO AVOID
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
Do NOT look through the resulting toplevel tree to try to find which
|
|
||||||
files conflict; parse the <<CFI,Conflicted file info>> section instead.
|
|
||||||
Not only would parsing an entire tree be horrendously slow in large
|
|
||||||
repositories, there are numerous types of conflicts not representable by
|
|
||||||
conflict markers (modify/delete, mode conflict, binary file changed on
|
|
||||||
both sides, file/directory conflicts, various rename conflict
|
|
||||||
permutations, etc.)
|
|
||||||
|
|
||||||
Do NOT interpret an empty <<CFI,Conflicted file info>> list as a clean
|
|
||||||
merge; check the exit status. A merge can have conflicts without having
|
|
||||||
individual files conflict (there are a few types of directory rename
|
|
||||||
conflicts that fall into this category, and others might also be added
|
|
||||||
in the future).
|
|
||||||
|
|
||||||
Do NOT attempt to guess or make the user guess the conflict types from
|
|
||||||
the <<CFI,Conflicted file info>> list. The information there is
|
|
||||||
insufficient to do so. For example: Rename/rename(1to2) conflicts (both
|
|
||||||
sides renamed the same file differently) will result in three different
|
|
||||||
file having higher order stages (but each only has one higher order
|
|
||||||
stage), with no way (short of the <<IM,Informational messages>> section)
|
|
||||||
to determine which three files are related. File/directory conflicts
|
|
||||||
also result in a file with exactly one higher order stage.
|
|
||||||
Possibly-involved-in-directory-rename conflicts (when
|
|
||||||
"merge.directoryRenames" is unset or set to "conflicts") also result in
|
|
||||||
a file with exactly one higher order stage. In all cases, the
|
|
||||||
<<IM,Informational messages>> section has the necessary info, though it
|
|
||||||
is not designed to be machine parseable.
|
|
||||||
|
|
||||||
Do NOT assume that each paths from <<CFI,Conflicted file info>>, and
|
|
||||||
the logical conflicts in the <<IM,Informational messages>> have a
|
|
||||||
one-to-one mapping, nor that there is a one-to-many mapping, nor a
|
|
||||||
many-to-one mapping. Many-to-many mappings exist, meaning that each
|
|
||||||
path can have many logical conflict types in a single merge, and each
|
|
||||||
logical conflict type can affect many paths.
|
|
||||||
|
|
||||||
Do NOT assume all filenames listed in the <<IM,Informational messages>>
|
|
||||||
section had conflicts. Messages can be included for files that have no
|
|
||||||
conflicts, such as "Auto-merging <file>".
|
|
||||||
|
|
||||||
AVOID taking the OIDS from the <<CFI,Conflicted file info>> and
|
|
||||||
re-merging them to present the conflicts to the user. This will lose
|
|
||||||
information. Instead, look up the version of the file found within the
|
|
||||||
<<OIDTLT,OID of toplevel tree>> and show that instead. In particular,
|
|
||||||
the latter will have conflict markers annotated with the original
|
|
||||||
branch/commit being merged and, if renames were involved, the original
|
|
||||||
filename. While you could include the original branch/commit in the
|
|
||||||
conflict marker annotations when re-merging, the original filename is
|
|
||||||
not available from the <<CFI,Conflicted file info>> and thus you would
|
|
||||||
be losing information that might help the user resolve the conflict.
|
|
||||||
|
|
||||||
[[DEPMERGE]]
|
|
||||||
DEPRECATED DESCRIPTION
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Per the <<NEWMERGE,DESCRIPTION>> and unlike the rest of this
|
|
||||||
documentation, this section describes the deprecated `--trivial-merge`
|
|
||||||
mode.
|
|
||||||
|
|
||||||
Other than the optional `--trivial-merge`, this mode accepts no
|
|
||||||
options.
|
|
||||||
|
|
||||||
This mode reads three tree-ish, and outputs trivial merge results and
|
|
||||||
conflicting stages to the standard output in a semi-diff format.
|
|
||||||
Since this was designed for higher level scripts to consume and merge
|
|
||||||
the results back into the index, it omits entries that match
|
|
||||||
<branch1>. The result of this second form is similar to what
|
|
||||||
three-way 'git read-tree -m' does, but instead of storing the results
|
|
||||||
in the index, the command outputs the entries to the standard output.
|
|
||||||
|
|
||||||
This form not only has limited applicability (a trivial merge cannot
|
|
||||||
handle content merges of individual files, rename detection, proper
|
|
||||||
directory/file conflict handling, etc.), the output format is also
|
|
||||||
difficult to work with, and it will generally be less performant than
|
|
||||||
the first form even on successful merges (especially if working in
|
|
||||||
large repositories).
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -90,7 +90,10 @@ invocations. The automated message can include the branch description.
|
|||||||
If `--log` is specified, a shortlog of the commits being merged
|
If `--log` is specified, a shortlog of the commits being merged
|
||||||
will be appended to the specified message.
|
will be appended to the specified message.
|
||||||
|
|
||||||
include::rerere-options.txt[]
|
--rerere-autoupdate::
|
||||||
|
--no-rerere-autoupdate::
|
||||||
|
Allow the rerere mechanism to update the index with the
|
||||||
|
result of auto-conflict resolution if possible.
|
||||||
|
|
||||||
--overwrite-ignore::
|
--overwrite-ignore::
|
||||||
--no-overwrite-ignore::
|
--no-overwrite-ignore::
|
||||||
@ -383,16 +386,13 @@ include::merge-strategies.txt[]
|
|||||||
|
|
||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
include::config/merge.txt[]
|
||||||
|
|
||||||
branch.<name>.mergeOptions::
|
branch.<name>.mergeOptions::
|
||||||
Sets default options for merging into branch <name>. The syntax and
|
Sets default options for merging into branch <name>. The syntax and
|
||||||
supported options are the same as those of 'git merge', but option
|
supported options are the same as those of 'git merge', but option
|
||||||
values containing whitespace characters are currently not supported.
|
values containing whitespace characters are currently not supported.
|
||||||
|
|
||||||
include::includes/cmd-config-section-rest.txt[]
|
|
||||||
|
|
||||||
include::config/merge.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1],
|
linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1],
|
||||||
|
@ -102,9 +102,6 @@ success of the resolution after the custom tool has exited.
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
:git-mergetool: 1
|
:git-mergetool: 1
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/mergetool.txt[]
|
include::config/mergetool.txt[]
|
||||||
|
|
||||||
TEMPORARY FILES
|
TEMPORARY FILES
|
||||||
|
@ -128,8 +128,8 @@ $ git multi-pack-index verify
|
|||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
See link:technical/multi-pack-index.html[The Multi-Pack-Index Design
|
See link:technical/multi-pack-index.html[The Multi-Pack-Index Design
|
||||||
Document] and linkgit:gitformat-pack[5] for more information on the
|
Document] and link:technical/pack-format.html[The Multi-Pack-Index
|
||||||
multi-pack-index feature and its file format.
|
Format] for more information on the multi-pack-index feature.
|
||||||
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
|
@ -44,7 +44,7 @@ using the `--notes` option. Such notes are added as a patch commentary
|
|||||||
after a three dash separator line.
|
after a three dash separator line.
|
||||||
|
|
||||||
To change which notes are shown by 'git log', see the
|
To change which notes are shown by 'git log', see the
|
||||||
"notes.displayRef" discussion in <<CONFIGURATION>>.
|
"notes.displayRef" configuration in linkgit:git-log[1].
|
||||||
|
|
||||||
See the "notes.rewrite.<command>" configuration for a way to carry
|
See the "notes.rewrite.<command>" configuration for a way to carry
|
||||||
notes across commands that rewrite commits.
|
notes across commands that rewrite commits.
|
||||||
@ -307,7 +307,6 @@ with 'git log', so if you use such notes, you'll probably need to write
|
|||||||
some special-purpose tools to do something useful with them.
|
some special-purpose tools to do something useful with them.
|
||||||
|
|
||||||
|
|
||||||
[[CONFIGURATION]]
|
|
||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
@ -317,9 +316,57 @@ core.notesRef::
|
|||||||
This setting can be overridden through the environment and
|
This setting can be overridden through the environment and
|
||||||
command line.
|
command line.
|
||||||
|
|
||||||
include::includes/cmd-config-section-rest.txt[]
|
notes.mergeStrategy::
|
||||||
|
Which merge strategy to choose by default when resolving notes
|
||||||
|
conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or
|
||||||
|
`cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES"
|
||||||
|
section above for more information on each strategy.
|
||||||
|
+
|
||||||
|
This setting can be overridden by passing the `--strategy` option.
|
||||||
|
|
||||||
include::config/notes.txt[]
|
notes.<name>.mergeStrategy::
|
||||||
|
Which merge strategy to choose when doing a notes merge into
|
||||||
|
refs/notes/<name>. This overrides the more general
|
||||||
|
"notes.mergeStrategy". See the "NOTES MERGE STRATEGIES" section above
|
||||||
|
for more information on each available strategy.
|
||||||
|
|
||||||
|
notes.displayRef::
|
||||||
|
Which ref (or refs, if a glob or specified more than once), in
|
||||||
|
addition to the default set by `core.notesRef` or
|
||||||
|
`GIT_NOTES_REF`, to read notes from when showing commit
|
||||||
|
messages with the 'git log' family of commands.
|
||||||
|
This setting can be overridden on the command line or by the
|
||||||
|
`GIT_NOTES_DISPLAY_REF` environment variable.
|
||||||
|
See linkgit:git-log[1].
|
||||||
|
|
||||||
|
notes.rewrite.<command>::
|
||||||
|
When rewriting commits with <command> (currently `amend` or
|
||||||
|
`rebase`), if this variable is `false`, git will not copy
|
||||||
|
notes from the original to the rewritten commit. Defaults to
|
||||||
|
`true`. See also "`notes.rewriteRef`" below.
|
||||||
|
+
|
||||||
|
This setting can be overridden by the `GIT_NOTES_REWRITE_REF`
|
||||||
|
environment variable.
|
||||||
|
|
||||||
|
notes.rewriteMode::
|
||||||
|
When copying notes during a rewrite, what to do if the target
|
||||||
|
commit already has a note. Must be one of `overwrite`,
|
||||||
|
`concatenate`, `cat_sort_uniq`, or `ignore`. Defaults to
|
||||||
|
`concatenate`.
|
||||||
|
+
|
||||||
|
This setting can be overridden with the `GIT_NOTES_REWRITE_MODE`
|
||||||
|
environment variable.
|
||||||
|
|
||||||
|
notes.rewriteRef::
|
||||||
|
When copying notes during a rewrite, specifies the (fully
|
||||||
|
qualified) ref whose notes should be copied. May be a glob,
|
||||||
|
in which case notes in all matching refs will be copied. You
|
||||||
|
may also specify this configuration several times.
|
||||||
|
+
|
||||||
|
Does not have a default value; you must configure this variable to
|
||||||
|
enable note rewriting.
|
||||||
|
+
|
||||||
|
Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable.
|
||||||
|
|
||||||
|
|
||||||
ENVIRONMENT
|
ENVIRONMENT
|
||||||
|
@ -692,13 +692,6 @@ a `git gc` command on the origin repository.
|
|||||||
|
|
||||||
include::transfer-data-leaks.txt[]
|
include::transfer-data-leaks.txt[]
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/push.txt[]
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -12,7 +12,6 @@ SYNOPSIS
|
|||||||
[--no-dual-color] [--creation-factor=<factor>]
|
[--no-dual-color] [--creation-factor=<factor>]
|
||||||
[--left-only | --right-only]
|
[--left-only | --right-only]
|
||||||
( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> )
|
( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> )
|
||||||
[[--] <path>...]
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -20,9 +19,6 @@ DESCRIPTION
|
|||||||
This command shows the differences between two versions of a patch
|
This command shows the differences between two versions of a patch
|
||||||
series, or more generally, two commit ranges (ignoring merge commits).
|
series, or more generally, two commit ranges (ignoring merge commits).
|
||||||
|
|
||||||
In the presence of `<path>` arguments, these commit ranges are limited
|
|
||||||
accordingly.
|
|
||||||
|
|
||||||
To that end, it first finds pairs of commits from both commit ranges
|
To that end, it first finds pairs of commits from both commit ranges
|
||||||
that correspond with each other. Two commits are said to correspond when
|
that correspond with each other. Two commits are said to correspond when
|
||||||
the diff between their patches (i.e. the author information, the commit
|
the diff between their patches (i.e. the author information, the commit
|
||||||
|
@ -376,7 +376,10 @@ See also INCOMPATIBLE OPTIONS below.
|
|||||||
+
|
+
|
||||||
See also INCOMPATIBLE OPTIONS below.
|
See also INCOMPATIBLE OPTIONS below.
|
||||||
|
|
||||||
include::rerere-options.txt[]
|
--rerere-autoupdate::
|
||||||
|
--no-rerere-autoupdate::
|
||||||
|
Allow the rerere mechanism to update the index with the
|
||||||
|
result of auto-conflict resolution if possible.
|
||||||
|
|
||||||
-S[<keyid>]::
|
-S[<keyid>]::
|
||||||
--gpg-sign[=<keyid>]::
|
--gpg-sign[=<keyid>]::
|
||||||
@ -609,15 +612,6 @@ provided. Otherwise an explicit `--no-reschedule-failed-exec` at the
|
|||||||
start would be overridden by the presence of
|
start would be overridden by the presence of
|
||||||
`rebase.rescheduleFailedExec=true` configuration.
|
`rebase.rescheduleFailedExec=true` configuration.
|
||||||
|
|
||||||
--update-refs::
|
|
||||||
--no-update-refs::
|
|
||||||
Automatically force-update any branches that point to commits that
|
|
||||||
are being rebased. Any branches that are checked out in a worktree
|
|
||||||
are not updated in this way.
|
|
||||||
+
|
|
||||||
If the configuration variable `rebase.updateRefs` is set, then this option
|
|
||||||
can be used to override and disable this setting.
|
|
||||||
|
|
||||||
INCOMPATIBLE OPTIONS
|
INCOMPATIBLE OPTIONS
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
@ -641,7 +635,6 @@ are incompatible with the following options:
|
|||||||
* --empty=
|
* --empty=
|
||||||
* --reapply-cherry-picks
|
* --reapply-cherry-picks
|
||||||
* --edit-todo
|
* --edit-todo
|
||||||
* --update-refs
|
|
||||||
* --root when used in combination with --onto
|
* --root when used in combination with --onto
|
||||||
|
|
||||||
In addition, the following pairs of options are incompatible:
|
In addition, the following pairs of options are incompatible:
|
||||||
@ -1259,8 +1252,6 @@ merge cmake
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/rebase.txt[]
|
include::config/rebase.txt[]
|
||||||
include::config/sequencer.txt[]
|
include::config/sequencer.txt[]
|
||||||
|
|
||||||
|
@ -112,7 +112,10 @@ effect to your index in a row.
|
|||||||
Pass the merge strategy-specific option through to the
|
Pass the merge strategy-specific option through to the
|
||||||
merge strategy. See linkgit:git-merge[1] for details.
|
merge strategy. See linkgit:git-merge[1] for details.
|
||||||
|
|
||||||
include::rerere-options.txt[]
|
--rerere-autoupdate::
|
||||||
|
--no-rerere-autoupdate::
|
||||||
|
Allow the rerere mechanism to update the index with the
|
||||||
|
result of auto-conflict resolution if possible.
|
||||||
|
|
||||||
--reference::
|
--reference::
|
||||||
Instead of starting the body of the log message with "This
|
Instead of starting the body of the log message with "This
|
||||||
@ -142,13 +145,6 @@ EXAMPLES
|
|||||||
changes. The revert only modifies the working tree and the
|
changes. The revert only modifies the working tree and the
|
||||||
index.
|
index.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/revert.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-cherry-pick[1]
|
linkgit:git-cherry-pick[1]
|
||||||
|
@ -456,9 +456,41 @@ Information
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
sendemail.aliasesFile::
|
||||||
|
To avoid typing long email addresses, point this to one or more
|
||||||
|
email aliases files. You must also supply `sendemail.aliasFileType`.
|
||||||
|
|
||||||
include::config/sendemail.txt[]
|
sendemail.aliasFileType::
|
||||||
|
Format of the file(s) specified in sendemail.aliasesFile. Must be
|
||||||
|
one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'.
|
||||||
|
+
|
||||||
|
What an alias file in each format looks like can be found in
|
||||||
|
the documentation of the email program of the same name. The
|
||||||
|
differences and limitations from the standard formats are
|
||||||
|
described below:
|
||||||
|
+
|
||||||
|
--
|
||||||
|
sendmail;;
|
||||||
|
* Quoted aliases and quoted addresses are not supported: lines that
|
||||||
|
contain a `"` symbol are ignored.
|
||||||
|
* Redirection to a file (`/path/name`) or pipe (`|command`) is not
|
||||||
|
supported.
|
||||||
|
* File inclusion (`:include: /path/name`) is not supported.
|
||||||
|
* Warnings are printed on the standard error output for any
|
||||||
|
explicitly unsupported constructs, and any other lines that are not
|
||||||
|
recognized by the parser.
|
||||||
|
--
|
||||||
|
|
||||||
|
sendemail.multiEdit::
|
||||||
|
If true (default), a single editor instance will be spawned to edit
|
||||||
|
files you have to edit (patches when `--annotate` is used, and the
|
||||||
|
summary when `--compose` is used). If false, files will be edited one
|
||||||
|
after the other, spawning a new editor each time.
|
||||||
|
|
||||||
|
sendemail.confirm::
|
||||||
|
Sets the default for whether to confirm before sending. Must be
|
||||||
|
one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm`
|
||||||
|
in the previous section for the meaning of these values.
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
|
@ -199,13 +199,6 @@ shows 10 reflog entries going back from the tip as of 1 hour ago.
|
|||||||
Without `--list`, the output also shows how these tips are
|
Without `--list`, the output also shows how these tips are
|
||||||
topologically related with each other.
|
topologically related with each other.
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/showbranch.txt[]
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -382,13 +382,6 @@ grep commit | cut -d\ -f3 |
|
|||||||
xargs git log --merges --no-walk --grep=WIP
|
xargs git log --merges --no-walk --grep=WIP
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/stash.txt[]
|
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
@ -265,13 +265,6 @@ always create a new name for it (without switching away):
|
|||||||
$ git switch -c good-surprises
|
$ git switch -c good-surprises
|
||||||
------------
|
------------
|
||||||
|
|
||||||
CONFIGURATION
|
|
||||||
-------------
|
|
||||||
|
|
||||||
include::includes/cmd-config-section-all.txt[]
|
|
||||||
|
|
||||||
include::config/checkout.txt[]
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-checkout[1],
|
linkgit:git-checkout[1],
|
||||||
|
@ -420,7 +420,7 @@ as `switch`, `pull`, `merge`) will avoid writing these files.
|
|||||||
However, these commands will sometimes write these files anyway in
|
However, these commands will sometimes write these files anyway in
|
||||||
important cases such as conflicts during a merge or rebase. Git
|
important cases such as conflicts during a merge or rebase. Git
|
||||||
commands will also avoid treating the lack of such files as an
|
commands will also avoid treating the lack of such files as an
|
||||||
intentional deletion; for example `git add -u` will not stage a
|
intentional deletion; for example `git add -u` will not not stage a
|
||||||
deletion for these files and `git commit -a` will not make a commit
|
deletion for these files and `git commit -a` will not make a commit
|
||||||
deleting them either.
|
deleting them either.
|
||||||
|
|
||||||
|
@ -39,9 +39,10 @@ OPTIONS
|
|||||||
--http-backend-info-refs::
|
--http-backend-info-refs::
|
||||||
Used by linkgit:git-http-backend[1] to serve up
|
Used by linkgit:git-http-backend[1] to serve up
|
||||||
`$GIT_URL/info/refs?service=git-upload-pack` requests. See
|
`$GIT_URL/info/refs?service=git-upload-pack` requests. See
|
||||||
"Smart Clients" in linkgit:gitprotocol-http[5] and "HTTP
|
"Smart Clients" in link:technical/http-protocol.html[the HTTP
|
||||||
Transport" in the linkgit:gitprotocol-v2[5]
|
transfer protocols] documentation and "HTTP Transport" in
|
||||||
documentation. Also understood by
|
link:technical/protocol-v2.html[the Git Wire Protocol, Version
|
||||||
|
2] documentation. Also understood by
|
||||||
linkgit:git-receive-pack[1].
|
linkgit:git-receive-pack[1].
|
||||||
|
|
||||||
<directory>::
|
<directory>::
|
||||||
|
@ -339,23 +339,6 @@ The following documentation pages are guides about Git concepts.
|
|||||||
|
|
||||||
include::cmds-guide.txt[]
|
include::cmds-guide.txt[]
|
||||||
|
|
||||||
Repository, command and file interfaces
|
|
||||||
---------------------------------------
|
|
||||||
|
|
||||||
This documentation discusses repository and command interfaces which
|
|
||||||
users are expected to interact with directly. See `--user-formats` in
|
|
||||||
linkgit:git-help[1] for more details on the critera.
|
|
||||||
|
|
||||||
include::cmds-userinterfaces.txt[]
|
|
||||||
|
|
||||||
File formats, protocols and other developer interfaces
|
|
||||||
------------------------------------------------------
|
|
||||||
|
|
||||||
This documentation discusses file formats, over-the-wire protocols and
|
|
||||||
other git developer interfaces. See `--developer-interfaces` in
|
|
||||||
linkgit:git-help[1].
|
|
||||||
|
|
||||||
include::cmds-developerinterfaces.txt[]
|
|
||||||
|
|
||||||
Configuration Mechanism
|
Configuration Mechanism
|
||||||
-----------------------
|
-----------------------
|
||||||
|
@ -168,9 +168,6 @@ Supported commands: 'list', 'import'.
|
|||||||
Can guarantee that when a clone is requested, the received
|
Can guarantee that when a clone is requested, the received
|
||||||
pack is self contained and is connected.
|
pack is self contained and is connected.
|
||||||
|
|
||||||
'get'::
|
|
||||||
Can use the 'get' command to download a file from a given URI.
|
|
||||||
|
|
||||||
If a helper advertises 'connect', Git will use it if possible and
|
If a helper advertises 'connect', Git will use it if possible and
|
||||||
fall back to another capability if the helper requests so when
|
fall back to another capability if the helper requests so when
|
||||||
connecting (see the 'connect' command under COMMANDS).
|
connecting (see the 'connect' command under COMMANDS).
|
||||||
@ -421,12 +418,6 @@ Supported if the helper has the "connect" capability.
|
|||||||
+
|
+
|
||||||
Supported if the helper has the "stateless-connect" capability.
|
Supported if the helper has the "stateless-connect" capability.
|
||||||
|
|
||||||
'get' <uri> <path>::
|
|
||||||
Downloads the file from the given `<uri>` to the given `<path>`. If
|
|
||||||
`<path>.temp` exists, then Git assumes that the `.temp` file is a
|
|
||||||
partial download from a previous attempt and will resume the
|
|
||||||
download from that position.
|
|
||||||
|
|
||||||
If a fatal error occurs, the program writes the error message to
|
If a fatal error occurs, the program writes the error message to
|
||||||
stderr and exits. The caller should expect that a suitable error
|
stderr and exits. The caller should expect that a suitable error
|
||||||
message has been printed if the child closes the connection without
|
message has been printed if the child closes the connection without
|
||||||
|
@ -68,7 +68,7 @@ Note that the "object" file isn't fit for feeding straight to zlib; it
|
|||||||
has the git packed object header, which is variable-length. We want to
|
has the git packed object header, which is variable-length. We want to
|
||||||
strip that off so we can start playing with the zlib data directly. You
|
strip that off so we can start playing with the zlib data directly. You
|
||||||
can either work your way through it manually (the format is described in
|
can either work your way through it manually (the format is described in
|
||||||
linkgit:gitformat-pack[5]),
|
link:../technical/pack-format.html[Documentation/technical/pack-format.txt]),
|
||||||
or you can walk through it in a debugger. I did the latter, creating a
|
or you can walk through it in a debugger. I did the latter, creating a
|
||||||
valid pack like:
|
valid pack like:
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
Everything below this line in this section is selectively included
|
|
||||||
from the linkgit:git-config[1] documentation. The content is the same
|
|
||||||
as what's found there:
|
|
@ -1,3 +0,0 @@
|
|||||||
Everything above this line in this section isn't included from the
|
|
||||||
linkgit:git-config[1] documentation. The content that follows is the
|
|
||||||
same as what's found there:
|
|
@ -32,9 +32,6 @@ my %SECTIONS;
|
|||||||
'SEE ALSO' => {
|
'SEE ALSO' => {
|
||||||
order => $order++,
|
order => $order++,
|
||||||
},
|
},
|
||||||
'FILE FORMAT' => {
|
|
||||||
order => $order++,
|
|
||||||
},
|
|
||||||
'GIT' => {
|
'GIT' => {
|
||||||
required => 1,
|
required => 1,
|
||||||
order => $order++,
|
order => $order++,
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
--rerere-autoupdate::
|
|
||||||
--no-rerere-autoupdate::
|
|
||||||
After the rerere mechanism reuses a recorded resolution on
|
|
||||||
the current conflict to update the files in the working
|
|
||||||
tree, allow it to also update the index with the result of
|
|
||||||
resolution. `--no-rerere-autoupdate` is a good way to
|
|
||||||
double-check what `rerere` did and catch potential
|
|
||||||
mismerges, before committing the result to the index with a
|
|
||||||
separate `git add`.
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user