summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml26
-rw-r--r--Documentation/Makefile5
-rw-r--r--Documentation/RelNotes/2.16.0.txt72
-rw-r--r--Documentation/config.txt47
-rw-r--r--Documentation/git-check-ref-format.txt19
-rw-r--r--Documentation/git-describe.txt18
-rw-r--r--Documentation/git-pack-objects.txt22
-rw-r--r--Documentation/git-rebase.txt19
-rw-r--r--Documentation/git-rev-list.txt4
-rw-r--r--Documentation/githooks.txt3
-rw-r--r--Documentation/gitworkflows.txt4
-rwxr-xr-xDocumentation/install-doc-quick.sh9
-rw-r--r--Documentation/merge-config.txt4
-rw-r--r--Documentation/pretty-formats.txt12
-rw-r--r--Documentation/rebase-config.txt52
-rw-r--r--Documentation/rev-list-options.txt46
-rw-r--r--Documentation/technical/api-decorate.txt6
-rw-r--r--Documentation/technical/partial-clone.txt324
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--Makefile24
-rw-r--r--branch.c4
-rw-r--r--branch.h10
-rw-r--r--builtin/am.c47
-rw-r--r--builtin/branch.c19
-rw-r--r--builtin/checkout.c2
-rw-r--r--builtin/clone.c6
-rw-r--r--builtin/describe.c121
-rw-r--r--builtin/fast-export.c2
-rw-r--r--builtin/fetch.c7
-rw-r--r--builtin/fmt-merge-msg.c3
-rw-r--r--builtin/index-pack.c11
-rw-r--r--builtin/merge.c2
-rw-r--r--builtin/mv.c2
-rw-r--r--builtin/notes.c2
-rw-r--r--builtin/pack-objects.c64
-rw-r--r--builtin/rebase--helper.c29
-rw-r--r--builtin/reset.c2
-rw-r--r--builtin/rev-list.c112
-rw-r--r--builtin/rm.c2
-rw-r--r--builtin/show-branch.c2
-rw-r--r--builtin/worktree.c22
-rw-r--r--cache.h9
-rwxr-xr-xci/install-dependencies.sh8
-rwxr-xr-xci/lib-travisci.sh34
-rw-r--r--commit.h81
-rw-r--r--contrib/completion/git-prompt.sh7
-rw-r--r--convert.c19
-rw-r--r--decorate.c28
-rw-r--r--decorate.h49
-rw-r--r--diff.c50
-rw-r--r--dir.c132
-rw-r--r--dir.h3
-rw-r--r--git-compat-util.h23
-rwxr-xr-xgit-cvsimport.perl2
-rw-r--r--git-rebase--interactive.sh23
-rwxr-xr-xgit-rebase.sh35
-rwxr-xr-xgit-svn.perl1
-rw-r--r--help.c6
-rw-r--r--http.c5
-rw-r--r--imap-send.c8
-rw-r--r--list-objects-filter-options.c92
-rw-r--r--list-objects-filter-options.h61
-rw-r--r--list-objects-filter.c401
-rw-r--r--list-objects-filter.h77
-rw-r--r--list-objects.c144
-rw-r--r--list-objects.h13
-rw-r--r--merge-recursive.c7
-rw-r--r--merge.c33
-rw-r--r--object.h1
-rw-r--r--oidmap.h22
-rw-r--r--oidset.c10
-rw-r--r--oidset.h36
-rw-r--r--path.h133
-rw-r--r--pretty.h131
-rw-r--r--revision.c2
-rw-r--r--revision.h5
-rw-r--r--sequencer.c126
-rw-r--r--sequencer.h10
-rw-r--r--strbuf.c27
-rw-r--r--submodule.c32
-rw-r--r--submodule.h14
-rw-r--r--t/Makefile6
-rw-r--r--t/helper/.gitignore45
-rw-r--r--t/helper/test-example-decorate.c74
-rw-r--r--t/lib-git-svn.sh24
-rwxr-xr-xt/perf/p7519-fsmonitor.sh3
-rwxr-xr-xt/t0027-auto-crlf.sh77
-rwxr-xr-xt/t2025-worktree-add.sh35
-rwxr-xr-xt/t3404-rebase-interactive.sh22
-rwxr-xr-xt/t4045-diff-relative.sh110
-rwxr-xr-xt/t5317-pack-objects-filter-objects.sh375
-rwxr-xr-xt/t5573-pull-verify-signatures.sh81
-rwxr-xr-xt/t5615-alternate-env.sh6
-rwxr-xr-xt/t6044-merge-unrelated-index-changes.sh26
-rwxr-xr-xt/t6100-rev-list-in-order.sh77
-rwxr-xr-xt/t6112-rev-list-filters-objects.sh225
-rwxr-xr-xt/t6120-describe.sh36
-rwxr-xr-xt/t7612-merge-verify-signatures.sh45
-rwxr-xr-xt/t9004-example.sh10
-rwxr-xr-xt/t9169-git-svn-dcommit-crlf.sh27
-rw-r--r--t/test-lib.sh46
-rw-r--r--transport-helper.c30
-rw-r--r--transport-internal.h61
-rw-r--r--transport.c76
-rw-r--r--transport.h55
-rw-r--r--version.c1
-rw-r--r--version.h1
107 files changed, 3875 insertions, 788 deletions
diff --git a/.travis.yml b/.travis.yml
index 281f101f31..7c9aa0557e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,30 +21,14 @@ addons:
- git-svn
- apache2
-env:
- global:
- - DEVELOPER=1
- # The Linux build installs the defined dependency versions below.
- # The OS X build installs the latest available versions. Keep that
- # in mind when you encounter a broken OS X build!
- - LINUX_P4_VERSION="16.2"
- - LINUX_GIT_LFS_VERSION="1.5.2"
- - DEFAULT_TEST_TARGET=prove
- - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
- - GIT_TEST_OPTS="--verbose-log"
- - GIT_TEST_CLONE_2GB=YesPlease
- # t9810 occasionally fails on Travis CI OS X
- # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
- - GIT_SKIP_TESTS="t9810 t9816"
-
matrix:
include:
- - env: GETTEXT_POISON=YesPlease
+ - env: jobname=GETTEXT_POISON
os: linux
compiler:
addons:
before_install:
- - env: Windows
+ - env: jobname=Windows
os: linux
compiler:
addons:
@@ -55,7 +39,7 @@ matrix:
test "$TRAVIS_REPO_SLUG" != "git/git" ||
ci/run-windows-build.sh $TRAVIS_BRANCH $(git rev-parse HEAD)
after_failure:
- - env: Linux32
+ - env: jobname=Linux32
os: linux
compiler:
services:
@@ -63,7 +47,7 @@ matrix:
before_install:
before_script:
script: ci/run-linux32-docker.sh
- - env: Static Analysis
+ - env: jobname=StaticAnalysis
os: linux
compiler:
addons:
@@ -74,7 +58,7 @@ matrix:
before_script:
script: ci/run-static-analysis.sh
after_failure:
- - env: Documentation
+ - env: jobname=Documentation
os: linux
compiler:
addons:
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 2ab65561af..4ae9ba5c86 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -39,6 +39,7 @@ MAN7_TXT += gitworkflows.txt
MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)
MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT))
MAN_HTML = $(patsubst %.txt,%.html,$(MAN_TXT))
+GIT_MAN_REF = master
OBSOLETE_HTML += everyday.html
OBSOLETE_HTML += git-remote-helpers.html
@@ -437,14 +438,14 @@ require-manrepo::
then echo "git-manpages repository must exist at $(MAN_REPO)"; exit 1; fi
quick-install-man: require-manrepo
- '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir)
+ '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir) $(GIT_MAN_REF)
require-htmlrepo::
@if test ! -d $(HTML_REPO); \
then echo "git-htmldocs repository must exist at $(HTML_REPO)"; exit 1; fi
quick-install-html: require-htmlrepo
- '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REPO) $(DESTDIR)$(htmldir)
+ '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REPO) $(DESTDIR)$(htmldir) $(GIT_MAN_REF)
print-man1:
@for i in $(MAN1_TXT); do echo $$i; done
diff --git a/Documentation/RelNotes/2.16.0.txt b/Documentation/RelNotes/2.16.0.txt
index 073a126a9c..8f0461eefd 100644
--- a/Documentation/RelNotes/2.16.0.txt
+++ b/Documentation/RelNotes/2.16.0.txt
@@ -120,6 +120,31 @@ UI, Workflows & Features
who are used to seeing abbreviated object names and find them
confusing with the range syntax.
+ * With a configuration variable rebase.abbreviateCommands set,
+ "git rebase -i" produces the todo list with a single-letter
+ command names.
+
+ * "git worktree add" learned to run the post-checkout hook, just like
+ "git checkout" does, after the initial checkout.
+
+ * "git svn" has been updated to strip CRs in the commit messages, as
+ recent versions of Subversion rejects them.
+
+ * "git imap-send" did not correctly quote the folder name when
+ making a request to the server, which has been corrected.
+
+ * Error messages from "git rebase" have been somewhat cleaned up.
+
+ * Git has been taught to support an https:// URL used for http.proxy
+ when using recent versions of libcurl.
+
+ * "git merge" learned to pay attention to merge.verifySignatures
+ configuration variable and pretend as if '--verify-signatures'
+ option was given from the command line.
+
+ * "git describe" was taught to dig trees deeper to find a
+ <commit-ish>:<path> that refers to a given blob object.
+
Performance, Internal Implementation, Development Support etc.
@@ -183,6 +208,23 @@ Performance, Internal Implementation, Development Support etc.
* The tracing infrastructure has been optimized for cases where no
tracing is requested.
+ * In preparation for implementing narrow/partial clone, the object
+ walking machinery has been taught a way to tell it to "filter" some
+ objects from enumeration.
+
+ * A few structures and variables that are implementation details of
+ the decorate API have been renamed and then the API got documented
+ better.
+
+ * Assorted updates for TravisCI integration.
+ (merge 4f26366679 sg/travis-fixes later to maint).
+
+ * Introduce a helper to simplify code to parse a common pattern that
+ expects either "--key" or "--key=<something>".
+
+ * "git version --build-options" learned to report the host CPU and
+ the exact commit object name the binary was built from.
+
Also contains various documentation updates and code clean-ups.
@@ -374,6 +416,23 @@ Fixes since v2.15
lost.
(merge abfb04d0c7 ls/editor-waiting-message later to maint).
+ * The "safe crlf" check incorrectly triggered for contents that does
+ not use CRLF as line endings, which has been corrected.
+ (merge 649f1f0948 tb/check-crlf-for-safe-crlf later to maint).
+
+ * "git clone --shared" to borrow from a (secondary) worktree did not
+ work, even though "git clone --local" did. Both are now accepted.
+ (merge b3b05971c1 es/clone-shared-worktree later to maint).
+
+ * The build procedure now allows not just the repositories but also
+ the refs to be used to take pre-formatted manpages and html
+ documents to install.
+ (merge 65289e9dcd rb/quick-install-doc later to maint).
+
+ * Update the shell prompt script (in contrib/) to strip trailing CR
+ from strings read from various "state" files.
+ (merge 041fe8fc83 ra/prompt-eread-fix later to maint).
+
* Other minor doc, test and build updates and code cleanups.
(merge 1a1fc2d5b5 rd/man-prune-progress later to maint).
(merge 0ba014035a rd/man-reflog-add-n later to maint).
@@ -384,3 +443,16 @@ Fixes since v2.15
(merge 5e83cca0b8 jk/no-optional-locks later to maint).
(merge 826c778f7c js/hashmap-update-sample later to maint).
(merge 176b2d328c sg/setup-doc-update later to maint).
+ (merge 1b09073514 rs/am-builtin-leakfix later to maint).
+ (merge addcf6cfde rs/fmt-merge-msg-string-leak-fix later to maint).
+ (merge c3ff8f6c14 rs/strbuf-read-once-reset-length later to maint).
+ (merge 6b0eb884f9 db/doc-workflows-neuter-the-maintainer later to maint).
+ (merge 8c87bdfb21 jk/cvsimport-quoting later to maint).
+ (merge 176cb979fe rs/fmt-merge-msg-leakfix later to maint).
+ (merge 5a03360e73 tb/delimit-pretty-trailers-args-with-comma later