summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-08-11vreportf: avoid intermediate bufferLibravatar Jeff King1-3/+12
When we call "die(fmt, args...)", we end up in vreportf with two pieces of information: 1. The prefix "fatal: " 2. The original fmt and va_list of args. We format item (2) into a temporary buffer, and then fprintf the prefix and the temporary buffer, along with a newline. This has the unfortunate side effect of truncating any error messages that are longer than 4096 bytes. Instead, let's use separate calls for the prefix and newline, letting us hand the item (2) directly to vfprintf. This is essentially undoing d048a96 (print warning/error/fatal messages in one shot, 2007-11-09), which tried to have the whole output end up in a single `write` call. But we can address this instead by explicitly requesting line-buffering for the output handle, and by making sure that the buffer is empty before we start (so that outputting the prefix does not cause a flush due to hitting the buffer limit). We may still break the output into two writes if the content is larger than our buffer, but there's not much we can do there; depending on the stdio implementation, that might have happened even with a single fprintf call. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-08-11vreportf: report to arbitrary filehandlesLibravatar Jeff King3-29/+12
The vreportf function always goes to stderr, but run-command wants child errors to go to the parent's original stderr. To solve this, commit a5487dd duplicates the stderr fd and installs die and error handlers to direct the output appropriately (which later turned into the vwritef function). This has two downsides, though: - we make multiple calls to write(), which contradicts the "write at once" logic from d048a96 (print warning/error/fatal messages in one shot, 2007-11-09). - the custom handlers basically duplicate the normal handlers. They're only a few lines of code, but we should not have to repeat the magic "exit(128)", for example. We can solve the first by using fdopen() on the duplicated descriptor. We can't pass this to vreportf, but we could introduce a new vreportf_to to handle it. However, to fix the second problem, we instead introduce a new "set_error_handle" function, which lets the normal vreportf calls output to a handle besides stderr. Thus we can get rid of our custom handlers entirely, and just ask the regular handlers to output to our new descriptor. And as vwritef has no more callers, it can just go away. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-27Git 2.5Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-27Sync with 2.4.7Libravatar Junio C Hamano2-1/+55
2015-07-27Git 2.4.7Libravatar Junio C Hamano4-3/+57
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-27Merge branch 'jk/pretty-encoding-doc' into maintLibravatar Junio C Hamano1-1/+4
Doc update. * jk/pretty-encoding-doc: docs: clarify that --encoding can produce invalid sequences
2015-07-27Merge branch 'tb/checkout-doc' into maintLibravatar Junio C Hamano1-1/+5
Doc update. * tb/checkout-doc: git-checkout.txt: document "git checkout <pathspec>" better
2015-07-27Merge branch 'ls/hint-rev-list-count' into maintLibravatar Junio C Hamano2-0/+2
* ls/hint-rev-list-count: rev-list: add --count to usage guide
2015-07-27Merge branch 'mm/branch-doc-updates' into maintLibravatar Junio C Hamano1-2/+6
* mm/branch-doc-updates: Documentation/branch: document -M and -D in terms of --force Documentation/branch: document -d --force and -m --force
2015-07-27Merge branch 'jc/fsck-retire-require-eoh' into maintLibravatar Junio C Hamano1-4/+13
A fix to a minor regression to "git fsck" in v2.2 era that started complaining about a body-less tag object when it lacks a separator empty line after its header to separate it with a non-existent body. * jc/fsck-retire-require-eoh: fsck: it is OK for a tag and a commit to lack the body
2015-07-27Merge branch 'et/http-proxyauth' into maintLibravatar Junio C Hamano1-2/+2
We used to ask libCURL to use the most secure authentication method available when talking to an HTTP proxy only when we were told to talk to one via configuration variables. We now ask libCURL to always use the most secure authentication method, because the user can tell libCURL to use an HTTP proxy via an environment variable without using configuration variables. * et/http-proxyauth: http: always use any proxy auth method available
2015-07-27Merge branch 'jc/unexport-git-pager-in-use-in-pager' into maintLibravatar Junio C Hamano1-0/+1
When you say "!<ENTER>" while running say "git log", you'd confuse yourself in the resulting shell, that may look as if you took control back to the original shell you spawned "git log" from but that isn't what is happening. To that new shell, we leaked GIT_PAGER_IN_USE environment variable that was meant as a local communication between the original "Git" and subprocesses that was spawned by it after we launched the pager, which caused many "interesting" things to happen, e.g. "git diff | cat" still paints its output in color by default. Stop leaking that environment variable to the pager's half of the fork; we only need it on "Git" side when we spawn the pager. * jc/unexport-git-pager-in-use-in-pager: pager: do not leak "GIT_PAGER_IN_USE" to the pager
2015-07-27Merge branch 'mh/strbuf-read-file-returns-ssize-t' into maintLibravatar Junio C Hamano2-3/+4
Avoid possible ssize_t to int truncation. * mh/strbuf-read-file-returns-ssize-t: strbuf: strbuf_read_file() should return ssize_t
2015-07-27Merge branch 'kb/config-unmap-before-renaming' into maintLibravatar Junio C Hamano1-0/+3
"git config" failed to update the configuration file when the underlying filesystem is incapable of renaming a file that is still open. * kb/config-unmap-before-renaming: config.c: fix writing config files on Windows network shares
2015-07-27Merge branch 'jk/rev-list-no-bitmap-while-pruning' into maintLibravatar Junio C Hamano2-1/+7
A minor bugfix when pack bitmap is used with "rev-list --count". * jk/rev-list-no-bitmap-while-pruning: rev-list: disable --use-bitmap-index when pruning commits
2015-07-27Merge branch 'rh/test-color-avoid-terminfo-in-original-home' into maintLibravatar Junio C Hamano1-52/+47
An ancient test framework enhancement to allow color was not entirely correct; this makes it work even when tput needs to read from the ~/.terminfo under the user's real HOME directory. * rh/test-color-avoid-terminfo-in-original-home: test-lib.sh: fix color support when tput needs ~/.terminfo Revert "test-lib.sh: do tests for color support after changing HOME"
2015-07-27Merge branch 'jk/fix-refresh-utime' into maintLibravatar Junio C Hamano1-1/+9
Fix a small bug in our use of umask() return value. * jk/fix-refresh-utime: check_and_freshen_file: fix reversed success-check
2015-07-27Merge branch 'cb/rebase-am-exit-code' into maintLibravatar Junio C Hamano1-1/+1
"git rebase" did not exit with failure when format-patch it invoked failed for whatever reason. * cb/rebase-am-exit-code: rebase: return non-zero error code if format-patch fails
2015-07-27Merge branch 'jk/index-pack-reduce-recheck' into maintLibravatar Junio C Hamano3-3/+14
Disable "have we lost a race with competing repack?" check while receiving a huge object transfer that runs index-pack. * jk/index-pack-reduce-recheck: index-pack: avoid excessive re-reading of pack directory
2015-07-24RelNotes: am.threeWay does not exist (yet)Libravatar Junio C Hamano1-2/+0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-24Revert "git-am: add am.threeWay config variable"Libravatar Junio C Hamano4-41/+2
This reverts commit d96a275b91bae1800cd43be0651e886e7e042a17. It used to be possible to apply a patch series with "git am mbox" and then only after seeing a failure, switch to three-way mode via "git am -3" (no other options or arguments). The commit being reverted broke this workflow. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-21Git 2.5.0-rc3Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-21Merge branch 'tf/gitweb-typofix'Libravatar Junio C Hamano1-1/+1
* tf/gitweb-typofix: gitweb: fix typo in man page
2015-07-21Merge tag 'l10n-2.5.0-rnd2' of git://github.com/git-l10n/git-poLibravatar Junio C Hamano9-2680/+3179
l10n-2.5.0-rnd2 * tag 'l10n-2.5.0-rnd2' of git://github.com/git-l10n/git-po: l10n: ca.po: update translation l10n: de.po: translate 9 new messages l10n: Updated Bulgarian translation of git (2359t,0f,0u) l10n: zh_CN: for git v2.5.0 l10n round 2 l10n: sv.po: Update Swedish translation (2359t0f0u) l10n: fr v2.5.0 round 2 (2359t) l10n: ru.po: update Russian translation l10n: Updated Vietnamese translation (2359t) l10n: git.pot: v2.5.0 round 2 (9 new, 5 removed)
2015-07-20l10n: ca.po: update translationLibravatar Alex Henrie1-187/+204
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2015-07-17Merge branch 'jk/still-interesting'Libravatar Junio C Hamano1-2/+2
Code clean-up. * jk/still-interesting: revision.c: remove unneeded check for NULL
2015-07-17Merge branch 'es/worktree-add'Libravatar Junio C Hamano2-5/+6
Update to the "linked checkout" in 2.5.0-rc1. Instead of "checkout --to" that does not do what "checkout" normally does, move the functionality to "git worktree add". As this makes the end-user experience of the "worktree add" more or less complete, I am tempted to say we should cook the other topic that removes the internal "new-worktree-mode" hack from "checkout" a bit longer in 'next', and release 2.5 final without that one. * es/worktree-add: Documentation/git: fix stale "MULTIPLE CHECKOUT MODE" reference worktree: caution that this is still experimental Documentation/git-worktree: fix stale "git checkout --to" references
2015-07-17Documentation/git: fix stale "MULTIPLE CHECKOUT MODE" referenceLibravatar Eric Sunshine1-1/+1
This should have been changed by 93a3649 (Documentation: move linked worktree description from checkout to worktree, 2015-07-06). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-16worktree: caution that this is still experimentalLibravatar Junio C Hamano1-2/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-16Documentation/git-worktree: fix stale "git checkout --to" referencesLibravatar Eric Sunshine1-2/+2
These should have been changed to "git worktree add" by fc56361 (worktree: introduce "add" command, 2015-07-06. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-16Merge branch 'master' of https://github.com/ralfth/git-po-deLibravatar Jiang Xin1-199/+241
* 'master' of https://github.com/ralfth/git-po-de: l10n: de.po: translate 9 new messages
2015-07-15Sync with 2.4.6Libravatar Junio C Hamano2-1/+25
2015-07-15Git 2.4.6Libravatar Junio C Hamano4-3/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-15Merge branch 'jc/diff-ws-error-highlight'Libravatar Junio C Hamano1-1/+6
A hotfix to a new feature in 2.5.0-rc. * jc/diff-ws-error-highlight: diff: parse ws-error-highlight option more strictly
2015-07-15Merge branch 'mm/describe-doc' into maintLibravatar Junio C Hamano1-1/+1
Docfix. * mm/describe-doc: Documentation/describe: improve one-line summary
2015-07-15Merge branch 'jc/prompt-document-ps1-state-separator' into maintLibravatar Junio C Hamano1-0/+4
Docfix. * jc/prompt-document-ps1-state-separator: git-prompt.sh: document GIT_PS1_STATESEPARATOR
2015-07-15Merge branch 'es/osx-header-pollutes-mask-macro' into maintLibravatar Junio C Hamano4-29/+29
* es/osx-header-pollutes-mask-macro: ewah: use less generic macro name ewah/bitmap: silence warning about MASK macro redefinition
2015-07-15Merge branch 'es/utf8-stupid-compiler-workaround' into maintLibravatar Junio C Hamano1-1/+3
A compilation workaround. * es/utf8-stupid-compiler-workaround: utf8: NO_ICONV: silence uninitialized variable warning
2015-07-15Merge branch 'fk/doc-format-patch-vn' into maintLibravatar Junio C Hamano1-1/+1
Docfix. * fk/doc-format-patch-vn: doc: format-patch: fix typo
2015-07-15Merge branch 'pt/t0302-needs-sanity' into maintLibravatar Junio C Hamano1-1/+1
* pt/t0302-needs-sanity: t0302: "unreadable" test needs SANITY prereq
2015-07-15Merge branch 'me/fetch-into-shallow-safety' into maintLibravatar Junio C Hamano1-1/+1
"git fetch --depth=<depth>" and "git clone --depth=<depth>" issued a shallow transfer request even to an upload-pack that does not support the capability. * me/fetch-into-shallow-safety: fetch-pack: check for shallow if depth given
2015-07-15Merge branch 'mh/fsck-reflog-entries' into maintLibravatar Junio C Hamano1-14/+20
"git fsck" used to ignore missing or invalid objects recorded in reflog. * mh/fsck-reflog-entries: fsck: report errors if reflog entries point at invalid objects fsck_handle_reflog_sha1(): new function
2015-07-15Merge branch 'af/tcsh-completion-noclobber' into maintLibravatar Junio C Hamano1-1/+1
The tcsh completion writes a bash scriptlet but that would have failed for users with noclobber set. * af/tcsh-completion-noclobber: git-completion.tcsh: fix redirect with noclobber
2015-07-15Merge branch 'pa/auto-gc-mac-osx' into maintLibravatar Junio C Hamano1-1/+1
Recent Mac OS X updates breaks the logic to detect that the machine is on the AC power in the sample pre-auto-gc script. * pa/auto-gc-mac-osx: hooks/pre-auto-gc: adjust power checking for newer OS X
2015-07-15Merge branch 'jc/do-not-feed-tags-to-clear-commit-marks' into maintLibravatar Junio C Hamano2-6/+14
"git format-patch --ignore-if-upstream A..B" did not like to be fed tags as boundary commits. * jc/do-not-feed-tags-to-clear-commit-marks: format-patch: do not feed tags to clear_commit_marks()
2015-07-15l10n: de.po: translate 9 new messagesLibravatar Ralf Thielow1-199/+241
Translate 9 new messages came from git.pot update in a4156d2 (l10n: git.pot: v2.5.0 round 2 (9 new, 5 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Phillip Sz <phillip.szelat@gmail.com>
2015-07-15l10n: Updated Bulgarian translation of git (2359t,0f,0u)Libravatar Alexander Shopov1-190/+208
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2015-07-15l10n: zh_CN: for git v2.5.0 l10n round 2Libravatar Jiang Xin1-199/+201
Update 9 translations (2359t0f0u) for git v2.5.0-rc2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2015-07-15l10n: sv.po: Update Swedish translation (2359t0f0u)Libravatar Peter Krefting1-186/+216
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2015-07-15Merge branch 'fr_v2.5.0-round2' of git://github.com/jnavila/gitLibravatar Jiang Xin1-199/+252
* 'fr_v2.5.0-round2' of git://github.com/jnavila/git: l10n: fr v2.5.0 round 2 (2359t)