31d757d | Jonathan Nieder | 26 September 2013, 19:27:29 UTC | Merge branch 'bc/send-email-ssl-die-message-fix' into maint * bc/send-email-ssl-die-message-fix: send-email: don't call methods on undefined values | 26 September 2013, 19:27:29 UTC |
1d905f7 | Benoit Person | 24 September 2013, 19:32:30 UTC | git-remote-mediawiki: bugfix for pages w/ >500 revisions Mediawiki introduces a new API for queries w/ more than 500 results in version 1.21. That change triggered an infinite loop while cloning a mediawiki with such a page. The latest API renamed and moved the "continuing" information in the response, necessary to build the next query. The code failed to retrieve that information but still detected that it was in a "continuing query". As a result, it launched the same query over and over again. If a "continuing" information is detected in the response (old or new), the next query is updated accordingly. If not, we quit assuming it's not a continuing query. Reported-by: Benjamin Cathey Signed-off-by: Benoit Person <benoit.person@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> | 24 September 2013, 19:42:21 UTC |
a0d3f10 | Junio C Hamano | 18 September 2013, 19:08:09 UTC | Start preparing for 1.8.4.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2013, 19:08:09 UTC |
ebb9d19 | Junio C Hamano | 18 September 2013, 19:00:11 UTC | Merge branch 'bc/completion-for-bash-3.0' into maint Some people still use rather old versions of bash, which cannot grok some constructs like 'printf -v varname' the prompt and completion code started to use recently. * bc/completion-for-bash-3.0: contrib/git-prompt.sh: handle missing 'printf -v' more gracefully t9902-completion.sh: old Bash still does not support array+=('') notation git-completion.bash: use correct Bash/Zsh array length syntax | 18 September 2013, 19:00:11 UTC |
b25b9d5 | Junio C Hamano | 18 September 2013, 18:59:50 UTC | Merge branch 'mm/no-shell-escape-in-die-message' into maint Fixes a minor bug in "git rebase -i" (there could be others, as the root cause is pretty generic) where the code feeds a random, data dependeant string to 'echo' and expects it to come out literally. * mm/no-shell-escape-in-die-message: die_with_status: use "printf '%s\n'", not "echo" | 18 September 2013, 18:59:51 UTC |
dd42145 | Junio C Hamano | 18 September 2013, 18:59:35 UTC | Merge branch 'jl/some-submodule-config-are-not-boolean' into maint * jl/some-submodule-config-are-not-boolean: avoid segfault on submodule.*.path set to an empty "true" | 18 September 2013, 18:59:35 UTC |
6930cd1 | Junio C Hamano | 18 September 2013, 18:59:05 UTC | Merge branch 'tr/log-full-diff-keep-true-parents' into maint Output from "git log --full-diff -- <pathspec>" looked strange, because comparison was done with the previous ancestor that touched the specified <pathspec>, causing the patches for paths outside the pathspec to show more than the single commit has changed. * tr/log-full-diff-keep-true-parents: log: use true parents for diff when walking reflogs log: use true parents for diff even when rewriting | 18 September 2013, 18:59:05 UTC |
1e93c28 | Junio C Hamano | 18 September 2013, 18:58:18 UTC | Merge branch 'jc/transport-do-not-use-connect-twice-in-fetch' into maint The auto-tag-following code in "git fetch" tries to reuse the same transport twice when the serving end does not cooperate and does not give tags that point to commits that are asked for as part of the primary transfer. Unfortunately, Git-aware transport helper interface is not designed to be used more than once, hence this does not work over smart-http transfer. * jc/transport-do-not-use-connect-twice-in-fetch: builtin/fetch.c: Fix a sparse warning fetch: work around "transport-take-over" hack fetch: refactor code that fetches leftover tags fetch: refactor code that prepares a transport fetch: rename file-scope global "transport" to "gtransport" t5802: add test for connect helper | 18 September 2013, 18:58:18 UTC |
4b510c3 | Junio C Hamano | 18 September 2013, 18:57:58 UTC | Merge branch 'sp/clip-read-write-to-8mb' into maint Send a large request to read(2)/write(2) as a smaller but still reasonably large chunks, which would improve the latency when the operation needs to be killed and incidentally works around broken 64-bit systems that cannot take a 2GB write or read in one go. * sp/clip-read-write-to-8mb: Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU" xread, xwrite: limit size of IO to 8MB | 18 September 2013, 18:57:58 UTC |
19230ab | Junio C Hamano | 18 September 2013, 18:57:32 UTC | Merge branch 'jk/mailmap-incomplete-line' into maint * jk/mailmap-incomplete-line: mailmap: handle mailmap blobs without trailing newlines | 18 September 2013, 18:57:33 UTC |
d5b99f3 | Tay Ray Chuan | 15 September 2013, 17:38:21 UTC | t7406-submodule-update: add missing && 322bb6e (2011 Aug 11) introduced a new subshell at the end of a test case but omitted a '&&' to join the two; fix this. Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 September 2013, 16:44:29 UTC |
c26c472 | Junio C Hamano | 12 September 2013, 04:12:02 UTC | Merge branch 'maint' of git://github.com/git-l10n/git-po into maint * 'maint' of git://github.com/git-l10n/git-po: l10n: de.po: use "das Tag" instead of "der Tag" | 12 September 2013, 04:12:02 UTC |
6cb0c88 | Brian M. Carlson | 08 September 2013, 20:54:34 UTC | send-email: don't call methods on undefined values If SSL verification is enabled in git send-email, we could attempt to call a method on an undefined value if the verification failed, since $smtp would end up being undef. Look up the error string in a way that will produce a helpful error message and not cause further errors. Signed-off-by: Brian M. Carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 September 2013, 15:49:22 UTC |
8766343 | Ralf Thielow | 08 September 2013, 14:28:36 UTC | l10n: de.po: use "das Tag" instead of "der Tag" Use "das Tag" to avoid confusion with the German word "Tag" (day). Reported-by: Dirk Heinrichs <dirk.heinrichs@altum.de> Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> | 08 September 2013, 16:37:13 UTC |
2ea3df6 | Junio C Hamano | 05 September 2013, 21:40:58 UTC | Merge branch 'nd/fetch-pack-shallow-fix' into maint The recent "short-cut clone connectivity check" topic broke a shallow repository when a fetch operation tries to auto-follow tags. * nd/fetch-pack-shallow-fix: fetch-pack: do not remove .git/shallow file when --depth is not specified | 05 September 2013, 21:40:58 UTC |
bda7904 | Junio C Hamano | 05 September 2013, 21:40:18 UTC | Merge branch 'hv/config-from-blob' into maint Compilation fix on platforms with fgetc() and friends defined as macros. * hv/config-from-blob: config: do not use C function names as struct members | 05 September 2013, 21:40:18 UTC |
b5699d1 | Junio C Hamano | 05 September 2013, 21:24:59 UTC | Merge branch 'maint-1.8.3' into maint * maint-1.8.3: Documentation/git-merge.txt: fix formatting of example block | 05 September 2013, 21:24:59 UTC |
69490f3 | Junio C Hamano | 05 September 2013, 21:24:52 UTC | Merge branch 'maint-1.8.2' into maint-1.8.3 * maint-1.8.2: Documentation/git-merge.txt: fix formatting of example block | 05 September 2013, 21:24:52 UTC |
e45bda8 | Andreas Schwab | 05 September 2013, 15:12:45 UTC | Documentation/git-merge.txt: fix formatting of example block You need at least four dashes in a line to have it recognized as listing block delimiter by asciidoc. Signed-off-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 September 2013, 17:50:49 UTC |
eb76545 | Junio C Hamano | 03 September 2013, 20:58:03 UTC | Merge git://github.com/git-l10n/git-po into maint * git://github.com/git-l10n/git-po: l10n: fr.po: hotfix for commit 6b388fc | 03 September 2013, 20:58:03 UTC |
8ed64df | Junio C Hamano | 03 September 2013, 20:54:32 UTC | Merge branch 'maint-1.8.3' into maint * maint-1.8.3: fix shell syntax error in template | 03 September 2013, 20:54:32 UTC |
e5be297 | Junio C Hamano | 03 September 2013, 20:54:26 UTC | Merge branch 'maint-1.8.2' into maint-1.8.3 * maint-1.8.2: fix shell syntax error in template | 03 September 2013, 20:54:26 UTC |
6897a64 | Thorsten Glaser | 30 August 2013, 10:40:30 UTC | fix shell syntax error in template An if clause must not be empty; add a "colon" command. Signed-off-by: Thorsten Glaser <t.glaser@tarent.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 August 2013, 16:56:30 UTC |
2186088 | Sebastien Helleu | 25 August 2013, 09:45:13 UTC | l10n: fr.po: hotfix for commit 6b388fc Fix many typos and add some new translations (1277/2080 messages translated). Closes git-l10n/git-po/pull/63. Signed-off-by: Sebastien Helleu <flashcode@flashtux.org> Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 30 August 2013, 08:59:29 UTC |
0f73f8b | Ramsay Jones | 28 August 2013, 18:56:17 UTC | builtin/fetch.c: Fix a sparse warning Sparse issues an "'prepare_transport' was not declared. Should it be static?" warning. In order to suppress the warning, since this symbol only requires file scope, we simply add the static modifier to it's declaration. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 August 2013, 23:55:23 UTC |
f972a16 | Jeff King | 28 August 2013, 01:41:39 UTC | mailmap: handle mailmap blobs without trailing newlines The read_mailmap_buf function reads each line of the mailmap using strchrnul, like: const char *end = strchrnul(buf, '\n'); unsigned long linelen = end - buf + 1; But that's off-by-one when we actually hit the NUL byte; our line does not have a terminator, and so is only "end - buf" bytes long. As a result, when we subtract the linelen from the total len, we end up with (unsigned long)-1 bytes left in the buffer, and we start reading random junk from memory. We could fix it with: unsigned long linelen = end - buf + !!*end; but let's take a step back for a moment. It's questionable in the first place for a function that takes a buffer and length to be using strchrnul. But it works because we only have one caller (and are only likely to ever have this one), which is handing us data from read_sha1_file. Which means that it's always NUL-terminated. Instead of tightening the assumptions to make the buffer/length pair work for a caller that doesn't actually exist, let's let loosen the assumptions to what the real caller has: a modifiable, NUL-terminated string. This makes the code simpler and shorter (because we don't have to correlate strchrnul with the length calculation), correct (because the code with the off-by-one just goes away), and more efficient (we can drop the extra allocation we needed to create NUL-terminated strings for each line, and just terminate in place). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 August 2013, 19:33:32 UTC |
49d6cfa | Jeff King | 26 August 2013, 21:57:18 UTC | config: do not use C function names as struct members According to C99, section 7.1.4: Any function declared in a header may be additionally implemented as a function-like macro defined in the header. Therefore calling our struct member function pointer "fgetc" may run afoul of unwanted macro expansion when we call: char c = cf->fgetc(cf); This turned out to be a problem on uclibc, which defines fgetc as a macro and causes compilation failure. The standard suggests fixing this in a few ways: 1. Using extra parentheses to inhibit the function-like macro expansion. E.g., "(cf->fgetc)(cf)". This is undesirable as it's ugly, and each call site needs to remember to use it (and on systems without the macro, forgetting will compile just fine). 2. Using #undef (because a conforming implementation must also be providing fgetc as a function). This is undesirable because presumably the implementation was using the macro for a performance benefit, and we are dropping that optimization. Instead, we can simply use non-colliding names. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 August 2013, 04:39:57 UTC |
6da8bdc | Nguyễn Thái Ngọc Duy | 26 August 2013, 02:17:26 UTC | fetch-pack: do not remove .git/shallow file when --depth is not specified fetch_pack() can remove .git/shallow file when a shallow repository becomes a full one again. This behavior is triggered incorrectly when tags are also fetched because fetch_pack() will be called twice. At the first fetch_pack() call: - shallow_lock is set up - alternate_shallow_file points to shallow_lock.filename, which is "shallow.lock" - commit_lock_file is called, which sets shallow_lock.filename to "". alternate_shallow_file also becomes "" because it points to the same memory. At the second call, setup_alternate_shallow() is not called and alternate_shallow_file remains "". It's mistaken as unshallow case and .git/shallow is removed. The end result is a broken repository. Fix this by always initializing alternate_shallow_file when fetch_pack() is called. As an extra measure, check if args->depth > 0 before commit/rollback shallow file. Reported-by: Kacper Kornet <kornet@camk.edu.pl> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 August 2013, 05:56:03 UTC |
e230c56 | Junio C Hamano | 23 August 2013, 18:49:46 UTC | Git 1.8.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2013, 18:49:46 UTC |
a44aa69 | Brandon Casey | 22 August 2013, 01:39:03 UTC | contrib/git-prompt.sh: handle missing 'printf -v' more gracefully Old Bash (3.0) which is distributed with RHEL 4.X and other ancient platforms that are still in wide use, do not have a printf that supports -v. Neither does Zsh (which is already handled in the code). As suggested by Junio, let's test whether printf supports the -v option and store the result. Then later, we can use it to determine whether 'printf -v' can be used, or whether printf must be called in a subshell. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 August 2013, 16:50:16 UTC |
0ef0970 | Brandon Casey | 21 August 2013, 20:49:32 UTC | t9902-completion.sh: old Bash still does not support array+=('') notation Old Bash (3.0) which is distributed with RHEL 4.X and other ancient platforms that are still in wide use, does not understand the array+=() notation. Let's use an explicit assignment to the new array element which works everywhere, like: array[${#array[@]}+1]='' The right-hand side '' is not strictly necessary, but in this case I think it is more clear. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 August 2013, 23:38:50 UTC |
5d5812f | Brandon Casey | 21 August 2013, 20:49:31 UTC | git-completion.bash: use correct Bash/Zsh array length syntax The syntax for retrieving the number of elements in an array is: ${#name[@]} Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 August 2013, 23:38:47 UTC |
0d8beaa | Junio C Hamano | 21 August 2013, 22:30:04 UTC | Typofix draft release notes to 1.8.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 August 2013, 22:30:04 UTC |
a487916 | Steffen Prohaska | 20 August 2013, 06:43:55 UTC | Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU" This reverts commit 6c642a878688adf46b226903858b53e2d31ac5c3. The previous commit introduced a size limit on IO chunks on all platforms. The compat clipped_write() is not needed anymore. Signed-off-by: Steffen Prohaska <prohaska@zib.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 August 2013, 18:11:08 UTC |
0b6806b | Steffen Prohaska | 20 August 2013, 06:43:54 UTC | xread, xwrite: limit size of IO to 8MB Checking out 2GB or more through an external filter (see test) fails on Mac OS X 10.8.4 (12E55) for a 64-bit executable with: error: read from external filter cat failed error: cannot feed the input to external filter cat error: cat died of signal 13 error: external filter cat failed 141 error: external filter cat failed The reason is that read() immediately returns with EINVAL when asked to read more than 2GB. According to POSIX [1], if the value of nbyte passed to read() is greater than SSIZE_MAX, the result is implementation-defined. The write function has the same restriction [2]. Since OS X still supports running 32-bit executables, the 32-bit limit (SSIZE_MAX = INT_MAX = 2GB - 1) seems to be also imposed on 64-bit executables under certain conditions. For write, the problem has been addressed earlier [6c642a]. Address the problem for read() and write() differently, by limiting size of IO chunks unconditionally on all platforms in xread() and xwrite(). Large chunks only cause problems, like causing latencies when killing the process, even if OS X was not buggy. Doing IO in reasonably sized smaller chunks should have no negative impact on performance. The compat wrapper clipped_write() introduced earlier [6c642a] is not needed anymore. It will be reverted in a separate commit. The new test catches read and write problems. Note that 'git add' exits with 0 even if it prints filtering errors to stderr. The test, therefore, checks stderr. 'git add' should probably be changed (sometime in another commit) to exit with nonzero if filtering fails. The test could then be changed to use test_must_fail. Thanks to the following people for suggestions and testing: Johannes Sixt <j6t@kdbg.org> John Keeping <john@keeping.me.uk> Jonathan Nieder <jrnieder@gmail.com> Kyle J. McKay <mackyle@gmail.com> Linus Torvalds <torvalds@linux-foundation.org> Torsten Bögershausen <tboegi@web.de> [1] http://pubs.opengroup.org/onlinepubs/009695399/functions/read.html [2] http://pubs.opengroup.org/onlinepubs/009695399/functions/write.html [6c642a] commit 6c642a878688adf46b226903858b53e2d31ac5c3 compate/clipped-write.c: large write(2) fails on Mac OS X/XNU Signed-off-by: Steffen Prohaska <prohaska@zib.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 August 2013, 18:10:59 UTC |
4b05440 | Jharrod LaFon | 19 August 2013, 16:26:56 UTC | avoid segfault on submodule.*.path set to an empty "true" Git fails due to a segmentation fault if a submodule path is empty. Here is an example .gitmodules that will cause a segmentation fault: [submodule "foo-module"] path url = http://host/repo.git $ git status Segmentation fault (core dumped) This is because the parsing of "submodule.*.path" is not prepared to see a value-less "true" and assumes that the value is always non-NULL (parsing of "ignore" has the same problem). Fix it by checking the NULL-ness of value and complain with config_error_nonbool(). Signed-off-by: Jharrod LaFon <jlafon@eyesopen.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2013, 20:47:56 UTC |
4d06473 | Junio C Hamano | 19 August 2013, 17:34:14 UTC | Git 1.8.4-rc4 As we had to revert two topics at the last minute, let's have another (hopefully short) round of rc to make sure the final release will be sound. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2013, 17:34:14 UTC |
2c2b664 | Junio C Hamano | 14 August 2013, 17:57:24 UTC | Revert "Add new @ shortcut for HEAD" This reverts commit cdfd94837b27c220f70f032b596ea993d195488f, as it does not just apply to "@" (and forms with modifiers like @{u} applied to it), but also affects e.g. "refs/heads/@/foo", which it shouldn't. The basic idea of giving a short-hand might be good, and the topic can be retried later, but let's revert to avoid affecting existing use cases for now for the upcoming release. | 14 August 2013, 22:04:24 UTC |
c1ebd90 | Junio C Hamano | 14 August 2013, 16:53:43 UTC | Revert "git stash: avoid data loss when "git stash save" kills a directory" This reverts commit a73653130edd6a8977106d45a8092c09040f9132, as it has been reported that "ls-files --killed" is too time-consuming in a deep directory with too many untracked crufts (e.g. $HOME/.git tracking only a few files). We'd need to revisit it later but "ls-files --killed" needs to be optimized before it happens. | 14 August 2013, 16:53:43 UTC |
425df88 | Junio C Hamano | 13 August 2013, 18:10:18 UTC | Git 1.8.4-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 August 2013, 18:10:18 UTC |
eaaec50 | Junio C Hamano | 13 August 2013, 17:50:01 UTC | Merge git://github.com/git-l10n/git-po * git://github.com/git-l10n/git-po: l10n: Add reference for french translation team l10n: fr.po: 821/2112 messages translated | 13 August 2013, 17:50:01 UTC |
2809258 | Junio C Hamano | 13 August 2013, 17:49:33 UTC | Merge branch 'sb/mailmap-updates' * sb/mailmap-updates: .mailmap: Combine more (name, email) to individual persons .mailmap: update long-lost friends with multiple defunct addresses | 13 August 2013, 17:49:33 UTC |
cdb6b5a | Stefan Beller | 12 August 2013, 08:12:09 UTC | .mailmap: Combine more (name, email) to individual persons Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 August 2013, 17:49:06 UTC |
10813e0 | Junio C Hamano | 12 August 2013, 07:58:11 UTC | .mailmap: update long-lost friends with multiple defunct addresses A handful of past contributors are recorded with multiple e-mail addresses, all of which are undeliverable. With a lot of help from Jonathan, we located all of them except for one person, and a pair of addresses we suspect belong to a single person but we are not certain. Update the found ones with their currently preferred address, and use the last known address to consolidate contributions by the lost one. Helped-by: Stefan Beller <stefanbeller@googlemail.com> Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 August 2013, 17:47:44 UTC |
8ed205a | Matthieu Moy | 13 August 2013, 13:32:19 UTC | git-remote-mediawiki: ignore generated git-mw Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 August 2013, 16:52:22 UTC |
1b5f46f | Jean-Noel Avila | 09 August 2013, 22:30:55 UTC | l10n: Add reference for french translation team Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> | 11 August 2013, 15:14:58 UTC |
6b388fc | Jean-Noel Avila | 01 July 2013, 20:19:04 UTC | l10n: fr.po: 821/2112 messages translated Trying to focus on most useful phrases. Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> | 11 August 2013, 15:14:58 UTC |
96cb27a | Junio C Hamano | 09 August 2013, 22:49:55 UTC | Merge branch 'maint' * maint: parse-options: fix clang opterror() -Wunused-value warning | 09 August 2013, 22:49:55 UTC |
b48493e | Junio C Hamano | 09 August 2013, 21:31:28 UTC | Merge branch 'master' of git://github.com/git-l10n/git-po * 'master' of git://github.com/git-l10n/git-po: l10n: de.po: translate 5 messages l10n: de.po: translate 99 new messages l10n: de.po: switch from pure German to German+English l10n: de.po: Fix a typo l10n: Update Swedish translation (2135t0f0u) l10n: zh_CN.po: translate 5 messages (2135t0f0u) l10n: vi.po(2135t): v1.8.4 round 2 l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed) | 09 August 2013, 21:31:28 UTC |
e423a0f | Junio C Hamano | 09 August 2013, 21:30:41 UTC | Merge branch 'jk/submodule-subdirectory-ok' * jk/submodule-subdirectory-ok: t/t7407: fix two typos in submodule tests | 09 August 2013, 21:30:41 UTC |
6f7d6ec | Junio C Hamano | 09 August 2013, 21:30:13 UTC | Merge branch 'sb/mailmap-updates' * sb/mailmap-updates: .mailmap: fixup entries | 09 August 2013, 21:30:13 UTC |
182be0d | Stefan Beller | 09 August 2013, 18:18:24 UTC | .mailmap: fixup entries This patch adds no new names, but fixes the mistakes I made in the previous commits. (94b410bba8, f4f49e225, c07a6bc57, 2013-07-12, .mailmap: Map email addresses to names). These mistakes are double white spaces between name and surname, different capitalization in email address, or just the email address set as name. Also I forgot to include James Knight to the mailmap file. Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 August 2013, 21:20:38 UTC |
dfe338a | Phil Hord | 09 August 2013, 20:12:54 UTC | t/t7407: fix two typos in submodule tests In t/t7407-submodule-foreach.sh there is a typo in one of the path names given for a test step. The correct path is nested1/nested2/.git, but nested1/nested1/nested2/.git is given instead. The typo is hidden because this line also accidentally omits the && chain operator. The omitted chain also means the return values of all the previous commands in this test are also being ignored. Fix the path and add the chain operator so the entire test sequence can be properly validated. Signed-off-by: Phil Hord <hordp@cisco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 August 2013, 21:00:54 UTC |
a3bc3d0 | Eric Sunshine | 09 August 2013, 09:06:17 UTC | parse-options: fix clang opterror() -Wunused-value warning a469a1019352b8ef (silence some -Wuninitialized false positives; 2012-12-15) triggered "unused value" warnings when the return value of opterror() and several other error-related functions was not used. 5ded807f7c0be10e (fix clang -Wunused-value warnings for error functions; 2013-01-16) applied a fix by adding #if !defined(__clang__) in cache.h and git-compat-util.h, but misspelled it as #if !defined(clang) in parse-options.h. Fix this. This mistake went unnoticed because existing callers of opterror() utilize its return value. 1158826394e162c5 (parse-options: add OPT_CMDMODE(); 2013-07-30), however, adds a new invocation of opterror() which ignores the return value, thus triggering the "unused value" warning. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 August 2013, 16:27:44 UTC |
4402f30 | Ralf Thielow | 06 August 2013, 17:54:29 UTC | l10n: de.po: translate 5 messages Translate 5 new messages came from git.pot update in b8ecf23 (l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> | 09 August 2013, 04:53:44 UTC |
770c73f | Ralf Thielow | 26 July 2013, 15:48:46 UTC | l10n: de.po: translate 99 new messages Translate 99 new messages came from git.pot update in 28b3cff (l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Thomas Rast <trast@inf.ethz.ch> | 09 August 2013, 04:53:35 UTC |
64948ad | Junio C Hamano | 08 August 2013, 20:58:34 UTC | Git 1.8.4-rc2 This is with mostly minor documentation and test updates, nothing spectacular except for removal of funky lstat(2) emulation on Cygwin. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 August 2013, 21:03:21 UTC |
eb5accf | Ralf Thielow | 29 May 2013, 16:03:39 UTC | l10n: de.po: switch from pure German to German+English This switches the translation from pure German to German+English. Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Thomas Rast <trast@inf.ethz.ch> | 08 August 2013, 15:55:25 UTC |
b5c0a21 | Wieland Hoffmann | 05 June 2013, 20:59:44 UTC | l10n: de.po: Fix a typo Signed-off-by: Wieland Hoffmann <themineo@gmail.com> | 08 August 2013, 15:55:25 UTC |
b26ed43 | Junio C Hamano | 07 August 2013, 22:47:18 UTC | fetch: work around "transport-take-over" hack A Git-aware "connect" transport allows the "transport_take_over" to redirect generic transport requests like fetch(), push_refs() and get_refs_list() to the native Git transport handling methods. The take-over process replaces transport->data with a fake data that these method implementations understand. While this hack works OK for a single request, it breaks when the transport needs to make more than one requests. transport->data that used to hold necessary information for the specific helper to work correctly is destroyed during the take-over process. One codepath that this matters is "git fetch" in auto-follow mode; when it does not get all the tags that ought to point at the history it got (which can be determined by looking at the peeled tags in the initial advertisement) from the primary transfer, it internally makes a second request to complete the fetch. Because "take-over" hack has already destroyed the data necessary to talk to the transport helper by the time this happens, the second request cannot make a request to the helper to make another connection to fetch these additional tags. Mark such a transport as "cannot_reuse", and use a separate transport to perform the backfill fetch in order to work around this breakage. Note that this problem does not manifest itself when running t5802, because our upload-pack gives you all the necessary auto-followed tags during the primary transfer. You would need to step through "git fetch" in a debugger, stop immediately after the primary transfer finishes and writes these auto-followed tags, remove the tag references and repack/prune the repository to convince the "find-non-local-tags" procedure that the primary transfer failed to give us all the necessary tags, and then let it continue, in order to trigger the bug in the secondary transfer this patch fixes. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2013, 23:24:30 UTC |
069d503 | Junio C Hamano | 07 August 2013, 22:14:45 UTC | fetch: refactor code that fetches leftover tags Usually the upload-pack process running on the other side will give us all the reachable tags we need during the primary object transfer in do_fetch(). If that does not happen (e.g. the other side may be running a third-party implementation of upload-pack), we will run another fetch to pick up leftover tags that we know point at the commits reachable from our updated tips. Separate out the code to run this second fetch into a helper function. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2013, 23:24:30 UTC |
db5723c | Junio C Hamano | 07 August 2013, 21:43:20 UTC | fetch: refactor code that prepares a transport Make a helper function prepare_transport() that returns a transport to talk to a given remote. The set_option() helper that used to always affect the file-scope global "gtransport" now takes a transport as its parameter. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2013, 23:24:30 UTC |
af23445 | Junio C Hamano | 07 August 2013, 22:38:45 UTC | fetch: rename file-scope global "transport" to "gtransport" Although many functions in this file take a "struct transport" as a parameter, "fetch_one()" assigns to the global singleton instance which is a file-scope static, in order to allow a parameterless signal handler unlock_pack() to access it. Rename the variable to gtransport to make sure these uses stand out. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2013, 23:24:30 UTC |
b9ccf55 | Junio C Hamano | 07 August 2013, 15:18:10 UTC | t5802: add test for connect helper This is an attempt to reproduce a problem reported for a third-party custom "connect" remote helper. The conjecture is that sometimes "git fetch" wants to make two connections (one for the primary transfer with 'follow-tags' option set, and then after noticing that some tags are not packed because the primary transfer did not have to send any commit that is pointed by them, another to explicitly ask for the missing tags), and their "connect" helper is not called in the second request, breaking the "fetch" as a whole. Unfortunately this test script does not trigger the alleged failure and happily passes when talking to upload-pack from git-core (see patch 5/5 for details). Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2013, 23:24:30 UTC |
89b0230 | Matthieu Moy | 07 August 2013, 09:26:05 UTC | die_with_status: use "printf '%s\n'", not "echo" Some implementations of 'echo' (e.g. dash's built-in) interpret backslash sequences in their arguments. This triggered at least one bug: the error message of "rebase -i" was turning \t in commit messages into actual tabulations. There may be others. Using "printf '%s\n'" instead avoids this bad behavior, and is the form used by the "say" function. Noticed-by: David Kastrup <dak@gnu.org> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 August 2013, 15:49:49 UTC |
aa4e5fe | Peter Krefting | 06 August 2013, 11:41:48 UTC | l10n: Update Swedish translation (2135t0f0u) Fix some incorrect translations in existing messages while at it. Signed-off-by: Peter Krefting <peter@softwolves.pp.se> | 06 August 2013, 11:44:17 UTC |
b189438 | Jiang Xin | 06 August 2013, 06:49:18 UTC | l10n: zh_CN.po: translate 5 messages (2135t0f0u) Translate 5 new messages came from git.pot update in b8ecf23 (l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)). Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 06 August 2013, 09:22:16 UTC |
85ef881 | Tran Ngoc Quan | 06 August 2013, 07:34:48 UTC | l10n: vi.po(2135t): v1.8.4 round 2 Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> | 06 August 2013, 07:34:48 UTC |
b8ecf23 | Jiang Xin | 06 August 2013, 06:13:23 UTC | l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed) Generate po/git.pot from v1.8.4-rc1-21-gfb56570 for git v1.8.4 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 06 August 2013, 06:13:23 UTC |
fb56570 | Junio C Hamano | 05 August 2013, 20:00:20 UTC | Sync with maint to grab trivial doc fixes * maint: fix typo in documentation of git-svn Documentation/rev-list-options: add missing word in --*-parents log doc: the argument to --encoding is not optional | 05 August 2013, 20:00:20 UTC |
f5206f1 | Junio C Hamano | 05 August 2013, 17:44:39 UTC | Merge branch 'es/blame-L-breakage' * es/blame-L-breakage: t8001, t8002: fix "blame -L :literal" test on NetBSD | 05 August 2013, 17:44:39 UTC |
3a4fc21 | René Scharfe | 05 August 2013, 15:21:17 UTC | t8001, t8002: fix "blame -L :literal" test on NetBSD Sub-test 42 of t8001 and t8002 ("blame -L :literal") fails on NetBSD with the following verbose output: git annotate -L:main hello.c Author F (expected 4, attributed 3) bad Author G (expected 1, attributed 1) good This is not caused by different behaviour of git blame or annotate on that platform, but by different test input, in turn caused by a sed command that forgets to add a newline on NetBSD. Here's the diff of the commit that adds "goodbye" to hello.c, for Linux: @@ -1,4 +1,5 @@ int main(int argc, const char *argv[]) { puts("hello"); + puts("goodbye"); } We see that it adds an extra TAB, but that's not a problem. Here's the same on NetBSD: @@ -1,4 +1,4 @@ int main(int argc, const char *argv[]) { puts("hello"); -} + puts("goodbye");} It also adds an extra TAB, but it is missing the newline character after the semicolon. The following patch gets rid of the extra TAB at the beginning, but more importantly adds the missing newline at the end in a (hopefully) portable way, mentioned in http://sed.sourceforge.net/sedfaq4.html. The diff becomes this, on both Linux and NetBSD: @@ -1,4 +1,5 @@ int main(int argc, const char *argv[]) { puts("hello"); + puts("goodbye"); } Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 17:43:28 UTC |
a48ed48 | Junio C Hamano | 05 August 2013, 17:38:23 UTC | Merge git://github.com/git-l10n/git-po * git://github.com/git-l10n/git-po: l10n: zh_CN.po: translate 99 messages (2133t0f0u) l10n: vi.po (2133t) l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed) | 05 August 2013, 17:38:23 UTC |
4fcd30d | Junio C Hamano | 05 August 2013, 17:11:14 UTC | Merge branch 'sb/mailmap-updates' * sb/mailmap-updates: .mailmap: Multiple addresses of Michael S. Tsirkin | 05 August 2013, 17:11:14 UTC |
d6f3ab5 | Junio C Hamano | 05 August 2013, 17:11:10 UTC | Merge branch 'dn/test-reject-utf-16' * dn/test-reject-utf-16: t3900: test rejecting log message with NULs correctly Add missing test file for UTF-16. | 05 August 2013, 17:11:10 UTC |
c8abf65 | Junio C Hamano | 05 August 2013, 17:11:04 UTC | Merge branch 'bc/commit-invalid-utf8' * bc/commit-invalid-utf8: commit: typofix for xxFFF[EF] check | 05 August 2013, 17:11:04 UTC |
dc773a6 | Junio C Hamano | 05 August 2013, 16:52:28 UTC | commit: typofix for xxFFF[EF] check We wanted to catch all codepoints that ends with FFFE and FFFF, not with 0FFFE and 0FFFF. Noticed and corrected by Peter Krefting. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 16:53:38 UTC |
0ed45a1 | Junio C Hamano | 05 August 2013, 16:47:11 UTC | t3900: test rejecting log message with NULs correctly It is not like that our longer term desire is to someday start accept log messages with NULs in them, so it is wrong to mark a test that demonstrates "git commit" that correctly fails given such an input as "expect-failure". "git commit" should fail today, and it should fail the same way in the future given a message with NUL in it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 16:47:11 UTC |
214a5f2 | Brian M. Carlson | 03 August 2013, 17:26:31 UTC | Add missing test file for UTF-16. The test file that the UTF-16 rejection test looks for is missing, but this went unnoticed because the test is expected to fail anyway; as a consequence, the test fails because the file containing the commit message is missing, and not because the test file contains a NUL byte. Fix this by including a sample text file containing a commit message encoded in UTF-16. Signed-off-by: Brian M. Carlson <sandals@crustytoothpaste.net> Tested-by: Duy Nguyen <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 16:46:47 UTC |
0bf5ce4 | Felix Gruber | 03 August 2013, 14:37:15 UTC | fix typo in documentation of git-svn Signed-off-by: Felix Gruber <felgru@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 16:39:01 UTC |
5104d21 | Torstein Hegge | 02 August 2013, 18:40:07 UTC | Documentation/rev-list-options: add missing word in --*-parents A commit has "parent commits" or "parents", not "commits". Signed-off-by: Torstein Hegge <hegge@resisty.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 15:47:06 UTC |
487e570 | Stefan Beller | 03 August 2013, 11:54:03 UTC | .mailmap: Multiple addresses of Michael S. Tsirkin Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 15:27:42 UTC |
838f9a1 | Thomas Rast | 03 August 2013, 10:36:15 UTC | log: use true parents for diff when walking reflogs The reflog walking logic (git log -g) replaces the true parent list with the preceding commit in the reflog. This results in bogus commit diffs when combined with options such as -p; the diff is against the reflog predecessor, not the parent of the commit. Save the true parents on the side, extending the functions from the previous commit. The diff logic picks them up and uses them to show the correct diffs. We do have to be somewhat careful about repeated calling of save_parents(), since the reflog may list a commit more than once. We now store (commit_list*)-1 to distinguish the "not saved yet" and "root commit" cases. This lets us preserve an empty parent list even if save_parents() is repeatedly called. Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Thomas Rast <trast@inf.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 15:27:00 UTC |
e6604c3 | Jonathan Nieder | 02 August 2013, 22:16:40 UTC | log doc: the argument to --encoding is not optional $ git log --encoding fatal: Option '--encoding' requires a value $ git rev-list --encoding fatal: Option '--encoding' requires a value The argument to --encoding has always been mandatory. Unfortunately manpages like git-rev-list(1), git-log(1), and git-show(1) have described the option's syntax as "--encoding[=<encoding>]" since it was first documented. Clarify by removing the extra brackets. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 August 2013, 15:19:47 UTC |
2e8451e | Jiang Xin | 26 July 2013, 06:00:02 UTC | l10n: zh_CN.po: translate 99 messages (2133t0f0u) Translate 99 new messages came from git.pot update in 28b3cff (l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)). Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 03 August 2013, 06:14:07 UTC |
d6cbf2f | Junio C Hamano | 02 August 2013, 18:01:00 UTC | Merge branch 'rj/cygwin-clarify-use-of-cheating-lstat' Cygwin port added a "not quite correct but a lot faster and good enough for many lstat() calls that are only used to see if the working tree entity matches the index entry" lstat() emulation some time ago, and it started biting us in places. This removes it and uses the standard lstat() that comes with Cygwin. Recent topic that uses lstat on packed-refs file is broken when this cheating lstat is used, and this is a simplest fix that is also the cleanest direction to go in the long run. * rj/cygwin-clarify-use-of-cheating-lstat: cygwin: Remove the Win32 l/stat() implementation | 02 August 2013, 18:01:01 UTC |
c7eb614 | Junio C Hamano | 02 August 2013, 16:32:48 UTC | Merge branch 'jk/cat-file-batch-optim' * jk/cat-file-batch-optim: Revert "cat-file: split --batch input lines on whitespace" | 02 August 2013, 16:32:48 UTC |
062aeee | Junio C Hamano | 02 August 2013, 16:29:30 UTC | Revert "cat-file: split --batch input lines on whitespace" This reverts commit c334b87b30c1464a1ab563fe1fb8de5eaf0e5bac; the update assumed that people only used the command to read from "rev-list --objects" output, whose lines begin with a 40-hex object name followed by a whitespace, but it turns out that scripts feed random extended SHA-1 expressions (e.g. "HEAD:$pathname") in which a whitespace has to be kept. | 02 August 2013, 16:29:30 UTC |
304852f | Junio C Hamano | 01 August 2013, 19:01:53 UTC | Git 1.8.4-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2013, 19:01:53 UTC |
d50cb75 | Junio C Hamano | 01 August 2013, 18:58:32 UTC | Merge branch 'ob/typofixes' * ob/typofixes: many small typofixes | 01 August 2013, 19:01:01 UTC |
898bbe9 | Junio C Hamano | 01 August 2013, 18:57:25 UTC | Merge branch 'ms/subtree-install-fix' * ms/subtree-install-fix: contrib/subtree: Fix make install target | 01 August 2013, 18:57:25 UTC |
baa2e93 | Junio C Hamano | 01 August 2013, 18:57:25 UTC | Merge branch 'jc/rm-submodule-error-message' Consolidate two messages phrased subtly differently without a good reason. * jc/rm-submodule-error-message: builtin/rm.c: consolidate error reporting for removing submodules | 01 August 2013, 18:57:25 UTC |
a5203a3 | Junio C Hamano | 01 August 2013, 18:52:43 UTC | Merge branch 'lf/echo-n-is-not-portable' * lf/echo-n-is-not-portable: Avoid using `echo -n` anywhere | 01 August 2013, 18:52:43 UTC |
400bf4c | Junio C Hamano | 01 August 2013, 18:52:40 UTC | Merge branch 'ma/hg-to-git' * ma/hg-to-git: hg-to-git: --allow-empty-message in git commit | 01 August 2013, 18:52:40 UTC |
c298086 | Junio C Hamano | 01 August 2013, 18:52:37 UTC | Merge branch 'jx/clean-interactive' * jx/clean-interactive: git-clean: implement partial matching for selection Documentation/git-clean: fix description for range | 01 August 2013, 18:52:37 UTC |
53d00b3 | Thomas Rast | 31 July 2013, 20:13:20 UTC | log: use true parents for diff even when rewriting When using pathspec filtering in combination with diff-based log output, parent simplification happens before the diff is computed. The diff is therefore against the *simplified* parents. This works okay, arguably by accident, in the normal case: simplification reduces to one parent as long as the commit is TREESAME to it. So the simplified parent of any given commit must have the same tree contents on the filtered paths as its true (unfiltered) parent. However, --full-diff breaks this guarantee, and indeed gives pretty spectacular results when comparing the output of git log --graph --stat ... git log --graph --full-diff --stat ... (--graph internally kicks in parent simplification, much like --parents). To fix it, store a copy of the parent list before simplification (in a slab) whenever --full-diff is in effect. Then use the stored parents instead of the simplified ones in the commit display code paths. The latter do not actually check for --full-diff to avoid duplicated code; they just grab the original parents if save_parents() has not been called for this revision walk. For ordinary commits it should be obvious that this is the right thing to do. Merge commits are a bit subtle. Observe that with default simplification, merge simplification is an all-or-nothing decision: either the merge is TREESAME to one parent and disappears, or it is different from all parents and the parent list remains intact. Redundant parents are not pruned, so the existing code also shows them as a merge. So if we do show a merge commit, the parent list just consists of the rewrite result on each parent. Running, e.g., --cc on this in --full-diff mode is not very useful: if any commits were skipped, some hunks will disagree with all sides of the merge (with one side, because commits were skipped; with the others, because they didn't have those changes in the first place). This triggers --cc showing these hunks spuriously. Therefore I believe that even for merge commits it is better to show the diffs wrt. the original parents. Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Thomas Rast <trast@inf.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2013, 17:25:48 UTC |
8dc84fd | Thomas Rast | 31 July 2013, 20:23:31 UTC | Rename advice.object_name_warning to objectNameWarning We spell config variables in camelCase instead of with_underscores. Signed-off-by: Thomas Rast <trast@inf.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 July 2013, 22:20:07 UTC |
c8686e5 | Junio C Hamano | 31 July 2013, 19:38:29 UTC | Merge branch 'rr/rebase-autostash' * rr/rebase-autostash: git-rebase: fix typo | 31 July 2013, 19:38:29 UTC |
2ed8eca | Junio C Hamano | 31 July 2013, 19:38:27 UTC | Merge branch 'rj/commit-slab-fix' * rj/commit-slab-fix: commit-slab.h: Fix memory allocation and addressing | 31 July 2013, 19:38:27 UTC |
af77c0b | Junio C Hamano | 31 July 2013, 19:38:23 UTC | Merge branch 'jk/commit-how-to-abort-cherry-pick' * jk/commit-how-to-abort-cherry-pick: commit: tweak empty cherry pick advice for sequencer | 31 July 2013, 19:38:23 UTC |