From f04833ef9f330612a4116401258882b38e95744e Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Fri, 1 May 2009 20:18:02 -0400 Subject: [PATCH 01/25] honor repack.usedeltabaseoffset when fetching packs If the local receiving repository has disabled the use of delta base offset, for example to retain compatibility with older versions of Git that predate OFS_DELTA, we shouldn't ask for ofs-delta support when we obtain a pack from the remote server. [ issue noticed by Shawn Pearce ] Signed-off-by: Nicolas Pitre Signed-off-by: Junio C Hamano --- builtin-fetch-pack.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/builtin-fetch-pack.c b/builtin-fetch-pack.c index 67fb80ec48..1effdc0d6b 100644 --- a/builtin-fetch-pack.c +++ b/builtin-fetch-pack.c @@ -13,6 +13,7 @@ static int transfer_unpack_limit = -1; static int fetch_unpack_limit = -1; static int unpack_limit = 100; +static int prefer_ofs_delta = 1; static struct fetch_pack_args args = { /* .uploadpack = */ "git-upload-pack", }; @@ -200,7 +201,7 @@ static int find_common(int fd[2], unsigned char *result_sha1, (args.use_thin_pack ? " thin-pack" : ""), (args.no_progress ? " no-progress" : ""), (args.include_tag ? " include-tag" : ""), - " ofs-delta"); + (prefer_ofs_delta ? " ofs-delta" : "")); else packet_write(fd[1], "want %s\n", sha1_to_hex(remote)); fetching++; @@ -597,6 +598,11 @@ static struct ref *do_fetch_pack(int fd[2], fprintf(stderr, "Server supports side-band\n"); use_sideband = 1; } + if (server_supports("ofs-delta")) { + if (args.verbose) + fprintf(stderr, "Server supports ofs-delta\n"); + } else + prefer_ofs_delta = 0; if (everything_local(&ref, nr_match, match)) { packet_flush(fd[1]); goto all_done; @@ -649,6 +655,11 @@ static int fetch_pack_config(const char *var, const char *value, void *cb) return 0; } + if (strcmp(var, "repack.usedeltabaseoffset") == 0) { + prefer_ofs_delta = git_config_bool(var, value); + return 0; + } + return git_default_config(var, value, cb); } From bab39ed371145b83340750101e7ec85167845857 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 3 May 2009 15:20:03 -0700 Subject: [PATCH 02/25] GIT 1.6.1.4 With a handful of fixes backmerged from 1.6.2.X series Signed-off-by: Junio C Hamano --- Documentation/RelNotes-1.6.1.4.txt | 25 +++++++++++++++++++++++++ GIT-VERSION-GEN | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Documentation/RelNotes-1.6.1.4.txt b/Documentation/RelNotes-1.6.1.4.txt index a9f1a6b8b5..0ce6316d75 100644 --- a/Documentation/RelNotes-1.6.1.4.txt +++ b/Documentation/RelNotes-1.6.1.4.txt @@ -4,15 +4,40 @@ GIT v1.6.1.4 Release Notes Fixes since v1.6.1.3 -------------------- +* .gitignore learned to handle backslash as a quoting mechanism for + comment introduction character "#". + This fix was first merged to 1.6.2.1. + * "git fast-export" produced wrong output with some parents missing from commits, when the history is clock-skewed. * "git fast-import" sometimes failed to read back objects it just wrote out and aborted, because it failed to flush stale cached data. +* "git-ls-tree" and "git-diff-tree" used a pathspec correctly when + deciding to descend into a subdirectory but they did not match the + individual paths correctly. This caused pathspecs "abc/d ab" to match + "abc/0" ("abc/d" made them decide to descend into the directory "abc/", + and then "ab" incorrectly matched "abc/0" when it shouldn't). + This fix was first merged to 1.6.2.3. + +* import-zips script (in contrib) did not compute the common directory + prefix correctly. + This fix was first merged to 1.6.2.2. + +* "git init" segfaulted when given an overlong template location via + the --template= option. + This fix was first merged to 1.6.2.4. + * "git repack" did not error out when necessary object was missing in the repository. +* git-repack (invoked from git-gc) did not work as nicely as it should in + a repository that borrows objects from neighbours via alternates + mechanism especially when some packs are marked with the ".keep" flag + to prevent them from being repacked. + This fix was first merged to 1.6.2.3. + Also includes minor documentation fixes and updates. -- diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 550a0ae371..e5e62ef0de 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.6.1.3.GIT +DEF_VER=v1.6.1.4 LF=' ' From a48f5d7153761fabf0b04fdfd1667adf7eeeddbe Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 3 May 2009 16:14:58 -0700 Subject: [PATCH 03/25] GIT 1.6.2.5 Signed-off-by: Junio C Hamano --- Documentation/RelNotes-1.6.2.5.txt | 21 +++++++++++++++++++++ GIT-VERSION-GEN | 2 +- RelNotes | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 Documentation/RelNotes-1.6.2.5.txt diff --git a/Documentation/RelNotes-1.6.2.5.txt b/Documentation/RelNotes-1.6.2.5.txt new file mode 100644 index 0000000000..b23f9e95d1 --- /dev/null +++ b/Documentation/RelNotes-1.6.2.5.txt @@ -0,0 +1,21 @@ +GIT v1.6.2.5 Release Notes +========================== + +Fixes since v1.6.2.4 +-------------------- + +* "git apply" mishandled if you fed a git generated patch that renames + file A to B and file B to A at the same time. + +* "git diff -c -p" (and "diff --cc") did not expect to see submodule + differences and instead refused to work. + +* "git grep -e '('" segfaulted, instead of diagnosing a mismatched + parentheses error. + +* "git fetch" generated packs with offset-delta encoding when both ends of + the connection are capable of producing one; this cannot be read by + ancient git and the user should be able to disable this by setting + repack.usedeltabaseoffset configuration to false. + + diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index c92670bf4c..9d65aed417 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.6.2.4 +DEF_VER=v1.6.2.5 LF=' ' diff --git a/RelNotes b/RelNotes index 22ea275eed..c02134157a 120000 --- a/RelNotes +++ b/RelNotes @@ -1 +1 @@ -Documentation/RelNotes-1.6.2.4.txt \ No newline at end of file +Documentation/RelNotes-1.6.2.5.txt \ No newline at end of file From e84dc6df86ce91ecc1e355c323a0e681cb82f801 Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Tue, 5 May 2009 11:16:14 -0700 Subject: [PATCH 04/25] git-svn: fix a sloppy Getopt::Long usage Getopt-Long v2.38 is much stricter about sloppy getopt usage. The trailing pipe causes git-svn testcases to fail for all of the --stdin argument calls. Signed-off-by: Robin H. Johnson Signed-off-by: Junio C Hamano --- git-svn.perl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-svn.perl b/git-svn.perl index 25ed2f4333..8b9ad38f85 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -133,7 +133,7 @@ my %cmd = ( %cmt_opts, %fc_opts } ], 'set-tree' => [ \&cmd_set_tree, "Set an SVN repository to a git tree-ish", - { 'stdin|' => \$_stdin, %cmt_opts, %fc_opts, } ], + { 'stdin' => \$_stdin, %cmt_opts, %fc_opts, } ], 'create-ignore' => [ \&cmd_create_ignore, 'Create a .gitignore per svn:ignore', { 'revision|r=i' => \$_revision From 2c5b0115038ab283b346fbb8059b93973ff4c8f2 Mon Sep 17 00:00:00 2001 From: Allan Caffee Date: Mon, 4 May 2009 13:37:30 -0400 Subject: [PATCH 05/25] dir.c: Fix two minor grammatical errors in comments Signed-off-by: Allan Caffee Signed-off-by: Junio C Hamano --- dir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dir.c b/dir.c index 04a4b9861e..4e6b988d37 100644 --- a/dir.c +++ b/dir.c @@ -58,7 +58,7 @@ static inline int special_char(unsigned char c1) } /* - * Does 'match' matches the given name? + * Does 'match' match the given name? * A match is found if * * (1) the 'match' string is leading directory of 'name', or @@ -292,7 +292,7 @@ static void prep_exclude(struct dir_struct *dir, const char *base, int baselen) dir->basebuf[baselen] = '\0'; } -/* Scan the list and let the last match determines the fate. +/* Scan the list and let the last match determine the fate. * Return 1 for exclude, 0 for include and -1 for undecided. */ static int excluded_1(const char *pathname, From 226b343cde7624e4f273a45d83009799447c914b Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Sun, 3 May 2009 23:25:31 -0700 Subject: [PATCH 06/25] completion: add missing configuration variables to _git_config() Signed-off-by: Stephen Boyd Acked-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 48 ++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 1a90cb87f5..28682a79be 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1393,6 +1393,7 @@ _git_config () ;; esac __gitcomp " + alias. apply.whitespace branch.autosetupmerge branch.autosetuprebase @@ -1410,6 +1411,9 @@ _git_config () color.diff.old color.diff.plain color.diff.whitespace + color.grep + color.grep.external + color.grep.match color.interactive color.interactive.header color.interactive.help @@ -1427,6 +1431,7 @@ _git_config () core.autocrlf core.bare core.compression + core.createObject core.deltaBaseCacheLimit core.editor core.excludesfile @@ -1457,11 +1462,20 @@ _git_config () diff.renameLimit diff.renameLimit. diff.renames + diff.suppressBlankEmpty + diff.tool + diff.wordRegex + difftool.prompt fetch.unpackLimit + format.attach + format.cc format.headers format.numbered format.pretty + format.signoff + format.subjectprefix format.suffix + format.thread gc.aggressiveWindow gc.auto gc.autopacklimit @@ -1472,6 +1486,7 @@ _git_config () gc.rerereresolved gc.rerereunresolved gitcvs.allbinary + gitcvs.commitmsgannotation gitcvs.dbTableNamePrefix gitcvs.dbdriver gitcvs.dbname @@ -1506,13 +1521,23 @@ _git_config () http.sslVerify i18n.commitEncoding i18n.logOutputEncoding + imap.folder + imap.host + imap.pass + imap.port + imap.preformattedHTML + imap.sslverify + imap.tunnel + imap.user instaweb.browser instaweb.httpd instaweb.local instaweb.modulepath instaweb.port + interactive.singlekey log.date log.showroot + mailmap.file man.viewer merge.conflictstyle merge.log @@ -1521,6 +1546,7 @@ _git_config () merge.tool merge.verbosity mergetool.keepBackup + mergetool.prompt pack.compression pack.deltaCacheLimit pack.deltaCacheSize @@ -1532,6 +1558,8 @@ _git_config () pack.windowMemory pull.octopus pull.twohead + push.default + rebase.stat receive.denyCurrentBranch receive.denyDeletes receive.denyNonFastForwards @@ -1540,6 +1568,26 @@ _git_config () repack.usedeltabaseoffset rerere.autoupdate rerere.enabled + sendemail.aliasesfile + sendemail.aliasesfiletype + sendemail.bcc + sendemail.cc + sendemail.cccmd + sendemail.chainreplyto + sendemail.confirm + sendemail.envelopesender + sendemail.multiedit + sendemail.signedoffbycc + sendemail.smtpencryption + sendemail.smtppass + sendemail.smtpserver + sendemail.smtpserverport + sendemail.smtpuser + sendemail.suppresscc + sendemail.suppressfrom + sendemail.thread + sendemail.to + sendemail.validate showbranch.default status.relativePaths status.showUntrackedFiles From 0aa62fd0414b0e8a6271d1d0dd80e5f640633473 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Sun, 3 May 2009 23:25:32 -0700 Subject: [PATCH 07/25] completion: add {gui,diff,merge}tool, man, and pager config variables Signed-off-by: Stephen Boyd Acked-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 45 ++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 28682a79be..ec02b06cf2 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1376,6 +1376,39 @@ _git_config () __gitcomp "$(__git_heads)" "$pfx" "$cur" "." return ;; + guitool.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp " + argprompt cmd confirm needsfile noconsole norescan + prompt revprompt revunmerged title + " "$pfx" "$cur" + return + ;; + difftool.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "cmd path" "$pfx" "$cur" + return + ;; + man.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "cmd path" "$pfx" "$cur" + return + ;; + mergetool.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "cmd path trustExitCode" "$pfx" "$cur" + return + ;; + pager.*) + local pfx="${cur%.*}." + cur="${cur#*.}" + __gitcomp "$(__git_all_commands)" "$pfx" "$cur" + return + ;; remote.*.*) local pfx="${cur%.*}." cur="${cur##*.}" @@ -1391,6 +1424,12 @@ _git_config () __gitcomp "$(__git_remotes)" "$pfx" "$cur" "." return ;; + url.*.*) + local pfx="${cur%.*}." + cur="${cur##*.}" + __gitcomp "insteadof" "$pfx" "$cur" + return + ;; esac __gitcomp " alias. @@ -1465,6 +1504,7 @@ _git_config () diff.suppressBlankEmpty diff.tool diff.wordRegex + difftool. difftool.prompt fetch.unpackLimit format.attach @@ -1495,6 +1535,7 @@ _git_config () gitcvs.enabled gitcvs.logfile gitcvs.usecrlfattr + guitool. gui.blamehistoryctx gui.commitmsgwidth gui.copyblamethreshold @@ -1538,6 +1579,7 @@ _git_config () log.date log.showroot mailmap.file + man. man.viewer merge.conflictstyle merge.log @@ -1545,6 +1587,7 @@ _git_config () merge.stat merge.tool merge.verbosity + mergetool. mergetool.keepBackup mergetool.prompt pack.compression @@ -1556,6 +1599,7 @@ _git_config () pack.threads pack.window pack.windowMemory + pager. pull.octopus pull.twohead push.default @@ -1593,6 +1637,7 @@ _git_config () status.showUntrackedFiles tar.umask transfer.unpackLimit + url. user.email user.name user.signingkey From 9b82d63b5a109112643843a8e6d1a201fdf2ec63 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Sun, 3 May 2009 23:25:33 -0700 Subject: [PATCH 08/25] completion: complete values for help.format Signed-off-by: Stephen Boyd Acked-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index ec02b06cf2..023b0c9974 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1348,6 +1348,10 @@ _git_config () " return ;; + help.format) + __gitcomp "man info web html" + return + ;; *.*) COMPREPLY=() return From 672c68cbb90921a133ddf71d002342a448b6dd38 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Sun, 3 May 2009 23:25:34 -0700 Subject: [PATCH 09/25] completion: complete values for log.date Add raw to the date formats too. Signed-off-by: Stephen Boyd Acked-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 023b0c9974..d67ffd9384 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1116,6 +1116,7 @@ __git_log_shortlog_options=" " __git_log_pretty_formats="oneline short medium full fuller email raw format:" +__git_log_date_formats="relative iso8601 rfc2822 short local default raw" _git_log () { @@ -1139,9 +1140,7 @@ _git_log () return ;; --date=*) - __gitcomp " - relative iso8601 rfc2822 short local default - " "" "${cur##--date=}" + __gitcomp "$__git_log_date_formats" "" "${cur##--date=}" return ;; --*) @@ -1352,6 +1351,10 @@ _git_config () __gitcomp "man info web html" return ;; + log.date) + __gitcomp "$__git_log_date_formats" + return + ;; *.*) COMPREPLY=() return From ae616de6d53ef14ba11d2aa32f366086c1435dfa Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Sun, 3 May 2009 23:25:35 -0700 Subject: [PATCH 10/25] completion: complete values for send-email Add completion for --confirm, --suppress-cc, and --smtp-encryption command line arguments. Add completion for aliasfiletype and confirm configuration variables. Since --smtp-ssl is deprecated, replace it with --smtp-encryption and the two options ssl and tls. Signed-off-by: Stephen Boyd Acked-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- contrib/completion/git-completion.bash | 39 ++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index d67ffd9384..1683e6d7b8 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1282,18 +1282,39 @@ _git_rebase () __gitcomp "$(__git_refs)" } +__git_send_email_confirm_options="always never auto cc compose" +__git_send_email_suppresscc_options="author self cc ccbody sob cccmd body all" + _git_send_email () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in + --confirm=*) + __gitcomp " + $__git_send_email_confirm_options + " "" "${cur##--confirm=}" + return + ;; + --suppress-cc=*) + __gitcomp " + $__git_send_email_suppresscc_options + " "" "${cur##--suppress-cc=}" + + return + ;; + --smtp-encryption=*) + __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}" + return + ;; --*) __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to - --compose --dry-run --envelope-sender --from --identity + --compose --confirm= --dry-run --envelope-sender + --from --identity --in-reply-to --no-chain-reply-to --no-signed-off-by-cc --no-suppress-from --no-thread --quiet --signed-off-by-cc --smtp-pass --smtp-server - --smtp-server-port --smtp-ssl --smtp-user --subject - --suppress-cc --suppress-from --thread --to + --smtp-server-port --smtp-encryption= --smtp-user + --subject --suppress-cc= --suppress-from --thread --to --validate --no-validate" return ;; @@ -1355,6 +1376,18 @@ _git_config () __gitcomp "$__git_log_date_formats" return ;; + sendemail.aliasesfiletype) + __gitcomp "mutt mailrc pine elm gnus" + return + ;; + sendemail.confirm) + __gitcomp "$__git_send_email_confirm_options" + return + ;; + sendemail.suppresscc) + __gitcomp "$__git_send_email_suppresscc_options" + return + ;; *.*) COMPREPLY=() return From 3db964b551827e25f897cc75ffd8e520ee8b48cd Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Mon, 4 May 2009 22:18:42 -0700 Subject: [PATCH 11/25] git-am.txt: add an 'a', say what 'it' is, simplify a sentence It's nice to know that 'it' is git-am or the subject line. Whitespace implies characters so just remove characters. Signed-off-by: Stephen Boyd Signed-off-by: Junio C Hamano --- Documentation/git-am.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 1e71dd536b..a497010ae6 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -32,7 +32,7 @@ OPTIONS -s:: --signoff:: - Add `Signed-off-by:` line to the commit message, using + Add a `Signed-off-by:` line to the commit message, using the committer identity of yourself. -k:: @@ -118,8 +118,8 @@ The commit author name is taken from the "From: " line of the message, and commit author time is taken from the "Date: " line of the message. The "Subject: " line is used as the title of the commit, after stripping common prefix "[PATCH ]". -It is supposed to describe what the commit is about concisely as -a one line text. +The "Subject: " line is supposed to concisely describe what the +commit is about in one line of text. The body of the message (the rest of the message after the blank line that terminates the RFC2822 headers) can begin with "Subject: " and @@ -128,8 +128,8 @@ to override the values of these fields. The commit message is formed by the title taken from the "Subject: ", a blank line and the body of the message up to -where the patch begins. Excess whitespace characters at the end of the -lines are automatically stripped. +where the patch begins. Excess whitespace at the end of each +line is automatically stripped. The patch is expected to be inline, directly following the message. Any line that is of the form: @@ -141,7 +141,7 @@ message. Any line that is of the form: is taken as the beginning of a patch, and the commit log message is terminated before the first occurrence of such a line. -When initially invoking it, you give it the names of the mailboxes +When initially invoking `git am`, you give it the names of the mailboxes to process. Upon seeing the first patch that does not apply, it aborts in the middle. You can recover from this in one of two ways: From e77063fccb4c1627bd4656a42a508391d16e7482 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Mon, 4 May 2009 22:19:00 -0700 Subject: [PATCH 12/25] git-am.txt: Use date or value instead of time or timestamp Signed-off-by: Stephen Boyd Signed-off-by: Junio C Hamano --- Documentation/git-am.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index a497010ae6..ea84cbb814 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -79,14 +79,14 @@ default. You can use `--no-utf8` to override this. message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the committer date by using the same - timestamp as the author date. + value as the author date. --ignore-date:: By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the - user to lie about author timestamp by using the same - timestamp as the committer date. + user to lie about the author date by using the same + value as the committer date. --skip:: Skip the current patch. This is only meaningful when @@ -115,7 +115,7 @@ DISCUSSION ---------- The commit author name is taken from the "From: " line of the -message, and commit author time is taken from the "Date: " line +message, and commit author date is taken from the "Date: " line of the message. The "Subject: " line is used as the title of the commit, after stripping common prefix "[PATCH ]". The "Subject: " line is supposed to concisely describe what the From 7713e053fd13a09b548cb65d99dfca986064955e Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Sun, 3 May 2009 23:46:58 -0700 Subject: [PATCH 13/25] git-am.txt: reword extra headers in message body Signed-off-by: Stephen Boyd Signed-off-by: Junio C Hamano --- Documentation/git-am.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index ea84cbb814..6d92cbee64 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -121,10 +121,10 @@ the commit, after stripping common prefix "[PATCH ]". The "Subject: " line is supposed to concisely describe what the commit is about in one line of text. -The body of the message (the rest of the message after the blank line -that terminates the RFC2822 headers) can begin with "Subject: " and -"From: " lines that are different from those of the mail header, -to override the values of these fields. +"From: " and "Subject: " lines starting the body (the rest of the +message after the blank line terminating the RFC2822 headers) +override the respective commit author name and title values taken +from the headers. The commit message is formed by the title taken from the "Subject: ", a blank line and the body of the message up to From f697b33b015fcb0c90210840eb4ef8e6a18d4bdf Mon Sep 17 00:00:00 2001 From: Bernd Ahlers Date: Mon, 6 Apr 2009 19:26:37 +0200 Subject: [PATCH 14/25] Work around BSD whose typeof(tv.tv_sec) != time_t According to POSIX, tv_sec is supposed to be a time_t, but OpenBSD (and FreeBSD, too) defines it to be a long, which triggers a type mismatch when a pointer to it is given to localtime_r(). Acked-by: Jeff King Signed-off-by: Junio C Hamano --- date.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/date.c b/date.c index 1165d30adf..409a17d464 100644 --- a/date.c +++ b/date.c @@ -871,13 +871,15 @@ unsigned long approxidate(const char *date) int number = 0; struct tm tm, now; struct timeval tv; + time_t time_sec; char buffer[50]; if (parse_date(date, buffer, sizeof(buffer)) > 0) return strtoul(buffer, NULL, 10); gettimeofday(&tv, NULL); - localtime_r(&tv.tv_sec, &tm); + time_sec = tv.tv_sec; + localtime_r(&time_sec, &tm); now = tm; for (;;) { unsigned char c = *date; From 066e596abb2768be1ef3984a55ce39643fbb36e5 Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Sat, 2 May 2009 09:31:16 -0500 Subject: [PATCH 15/25] t4018-diff-funcname: add cpp xfuncname pattern to syntax test Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t4018-diff-funcname.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh index be541348c6..5b10e976a3 100755 --- a/t/t4018-diff-funcname.sh +++ b/t/t4018-diff-funcname.sh @@ -32,7 +32,7 @@ EOF sed 's/beer\\/beer,\\/' < Beer.java > Beer-correct.java -builtin_patterns="bibtex html java objc pascal php python ruby tex" +builtin_patterns="bibtex cpp html java objc pascal php python ruby tex" for p in $builtin_patterns do test_expect_success "builtin $p pattern compiles" ' From e88d022af96312e64216bfec31bd6749277c335a Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Wed, 29 Apr 2009 23:27:54 +0200 Subject: [PATCH 16/25] improve error message in config.c Show errno if opening a lockfile fails. Signed-off-by: Alex Riesen Signed-off-by: Junio C Hamano --- config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.c b/config.c index 7a83c76f4b..5d9072c1b9 100644 --- a/config.c +++ b/config.c @@ -954,7 +954,7 @@ int git_config_set_multivar(const char* key, const char* value, lock = xcalloc(sizeof(struct lock_file), 1); fd = hold_lock_file_for_update(lock, config_filename, 0); if (fd < 0) { - error("could not lock config file %s", config_filename); + error("could not lock config file %s: %s", config_filename, strerror(errno)); free(store.key); ret = -1; goto out_free; From 6a260f53ad685a51ecf6cd875f44cb2c056d1d18 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 6 May 2009 10:48:26 -0700 Subject: [PATCH 17/25] git-clean doc: the command only affects paths under $(cwd) Fredrik Skolmli and Thomas Rast noticed that it was left unstated that "git clean" ran from a subdirectory will not affect anything outside it, with or without path limiters. Signed-off-by: Junio C Hamano --- Documentation/git-clean.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt index 43b2de7db3..be894af39f 100644 --- a/Documentation/git-clean.txt +++ b/Documentation/git-clean.txt @@ -13,8 +13,8 @@ SYNOPSIS DESCRIPTION ----------- -This allows cleaning the working tree by removing files that are not -under version control. +Cleans the working tree by recursively removing files that are not +under version control, starting from the current directory. Normally, only files unknown to git are removed, but if the '-x' option is specified, ignored files are also removed. This can, for From 0b05dc2b7e929996afa3f325cce593585f3ec9b3 Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Wed, 6 May 2009 13:31:42 -0500 Subject: [PATCH 18/25] t8005: use egrep when extended regular expressions are required Not all versions of grep understand backslashed extended regular expressions. Possibly only gnu grep does. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t8005-blame-i18n.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh index 4470a92bb2..fcd5c26675 100755 --- a/t/t8005-blame-i18n.sh +++ b/t/t8005-blame-i18n.sh @@ -36,7 +36,7 @@ EOF test_expect_success \ 'blame respects i18n.commitencoding' ' git blame --incremental file | \ - grep "^\(author\|summary\) " > actual && + egrep "^(author|summary) " > actual && test_cmp actual expected ' @@ -53,7 +53,7 @@ test_expect_success \ 'blame respects i18n.logoutputencoding' ' git config i18n.logoutputencoding cp1251 && git blame --incremental file | \ - grep "^\(author\|summary\) " > actual && + egrep "^(author|summary) " > actual && test_cmp actual expected ' @@ -69,7 +69,7 @@ EOF test_expect_success \ 'blame respects --encoding=utf-8' ' git blame --incremental --encoding=utf-8 file | \ - grep "^\(author\|summary\) " > actual && + egrep "^(author|summary) " > actual && test_cmp actual expected ' @@ -85,7 +85,7 @@ EOF test_expect_success \ 'blame respects --encoding=none' ' git blame --incremental --encoding=none file | \ - grep "^\(author\|summary\) " > actual && + egrep "^(author|summary) " > actual && test_cmp actual expected ' From 723570469f54449e54dcc8bbb8f1dcbaff29d535 Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Wed, 6 May 2009 13:29:14 -0500 Subject: [PATCH 19/25] t4118: add missing '&&' Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t4118-apply-empty-context.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t4118-apply-empty-context.sh b/t/t4118-apply-empty-context.sh index f92e259cc6..314bc6e68d 100755 --- a/t/t4118-apply-empty-context.sh +++ b/t/t4118-apply-empty-context.sh @@ -20,7 +20,7 @@ test_expect_success setup ' cat file1 && echo Q | tr -d "\\012" } >file2 && - cat file2 >file2.orig + cat file2 >file2.orig && git add file1 file2 && sed -e "/^B/d" file1 && sed -e "/^[BQ]/d" file2 && From 325fb151047d668133cd456e78953f1b1aa09114 Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Wed, 6 May 2009 13:29:15 -0500 Subject: [PATCH 20/25] t4118: avoid sed invocation on file without terminating newline Some versions of sed exit non-zero if the file they are supplied is not newline terminated. Solaris's /usr/xpg4/bin/sed is one such sed. In this case the sed invocation can be avoided entirely since the resulting file is equivalent to a previously created file. So, just copy that file into place instead. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t4118-apply-empty-context.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t4118-apply-empty-context.sh b/t/t4118-apply-empty-context.sh index 314bc6e68d..65f2e4c3ef 100755 --- a/t/t4118-apply-empty-context.sh +++ b/t/t4118-apply-empty-context.sh @@ -23,7 +23,7 @@ test_expect_success setup ' cat file2 >file2.orig && git add file1 file2 && sed -e "/^B/d" file1 && - sed -e "/^[BQ]/d" file2 && + cat file1 > file2 && echo Q | tr -d "\\012" >>file2 && cat file1 >file1.mods && cat file2 >file2.mods && From d8b69ecb4c467c044c08e0435bb22ade16ea580f Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Wed, 6 May 2009 13:29:16 -0500 Subject: [PATCH 21/25] t/annotate-tests.sh: avoid passing a non-newline terminated file to sed Some versions of sed exit non-zero if the file they are supplied is not newline terminated. Solaris's /usr/xpg4/bin/sed is one such sed. So rework this test to avoid doing so. This affects tests t8001-annotate.sh and t8002-blame.sh. Signed-off-by: Junio C Hamano --- t/annotate-tests.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh index cacb273aff..396b9653a3 100644 --- a/t/annotate-tests.sh +++ b/t/annotate-tests.sh @@ -114,7 +114,10 @@ test_expect_success \ test_expect_success \ 'some edit' \ 'mv file file.orig && - sed -e "s/^3A/99/" -e "/^1A/d" -e "/^incomplete/d" < file.orig > file && + { + cat file.orig && + echo + } | sed -e "s/^3A/99/" -e "/^1A/d" -e "/^incomplete/d" > file && echo "incomplete" | tr -d "\\012" >>file && GIT_AUTHOR_NAME="D" git commit -a -m "edit"' From 9eda0e980a43e6bf5167e1b35f457f970bec7b74 Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Wed, 6 May 2009 17:56:17 -0500 Subject: [PATCH 22/25] t4200: remove two unnecessary lines These two lines appear to be unnecessary. They set variables which are not used afterwards. The primary motivation to remove them is that the sed invocation exits non-zero for seds which require newline termination of input files. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t4200-rerere.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh index b68ab11f29..504802c987 100755 --- a/t/t4200-rerere.sh +++ b/t/t4200-rerere.sh @@ -190,8 +190,6 @@ test_expect_success 'file2 added differently in two branches' ' git add file2 && git commit -m version2 && test_must_fail git merge fourth && - sha1=$(sed -e "s/ .*//" .git/MERGE_RR) && - rr=.git/rr-cache/$sha1 && echo Cello > file2 && git add file2 && git commit -m resolution From 5e16488edc3cf9d5c30d08fcd9b74525198d6184 Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Wed, 6 May 2009 17:56:18 -0500 Subject: [PATCH 23/25] t4200: convert sed expression which operates on non-text file to perl POSIX only requires sed to work on text files and MERGE_RR is not a text file. Some versions of sed complain that this file is not newline terminated, and exit non-zero. Use perl instead which does not have a problem with it. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t4200-rerere.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh index 504802c987..a6bc028a57 100755 --- a/t/t4200-rerere.sh +++ b/t/t4200-rerere.sh @@ -57,7 +57,7 @@ test_expect_success 'conflicting merge' ' test_must_fail git merge first ' -sha1=$(sed -e 's/ .*//' .git/MERGE_RR) +sha1=$(perl -pe 's/ .*//' .git/MERGE_RR) rr=.git/rr-cache/$sha1 test_expect_success 'recorded preimage' "grep ^=======$ $rr/preimage" From c5ae7cb6d94f37deedd5dcf92a6608ca7d3ce081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Thu, 7 May 2009 00:33:34 +1000 Subject: [PATCH 24/25] t4029: use sh instead of bash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- t/t4029-diff-trailing-space.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t4029-diff-trailing-space.sh b/t/t4029-diff-trailing-space.sh index 9ddbbcde57..3ccc237a8d 100755 --- a/t/t4029-diff-trailing-space.sh +++ b/t/t4029-diff-trailing-space.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright (c) Jim Meyering # From f01f1099f40f24fe6f7802185340a6fa3a3d4f35 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 6 May 2009 17:13:27 -0700 Subject: [PATCH 25/25] GIT 1.6.3 Signed-off-by: Junio C Hamano --- Documentation/RelNotes-1.6.3.txt | 6 ------ Documentation/git.txt | 4 +++- GIT-VERSION-GEN | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Documentation/RelNotes-1.6.3.txt b/Documentation/RelNotes-1.6.3.txt index 33209fe7fd..418c685cf8 100644 --- a/Documentation/RelNotes-1.6.3.txt +++ b/Documentation/RelNotes-1.6.3.txt @@ -180,9 +180,3 @@ v1.6.2.X series. * git-gc spent excessive amount of time to decide if an object appears in a locally existing pack (if needed, backport by merging 69e020a). - ---- -exec >/var/tmp/1 -O=v1.6.3-rc2 -echo O=$(git describe master) -git shortlog --no-merges $O..master ^maint diff --git a/Documentation/git.txt b/Documentation/git.txt index 470fdc5ecd..9d8f236fe8 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -43,9 +43,11 @@ unreleased) version of git, that is available from 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v1.6.2.3/git.html[documentation for release 1.6.2.3] +* link:v1.6.3/git.html[documentation for release 1.6.3] * release notes for + link:RelNotes-1.6.2.5.txt[1.6.2.5], + link:RelNotes-1.6.2.4.txt[1.6.2.4], link:RelNotes-1.6.2.3.txt[1.6.2.3], link:RelNotes-1.6.2.2.txt[1.6.2.2], link:RelNotes-1.6.2.1.txt[1.6.2.1], diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 97fc1e0519..39cde784c9 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.6.2.GIT +DEF_VER=v1.6.3.GIT LF=' '