diff --git a/.gitignore b/.gitignore index d9adce585a..e8f91ce8cd 100644 --- a/.gitignore +++ b/.gitignore @@ -144,6 +144,7 @@ git-core-*/?* gitk-wish gitweb/gitweb.cgi test-chmtime +test-ctype test-date test-delta test-dump-cache-tree diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index f628c1f3b7..0d7fa9cca9 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -21,8 +21,13 @@ code. For git in general, three rough rules are: As for more concrete guidelines, just imitate the existing code (this is a good guideline, no matter which project you are -contributing to). But if you must have a list of rules, -here they are. +contributing to). It is always preferable to match the _local_ +convention. New code added to git suite is expected to match +the overall style of existing code. Modifications to existing +code is expected to match the style the surrounding code already +uses (even if it doesn't match the overall style of existing code). + +But if you must have a list of rules, here they are. For shell scripts specifically (not exhaustive): diff --git a/Documentation/RelNotes-1.6.1.1.txt b/Documentation/RelNotes-1.6.1.1.txt index 5cd1ca9cc6..88454c1973 100644 --- a/Documentation/RelNotes-1.6.1.1.txt +++ b/Documentation/RelNotes-1.6.1.1.txt @@ -4,9 +4,14 @@ GIT v1.6.1.1 Release Notes Fixes since v1.6.1 ------------------ +* "git add frotz/nitfol" when "frotz" is a submodule should have errored + out, but it didn't. + * "git apply" took file modes from the patch text and updated the mode bits of the target tree even when the patch was not about mode changes. +* "git bisect view" on Cygwin did not launch gitk + * "git checkout $tree" did not trigger an error. * "git commit" tried to remove COMMIT_EDITMSG from the work tree by mistake. @@ -14,6 +19,12 @@ Fixes since v1.6.1 * "git describe --all" complained when a commit is described with a tag, which was nonsense. +* "git diff --no-index --" did not trigger no-index (aka "use git-diff as + a replacement of diff on untracked files") behaviour. + +* "git format-patch -1 HEAD" on a root commit failed to produce patch + text. + * "git fsck branch" did not work as advertised; instead it behaved the same way as "git fsck". @@ -36,14 +47,13 @@ Fixes since v1.6.1 * "git mv -k" with more than one errorneous paths misbehaved. +* "git read-tree -m -u" hence branch switching incorrectly lost a + subdirectory in rare cases. + * "git rebase -i" issued an unnecessary error message upon a user error of marking the first commit to be "squash"ed. -Other documentation updates. - ---- -exec >/var/tmp/1 -O=v1.6.1-60-g78f111e -echo O=$(git describe maint) -git shortlog --no-merges $O..maint +* "git shortlog" did not format a commit message with multi-line + subject correctly. +Many documentation updates. diff --git a/Documentation/config.txt b/Documentation/config.txt index 290cb48eb9..e2b8775dd3 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -639,6 +639,12 @@ diff.suppressBlankEmpty:: A boolean to inhibit the standard behavior of printing a space before each empty output line. Defaults to false. +diff.wordRegex:: + A POSIX Extended Regular Expression used to determine what is a "word" + when performing word-by-word difference calculations. Character + sequences that match the regular expression are "words", all other + characters are *ignorable* whitespace. + fetch.unpackLimit:: If the number of objects fetched over the git native transfer is below this diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 43793d7500..813a7b11b9 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -36,6 +36,9 @@ endif::git-format-patch[] --patch-with-raw:: Synonym for "-p --raw". +--patience:: + Generate a diff using the "patience diff" algorithm. + --stat[=width[,name-width]]:: Generate a diffstat. You can override the default output width for 80-column terminal by "--stat=width". @@ -91,8 +94,22 @@ endif::git-format-patch[] Turn off colored diff, even when the configuration file gives the default to color output. ---color-words:: - Show colored word diff, i.e. color words which have changed. +--color-words[=]:: + Show colored word diff, i.e., color words which have changed. + By default, words are separated by whitespace. ++ +When a is specified, every non-overlapping match of the + is considered a word. Anything between these matches is +considered whitespace and ignored(!) for the purposes of finding +differences. You may want to append `|[^[:space:]]` to your regular +expression to make sure that it matches all non-whitespace characters. +A match that contains a newline is silently truncated(!) at the +newline. ++ +The regex can also be set via a diff driver or configuration option, see +linkgit:gitattributes[1] or linkgit:git-config[1]. Giving it explicitly +overrides any diff driver or configuration setting. Diff drivers +override configuration settings. --no-renames:: Turn off rename detection, even when the configuration diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 5cbbe76937..efd311b1ce 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -12,6 +12,7 @@ SYNOPSIS 'git am' [--signoff] [--keep] [--utf8 | --no-utf8] [--3way] [--interactive] [--whitespace=