summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/.gitignore1
-rw-r--r--Documentation/CodingGuidelines13
-rw-r--r--Documentation/Makefile5
-rw-r--r--Documentation/RelNotes/2.22.0.txt356
-rw-r--r--Documentation/RelNotes/2.23.0.txt183
-rw-r--r--Documentation/SubmittingPatches6
-rw-r--r--Documentation/config.txt21
-rw-r--r--Documentation/config/advice.txt15
-rw-r--r--Documentation/config/alias.txt22
-rw-r--r--Documentation/config/branch.txt4
-rw-r--r--Documentation/config/checkout.txt17
-rw-r--r--Documentation/config/core.txt14
-rw-r--r--Documentation/config/diff.txt3
-rw-r--r--Documentation/config/format.txt15
-rw-r--r--Documentation/config/gc.txt38
-rw-r--r--Documentation/config/interactive.txt3
-rw-r--r--Documentation/config/merge.txt19
-rw-r--r--Documentation/config/pack.txt4
-rw-r--r--Documentation/config/repack.txt2
-rw-r--r--Documentation/config/stash.txt15
-rw-r--r--Documentation/config/tag.txt8
-rw-r--r--Documentation/config/trace2.txt56
-rw-r--r--Documentation/fetch-options.txt7
-rw-r--r--Documentation/git-branch.txt62
-rw-r--r--Documentation/git-check-ref-format.txt3
-rw-r--r--Documentation/git-checkout.txt226
-rw-r--r--Documentation/git-cherry-pick.txt7
-rw-r--r--Documentation/git-clean.txt2
-rw-r--r--Documentation/git-clone.txt17
-rw-r--r--Documentation/git-commit.txt2
-rw-r--r--Documentation/git-daemon.txt2
-rw-r--r--Documentation/git-describe.txt2
-rw-r--r--Documentation/git-diff-tree.txt1
-rw-r--r--Documentation/git-difftool.txt4
-rw-r--r--Documentation/git-fast-export.txt7
-rw-r--r--Documentation/git-fast-import.txt36
-rw-r--r--Documentation/git-filter-branch.txt2
-rw-r--r--Documentation/git-for-each-ref.txt5
-rw-r--r--Documentation/git-format-patch.txt11
-rw-r--r--Documentation/git-gc.txt142
-rw-r--r--Documentation/git-hash-object.txt4
-rw-r--r--Documentation/git-help.txt4
-rw-r--r--Documentation/git-interpret-trailers.txt2
-rw-r--r--Documentation/git-ls-files.txt2
-rw-r--r--Documentation/git-ls-tree.txt4
-rw-r--r--Documentation/git-merge-base.txt2
-rw-r--r--Documentation/git-merge.txt12
-rw-r--r--Documentation/git-mergetool--lib.txt4
-rw-r--r--Documentation/git-mergetool.txt4
-rw-r--r--Documentation/git-pull.txt5
-rw-r--r--Documentation/git-read-tree.txt9
-rw-r--r--Documentation/git-rebase.txt9
-rw-r--r--Documentation/git-remote-ext.txt4
-rw-r--r--Documentation/git-remote-fd.txt2
-rw-r--r--Documentation/git-remote-helpers.txto2
-rw-r--r--Documentation/git-remote-testgit.txt30
-rw-r--r--Documentation/git-remote.txt2
-rw-r--r--Documentation/git-rerere.txt12
-rw-r--r--Documentation/git-reset.txt33
-rw-r--r--Documentation/git-restore.txt185
-rw-r--r--Documentation/git-rev-list.txt1
-rw-r--r--Documentation/git-revert.txt14
-rw-r--r--Documentation/git-send-email.txt16
-rw-r--r--Documentation/git-show-branch.txt2
-rw-r--r--Documentation/git-stash.txt13
-rw-r--r--Documentation/git-status.txt12
-rw-r--r--Documentation/git-submodule.txt16
-rw-r--r--Documentation/git-svn.txt6
-rw-r--r--Documentation/git-switch.txt273
-rw-r--r--Documentation/git-tag.txt7
-rw-r--r--Documentation/git-update-server-info.txt11
-rw-r--r--Documentation/git-web--browse.txt4
-rw-r--r--Documentation/git.txt71
-rw-r--r--Documentation/gitattributes.txt7
-rw-r--r--Documentation/gitcli.txt16
-rw-r--r--Documentation/gitcore-tutorial.txt19
-rw-r--r--Documentation/giteveryday.txt29
-rw-r--r--Documentation/githooks.txt26
-rw-r--r--Documentation/gitignore.txt66
-rw-r--r--Documentation/gitk.txt8
-rw-r--r--Documentation/gitmodules.txt2
-rw-r--r--Documentation/gitremote-helpers.txt4
-rw-r--r--Documentation/gitrepository-layout.txt2
-rw-r--r--Documentation/gitsubmodules.txt14
-rw-r--r--Documentation/gittutorial-2.txt4
-rw-r--r--Documentation/gittutorial.txt6
-rw-r--r--Documentation/gitweb.conf.txt30
-rw-r--r--Documentation/gitweb.txt38
-rw-r--r--Documentation/gitworkflows.txt3
-rw-r--r--Documentation/howto/setup-git-server-over-http.txt4
-rw-r--r--Documentation/merge-options.txt9
-rw-r--r--Documentation/rev-list-options.txt39
-rw-r--r--Documentation/revisions.txt35
-rw-r--r--Documentation/sequencer.txt2
-rw-r--r--Documentation/technical/api-config.txt2
-rw-r--r--Documentation/technical/api-parse-options.txt4
-rw-r--r--Documentation/technical/api-trace2.txt209
-rw-r--r--Documentation/technical/commit-graph.txt17
-rw-r--r--Documentation/technical/protocol-v2.txt52
-rw-r--r--Documentation/trace2-target-values.txt10
-rw-r--r--Documentation/urls.txt2
-rw-r--r--Documentation/user-manual.txt70
102 files changed, 2144 insertions, 720 deletions
diff --git a/Documentation/.gitignore b/Documentation/.gitignore
index bf2bf271b5..9022d48355 100644
--- a/Documentation/.gitignore
+++ b/Documentation/.gitignore
@@ -14,3 +14,4 @@ manpage-base-url.xsl
SubmittingPatches.txt
tmp-doc-diff/
GIT-ASCIIDOCFLAGS
+/GIT-EXCLUDED-PROGRAMS
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index 8579530710..1169ff6c8e 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -412,6 +412,12 @@ For C programs:
must be declared with "extern" in header files. However, function
declarations should not use "extern", as that is already the default.
+ - You can launch gdb around your program using the shorthand GIT_DEBUGGER.
+ Run `GIT_DEBUGGER=1 ./bin-wrappers/git foo` to simply use gdb as is, or
+ run `GIT_DEBUGGER="<debugger> <debugger-args>" ./bin-wrappers/git foo` to
+ use your own debugger and arguments. Example: `GIT_DEBUGGER="ddd --gdb"
+ ./bin-wrappers/git log` (See `wrap-for-bin.sh`.)
+
For Perl programs:
- Most of the C guidelines above apply.
@@ -580,11 +586,14 @@ Writing Documentation:
or commands:
Literal examples (e.g. use of command-line options, command names,
- branch names, configuration and environment variables) must be
- typeset in monospace (i.e. wrapped with backticks):
+ branch names, URLs, pathnames (files and directories), configuration and
+ environment variables) must be typeset in monospace (i.e. wrapped with
+ backticks):
`--pretty=oneline`
`git rev-list`
`remote.pushDefault`
+ `http://git.example.com`
+ `.git/config`
`GIT_DIR`
`HEAD`
diff --git a/Documentation/Makefile b/Documentation/Makefile
index d1f2bf0407..76f2ecfc1b 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -7,12 +7,14 @@ ARTICLES =
SP_ARTICLES =
OBSOLETE_HTML =
+-include GIT-EXCLUDED-PROGRAMS
+
MAN1_TXT += $(filter-out \
+ $(patsubst %,%.txt,$(EXCLUDED_PROGRAMS)) \
$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
$(wildcard git-*.txt))
MAN1_TXT += git.txt
MAN1_TXT += gitk.txt
-MAN1_TXT += gitremote-helpers.txt
MAN1_TXT += gitweb.txt
MAN5_TXT += gitattributes.txt
@@ -30,6 +32,7 @@ MAN7_TXT += gitdiffcore.txt
MAN7_TXT += giteveryday.txt
MAN7_TXT += gitglossary.txt
MAN7_TXT += gitnamespaces.txt
+MAN7_TXT += gitremote-helpers.txt
MAN7_TXT += gitrevisions.txt
MAN7_TXT += gitsubmodules.txt
MAN7_TXT += gittutorial-2.txt
diff --git a/Documentation/RelNotes/2.22.0.txt b/Documentation/RelNotes/2.22.0.txt
index 94100fa403..91e6ae9887 100644
--- a/Documentation/RelNotes/2.22.0.txt
+++ b/Documentation/RelNotes/2.22.0.txt
@@ -4,6 +4,13 @@ Git 2.22 Release Notes
Updates since v2.21
-------------------
+Backward compatibility note
+
+ * The filter specification "--filter=sparse:path=<path>" used to
+ create a lazy/partial clone has been removed. Using a blob that is
+ part of the project as sparse specification is still supported with
+ the "--filter=sparse:oid=<blob>" option.
+
UI, Workflows & Features
* "git checkout --no-overlay" can be used to trigger a new mode of
@@ -46,6 +53,71 @@ UI, Workflows & Features
configuration (when available), which allows --list-cmds to honour
a repository specific setting of completion.commands, for example.
+ * "git mergetool" learned to offer Sublime Merge (smerge) as one of
+ its backends.
+
+ * A new hook "post-index-change" is called when the on-disk index
+ file changes, which can help e.g. a virtualized working tree
+ implementation.
+
+ * "git difftool" can now run outside a repository.
+
+ * "git checkout -m <other>" was about carrying the differences
+ between HEAD and the working-tree files forward while checking out
+ another branch, and ignored the differences between HEAD and the
+ index. The command has been taught to abort when the index and the
+ HEAD are different.
+
+ * A progress indicator has been added to the "index-pack" step, which
+ often makes users wait for completion during "git clone".
+
+ * "git submodule" learns "set-branch" subcommand that allows the
+ submodule.*.branch settings to be modified.
+
+ * "git merge-recursive" backend recently learned a new heuristics to
+ infer file movement based on how other files in the same directory
+ moved. As this is inherently less robust heuristics than the one
+ based on the content similarity of the file itself (rather than
+ based on what its neighbours are doing), it sometimes gives an
+ outcome unexpected by the end users. This has been toned down to
+ leave the renamed paths in higher/conflicted stages in the index so
+ that the user can examine and confirm the result.
+
+ * "git tag" learned to give an advice suggesting it might be a
+ mistake when creating an annotated or signed tag that points at
+ another tag.
+
+ * The "git pack-objects" command learned to report the number of
+ objects it packed via the trace2 mechanism.
+
+ * The list of conflicted paths shown in the editor while concluding a
+ conflicted merge was shown above the scissors line when the
+ clean-up mode is set to "scissors", even though it was commented
+ out just like the list of updated paths and other information to
+ help the user explain the merge better.
+
+ * The trace2 tracing facility learned to auto-generate a filename
+ when told to log to a directory.
+
+ * "git clone" learned a new --server-option option when talking over
+ the protocol version 2.
+
+ * The connectivity bitmaps are created by default in bare
+ repositories now; also the pathname hash-cache is created by
+ default to avoid making crappy deltas when repacking.
+
+ * "git branch new A...B" and "git checkout -b new A...B" have been
+ taught that in their contexts, the notation A...B means "the merge
+ base between these two commits", just like "git checkout A...B"
+ detaches HEAD at that commit.
+
+ * Update "git difftool" and "git mergetool" so that the combinations
+ of {diff,merge}.{tool,guitool} configuration variables serve as
+ fallback settings of each other in a sensible order.
+
+ * The "--dir-diff" mode of "git difftool" is not useful in "--no-index"
+ mode; they are now explicitly marked as mutually incompatible.
+
Performance, Internal Implementation, Development Support etc.
@@ -80,6 +152,72 @@ Performance, Internal Implementation, Development Support etc.
* "git multi-pack-index verify" did not scale well with the number of
packfiles, which is being improved.
+ * "git stash" has been rewritten in C.
+
+ * The "check-docs" Makefile target to support developers has been
+ updated.
+
+ * The tests have been updated not to rely on the abbreviated option
+ names the parse-options API