diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/RelNotes/2.13.2.txt | 37 | ||||
-rw-r--r-- | Documentation/RelNotes/2.14.0.txt | 64 | ||||
-rw-r--r-- | Documentation/config.txt | 5 | ||||
-rw-r--r-- | Documentation/git-rm.txt | 9 | ||||
-rw-r--r-- | Documentation/git-svn.txt | 15 | ||||
-rw-r--r-- | Documentation/rev-list-options.txt | 1 |
6 files changed, 113 insertions, 18 deletions
diff --git a/Documentation/RelNotes/2.13.2.txt b/Documentation/RelNotes/2.13.2.txt new file mode 100644 index 0000000000..c8ba0fa16f --- /dev/null +++ b/Documentation/RelNotes/2.13.2.txt @@ -0,0 +1,37 @@ +Git v2.13.2 Release Notes +========================= + +Fixes since v2.13.1 +------------------- + + * The "collision detecting" SHA-1 implementation shipped with 2.13.1 + was still broken on some platforms. Update to the upstream code + again to take their fix. + + * "git checkout --recurse-submodules" did not quite work with a + submodule that itself has submodules. + + * Introduce the BUG() macro to improve die("BUG: ..."). + + * The "run-command" API implementation has been made more robust + against dead-locking in a threaded environment. + + * A recent update to t5545-push-options.sh started skipping all the + tests in the script when a web server testing is disabled or + unavailable, not just the ones that require a web server. Non HTTP + tests have been salvaged to always run in this script. + + * "git clean -d" used to clean directories that has ignored files, + even though the command should not lose ignored ones without "-x". + "git status --ignored" did not list ignored and untracked files + without "-uall". These have been corrected. + + * The timestamp of the index file is now taken after the file is + closed, to help Windows, on which a stale timestamp is reported by + fstat() on a file that is opened for writing and data was written + but not yet closed. + + * "git pull --rebase --autostash" didn't auto-stash when the local history + fast-forwards to the upstream. + +Also contains various documentation updates and code clean-ups. diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt index e4ca72e50e..a71615a6b4 100644 --- a/Documentation/RelNotes/2.14.0.txt +++ b/Documentation/RelNotes/2.14.0.txt @@ -67,6 +67,25 @@ UI, Workflows & Features * Make the "indent" heuristics the default in "diff" and diff.indentHeuristics configuration variable an escape hatch for those who do no want it. + * Many commands learned to pay attention to submodule.recurse + configuration. + + * The convention for a command line is to follow "git cmdname + --options" with revisions followed by an optional "--" + disambiguator and then finally pathspecs. When "--" is not there, + we make sure early ones are all interpretable as revs (and do not + look like paths) and later ones are the other way around. A + pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from + the top-level of the working tree, no matter what subdirectory you + are working from) are conservatively judged as "not a path", which + required disambiguation more often. The command line parser + learned to say "it's a pathspec" a bit more often when the syntax + looks like so. + (merge 2cb47ab695 jk/pathspec-magic-disambiguation later to maint). + + * Update "perl-compatible regular expression" support to enable JIT + and also allow linking with the newer PCRE v2 library. + Performance, Internal Implementation, Development Support etc. @@ -129,6 +148,26 @@ Performance, Internal Implementation, Development Support etc. * The internal logic used in "git blame" has been libified to make it easier to use by cgit. + * Our code often opens a path to an optional file, to work on its + contents when we can successfully open it. We can ignore a failure + to open if such an optional file does not exist, but we do want to + report a failure in opening for other reasons (e.g. we got an I/O + error, or the file is there, but we lack the permission to open). + + The exact errors we need to ignore are ENOENT (obviously) and + ENOTDIR (less obvious). Instead of repeating comparison of errno + with these two constants, introduce a helper function to do so. + + * We often try to open a file for reading whose existence is + optional, and silently ignore errors from open/fopen; report such + errors if they are not due to missing files. + + * When an existing repository is used for t/perf testing, we first + create bit-for-bit copy of it, which may grab a transient state of + the repository and freeze it into the repository used for testing, + which then may cause Git operations to fail. Single out "the index + being locked" case and forcibly drop the lock from the copy. + Also contains various documentation updates and code clean-ups. @@ -176,7 +215,6 @@ notes for details). * "git checkout --recurse-submodules" did not quite work with a submodule that itself has submodules. - (merge 218c883783 sb/checkout-recurse-submodules later to maint). * Plug some leaks and updates internal API used to implement the split index feature to make it easier to avoid such a leak in the @@ -203,7 +241,6 @@ notes for details). checked out with eol=LF even on Windows. * Introduce the BUG() macro to improve die("BUG: ..."). - (merge 3d7dd2d3b6 jk/bug-to-abort later to maint). * Clarify documentation for include.path and includeIf.<condition>.path configuration variables. @@ -249,17 +286,14 @@ notes for details). * The "run-command" API implementation has been made more robust against dead-locking in a threaded environment. - (merge e3f43ce765 bw/forking-and-threading later to maint). * A recent update to t5545-push-options.sh started skipping all the tests in the script when a web server testing is disabled or unavailable, not just the ones that require a web server. Non HTTP tests have been salvaged to always run in this script. - (merge 2e397e4ddf jc/skip-test-in-the-middle later to maint). * "git send-email" now uses Net::SMTP::SSL, which is obsolete, only when needed. Recent versions of Net::SMTP can do TLS natively. - (merge bfbfc9a953 dk/send-email-avoid-net-smtp-ssl-when-able later to maint). * "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no slashes in it, cannot be a nickname for a remote on Windows, as @@ -269,7 +303,6 @@ notes for details). even though the command should not lose ignored ones without "-x". "git status --ignored" did not list ignored and untracked files without "-uall". These have been corrected. - (merge 6b1db43109 sl/clean-d-ignored-fix later to maint). * The result from "git diff" that compares two blobs, e.g. "git diff $commit1:$path $commit2:$path", used to be shown with the full @@ -291,16 +324,19 @@ notes for details). closed, to help Windows, on which a stale timestamp is reported by fstat() on a file that is opened for writing and data was written but not yet closed. - (merge 9f41c7a6b3 jh/close-index-before-stat later to maint). * "git pull --rebase --autostash" didn't auto-stash when the local history fast-forwards to the upstream. - (merge f15e7cf5cc tb/pull-ff-rebase-autostash later to maint). + + * A flaky test has been corrected. + (merge 7c2115aa07 jk/pack-idx-corruption-safety later to maint). + + * "git $cmd -h" for builtin commands calls the implementation of the + command (i.e. cmd_$cmd() function) without doing any repository + set-up, and the commands that expect RUN_SETUP is done by the Git + potty needs to be prepared to show the help text without barfing. + (merge d691551192 jk/consistent-h later to maint). * Other minor doc, test and build updates and code cleanups. - (merge c5a9157393 jh/memihash-opt later to maint). - (merge 44e2ff09ce ab/t3070-test-dedup later to maint). - (merge 9ee4aa95db rf/completion-config-commit later to maint). - (merge ef4fe5617e jk/connect-symref-info-leak-fix later to maint). - (merge a56eea28c4 jk/drop-free-refspecs later to maint). - (merge 0c79cee697 ad/pull-remote-doc later to maint). + (merge 8ba74bfd7c jc/diff-tree-stale-comment later to maint). + (merge 68602c01fd sb/submodule-rm-absorb later to maint). diff --git a/Documentation/config.txt b/Documentation/config.txt index dd4beec39d..f6278a5ae6 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -3091,6 +3091,11 @@ submodule.active:: submodule's path to determine if the submodule is of interest to git commands. +submodule.recurse:: + Specifies if commands recurse into submodules by default. This + applies to all commands that have a `--recurse-submodules` option. + Defaults to false. + submodule.fetchJobs:: Specifies how many submodules are fetched/cloned at the same time. A positive integer allows up to that number of submodules fetched diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt index f1efc116eb..8c87e8cdd7 100644 --- a/Documentation/git-rm.txt +++ b/Documentation/git-rm.txt @@ -140,10 +140,11 @@ Only submodules using a gitfile (which means they were cloned with a Git version 1.7.8 or newer) will be removed from the work tree, as their repository lives inside the .git directory of the superproject. If a submodule (or one of those nested inside it) -still uses a .git directory, `git rm` will fail - no matter if forced -or not - to protect the submodule's history. If it exists the -submodule.<name> section in the linkgit:gitmodules[5] file will also -be removed and that file will be staged (unless --cached or -n are used). +still uses a .git directory, `git rm` will move the submodules +git directory into the superprojects git directory to protect +the submodule's history. If it exists the submodule.<name> section +in the linkgit:gitmodules[5] file will also be removed and that file +will be staged (unless --cached or -n are used). A submodule is considered up-to-date when the HEAD is the same as recorded in the index, no tracked files are modified and no untracked diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index fba0b4eece..aa2aeabb60 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -459,6 +459,21 @@ Any other arguments are passed directly to 'git log' (URL) may be omitted if you are working from a 'git svn'-aware repository (that has been `init`-ed with 'git svn'). The -r<revision> option is required for this. ++ +The commit message is supplied either directly with the `-m` or `-F` +option, or indirectly from the tag or commit when the second tree-ish +denotes such an object, or it is requested by invoking an editor (see +`--edit` option below). + +-m <msg>;; +--message=<msg>;; + Use the given `msg` as the commit message. This option + disables the `--edit` option. + +-F <filename>;; +--file=<filename>;; + Take the commit message from the given file. This option + disables the `--edit` option. 'info':: Shows information about a file or directory similar to what diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index a46f70c2b1..9c44eae55d 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -91,6 +91,7 @@ endif::git-rev-list[] Consider the limiting patterns to be fixed strings (don't interpret pattern as a regular expression). +-P:: --perl-regexp:: Consider the limiting patterns to be Perl-compatible regular expressions. |