summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/CodingGuidelines2
-rw-r--r--Documentation/RelNotes/1.7.4.2.txt58
-rw-r--r--Documentation/SubmittingPatches26
-rw-r--r--Documentation/config.txt14
-rw-r--r--Documentation/diff-generate-patch.txt11
-rw-r--r--Documentation/git-am.txt6
-rw-r--r--Documentation/git-apply.txt2
-rw-r--r--Documentation/git-bisect.txt7
-rw-r--r--Documentation/git-filter-branch.txt2
-rw-r--r--Documentation/git-for-each-ref.txt18
-rw-r--r--Documentation/git-grep.txt1
-rw-r--r--Documentation/git-ls-remote.txt2
-rw-r--r--Documentation/git-pack-objects.txt6
-rw-r--r--Documentation/git-remote-ext.txt14
-rw-r--r--Documentation/git-remote-helpers.txt6
-rw-r--r--Documentation/git-svn.txt6
-rw-r--r--Documentation/git-tag.txt36
-rw-r--r--Documentation/git-verify-pack.txt2
-rw-r--r--Documentation/gitattributes.txt10
-rw-r--r--Documentation/rev-list-options.txt2
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--Makefile2
l---------RelNotes2
-rw-r--r--abspath.c4
-rw-r--r--builtin/add.c3
-rw-r--r--builtin/apply.c23
-rw-r--r--builtin/blame.c3
-rw-r--r--builtin/branch.c48
-rw-r--r--builtin/checkout.c23
-rw-r--r--builtin/clone.c2
-rw-r--r--builtin/commit.c16
-rw-r--r--builtin/config.c2
-rw-r--r--builtin/describe.c4
-rw-r--r--builtin/fast-export.c4
-rw-r--r--builtin/fetch.c6
-rw-r--r--builtin/grep.c5
-rw-r--r--builtin/index-pack.c6
-rw-r--r--builtin/init-db.c12
-rw-r--r--builtin/log.c34
-rw-r--r--builtin/merge.c39
-rw-r--r--builtin/notes.c16
-rw-r--r--builtin/patch-id.c2
-rw-r--r--builtin/push.c10
-rw-r--r--builtin/read-tree.c4
-rw-r--r--builtin/tag.c2
-rw-r--r--cache.h8
-rw-r--r--commit.h3
-rw-r--r--compat/bswap.h18
-rw-r--r--compat/mingw.h16
-rw-r--r--config.c16
-rwxr-xr-xcontrib/thunderbird-patch-inline/appp.sh4
-rw-r--r--convert.c2
-rw-r--r--diff.c37
-rw-r--r--diffcore-rename.c69
-rw-r--r--environment.c1
-rw-r--r--fast-import.c43
-rw-r--r--fetch-pack.h3
-rwxr-xr-xgenerate-cmdlist.sh3
-rwxr-xr-xgit-bisect.sh10
-rw-r--r--git-compat-util.h5
-rw-r--r--git-mergetool--lib.sh4
-rw-r--r--git-parse-remote.sh3
-rwxr-xr-xgit-submodule.sh9
-rwxr-xr-xgitweb/gitweb.perl13
-rw-r--r--hash.c4
-rw-r--r--hash.h2
-rw-r--r--http-push.c15
-rw-r--r--http-walker.c6
-rw-r--r--http.h15
-rw-r--r--merge-recursive.c12
-rw-r--r--pack-check.c3
-rw-r--r--parse-options.h2
-rw-r--r--perl/Git.pm25
-rw-r--r--sha1_file.c84
-rw-r--r--sha1_name.c4
-rw-r--r--strbuf.h37
-rw-r--r--string-list.h3
-rw-r--r--submodule.c103
-rw-r--r--symlinks.c2
-rw-r--r--t/README18
-rw-r--r--t/lib-terminal.sh22
-rwxr-xr-xt/t0040-parse-options.sh2
-rwxr-xr-xt/t0070-fundamental.sh13
-rwxr-xr-xt/t2019-checkout-ambiguous-ref.sh59
-rwxr-xr-xt/t2021-checkout-overwrite.sh50
-rwxr-xr-xt/t4003-diff-rename-1.sh2
-rwxr-xr-xt/t4004-diff-rename-symlink.sh2
-rwxr-xr-xt/t4005-diff-rename-2.sh2
-rwxr-xr-xt/t4008-diff-break-rewrite.sh4
-rwxr-xr-xt/t4009-diff-rename-4.sh2
-rwxr-xr-xt/t4031-diff-rewrite-binary.sh7
-rwxr-xr-xt/t4204-patch-id.sh36
-rwxr-xr-xt/t5701-clone-local.sh13
-rwxr-xr-xt/t6035-merge-dir-to-symlink.sh14
-rwxr-xr-xt/t7406-submodule-update.sh52
-rwxr-xr-xt/t7500-commit.sh14
-rwxr-xr-xt/t7505-prepare-commit-msg-hook.sh12
-rwxr-xr-xt/t8001-annotate.sh11
-rwxr-xr-xt/t8006-blame-textconv.sh3
-rwxr-xr-xt/t9700/test.pl10
-rw-r--r--t/test-lib.sh6
-rw-r--r--t/valgrind/default.supp6
-rw-r--r--test-mktemp.c14
-rw-r--r--test-parse-options.c2
-rw-r--r--transport-helper.c3
-rw-r--r--wrapper.c32
106 files changed, 1007 insertions, 493 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index ba2006d892..fe1c1e5bc2 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -152,7 +152,7 @@ Writing Documentation:
when writing or modifying command usage strings and synopsis sections
in the manual pages:
- Placeholders are enclosed in angle brackets:
+ Placeholders are spelled in lowercase and enclosed in angle brackets:
<file>
--sort=<key>
--abbrev[=<n>]
diff --git a/Documentation/RelNotes/1.7.4.2.txt b/Documentation/RelNotes/1.7.4.2.txt
new file mode 100644
index 0000000000..ef4ce1fcd3
--- /dev/null
+++ b/Documentation/RelNotes/1.7.4.2.txt
@@ -0,0 +1,58 @@
+Git v1.7.4.2 Release Notes
+==========================
+
+Fixes since v1.7.4.1
+--------------------
+
+ * Many documentation updates to match "git cmd -h" output and the
+ git-cmd manual page.
+
+ * We used to keep one file descriptor open for each and every packfile
+ that we have a mmap window on it (read: "in use"), even when for very
+ tiny packfiles. We now close the file descriptor early when the entire
+ packfile fits inside one mmap window.
+
+ * "git bisect visualize" tried to run "gitk" in windowing
+ environments even when "gitk" is not installed, resulting in a
+ strange error message.
+
+ * "git clone /no/such/path" did not fail correctly.
+
+ * "git commit" did not correctly error out when the user asked to use a
+ non existent file as the commit message template.
+
+ * "git diff --stat -B" ran on binary files counted the changes in lines,
+ which was nonsensical.
+
+ * "git diff -M" opportunistically detected copies, which was not
+ necessarily a good thing, especially when it is internally run by
+ recursive merge.
+
+ * "git difftool" didn't tell (g)vimdiff that the files it is reading are
+ to be opened read-only.
+
+ * "git merge" didn't pay attention to prepare-commit-msg hook, even
+ though if a merge is conflicted and manually resolved, the subsequent
+ "git commit" would have triggered the hook, which was inconsistent.
+
+ * "git patch-id" (and commands like "format-patch --ignore-in-upstream"
+ that use it as their internal logic) handled changes to files that end
+ with incomplete lines incorrectly.
+
+ * The official value to tell "git push" to push the current branch back
+ to update the upstream branch it forked from is now called "upstream".
+ The old name "tracking" is and will be supported.
+
+ * "git submodule update" used to honor the --merge/--rebase option (or
+ corresponding configuration variables) even for a newly cloned
+ subproject, which made no sense (so/submodule-no-update-first-time).
+
+ * gitweb's "highlight" interface mishandled tabs.
+
+ * gitweb didn't understand timezones with GMT offset that is not
+ multiple of a whole hour.
+
+ * gitweb had a few forward-incompatible syntactic constructs and
+ also used incorrect variable when showing the file mode in a diff.
+
+And other minor fixes and documentation updates.
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 72741ebda1..c3b0816ed7 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -10,10 +10,18 @@ Checklist (and a short version for the impatient):
description (50 characters is the soft limit, see DISCUSSION
in git-commit(1)), and should skip the full stop
- the body should provide a meaningful commit message, which:
- - uses the imperative, present tense: "change",
- not "changed" or "changes".
- - includes motivation for the change, and contrasts
- its implementation with previous behaviour
+ . explains the problem the change tries to solve, iow, what
+ is wrong with the current code without the change.
+ . justifies the way the change solves the problem, iow, why
+ the result with the change is better.
+ . alternate solutions considered but discarded, if any.
+ - describe changes in imperative mood, e.g. "make xyzzy do frotz"
+ instead of "[This patch] makes xyzzy do frotz" or "[I] changed
+ xyzzy to do frotz", as if you are giving orders to the codebase
+ to change its behaviour.
+ - try to make sure your explanation can be understood without
+ external resources. Instead of giving a URL to a mailing list
+ archive, summarize the relevant points of the discussion.
- add a "Signed-off-by: Your Name <you@example.com>" line to the
commit message (or just use the option "-s" when committing)
to confirm that you agree to the Developer's Certificate of Origin
@@ -90,7 +98,10 @@ your commit head. Instead, always make a commit with complete
commit message and generate a series of patches from your
repository. It is a good discipline.
-Describe the technical detail of the change(s).
+Give an explanation for the change(s) that is detailed enough so
+that people can judge if it is good thing to do, without reading
+the actual patch text to determine how well the code does what
+the explanation promises to do.
If your description starts to get too long, that's a sign that you
probably need to split up your commit to finer grained pieces.
@@ -99,9 +110,8 @@ help reviewers check the patch, and future maintainers understand
the code, are the most beautiful patches. Descriptions that summarise
the point in the subject well, and describe the motivation for the
change, the approach taken by the change, and if relevant how this
-differs substantially from the prior version, can be found on Usenet
-archives back into the late 80's. Consider it like good Netiquette,
-but for code.
+differs substantially from the prior version, are all good things
+to have.
Oh, another thing. I am picky about whitespaces. Make sure your
changes do not trigger errors with the sample pre-commit hook shipped
diff --git a/Documentation/config.txt b/Documentation/config.txt
index c5e183516a..1a571f4174 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -62,7 +62,7 @@ Internal whitespace within a variable value is retained verbatim.
The values following the equals sign in variable assign are all either
a string, an integer, or a boolean. Boolean values may be given as yes/no,
-0/1, true/false or on/off. Case is not significant in boolean values, when
+1/0, true/false or on/off. Case is not significant in boolean values, when
converting value to the canonical form using '--bool' type specifier;
'git config' will ensure that the output is "true" or "false".
@@ -376,15 +376,6 @@ core.warnAmbiguousRefs::
If true, git will warn you if the ref name you passed it is ambiguous
and might match multiple refs in the .git/refs/ tree. True by default.
-core.abbrevguard::
- Even though git makes sure that it uses enough hexdigits to show
- an abbreviated object name unambiguously, as more objects are
- added to the repository over time, a short name that used to be
- unique will stop being unique. Git uses this many extra hexdigits
- that are more than necessary to make the object name currently
- unique, in the hope that its output will stay unique a bit longer.
- Defaults to 0.
-
core.compression::
An integer -1..9, indicating a default compression level.
-1 is the zlib default. 0 means no compression,
@@ -1591,7 +1582,8 @@ push.default::
* `matching` - push all matching branches.
All branches having the same name in both ends are considered to be
matching. This is the default.
-* `tracking` - push the current branch to its upstream branch.
+* `upstream` - push the current branch to its upstream branch.
+* `tracking` - deprecated synonym for `upstream`.
* `current` - push the current branch to a branch of the same name.
rebase.stat::
diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt
index 3ac2beac62..c57460c03d 100644
--- a/