summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-12-11Merge branch 'jk/test-lint-forbid-when-finished-in-subshell' into maintLibravatar Junio C Hamano4-16/+31
Because "test_when_finished" in our test framework queues the clean-up tasks to be done in a shell variable, it should not be used inside a subshell. Add a mechanism to allow 'bash' to catch such uses, and fix the ones that were found. * jk/test-lint-forbid-when-finished-in-subshell: test-lib-functions: detect test_when_finished in subshell t7800: don't use test_config in a subshell test-lib-functions: support "test_config -C <dir> ..." t5801: don't use test_when_finished in a subshell t7610: don't use test_config in a subshell
2015-12-10Documentation/git-update-index: add missing opts to synopsisLibravatar Christian Couder1-0/+1
Split index related options should appear in the 'SYNOPSIS' section. These options are already documented in the 'OPTIONS' section. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-08Git 2.6.4Libravatar Junio C Hamano3-2/+18
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-08Merge branch 'rs/status-detached-head-memcmp' into maintLibravatar Junio C Hamano1-5/+4
Fix some string-matching corner cases when digging in the reflog for "git status". * rs/status-detached-head-memcmp: wt-status: correct and simplify check for detached HEAD
2015-12-08Merge branch 'ad/sha1-update-chunked' into maintLibravatar Junio C Hamano7-13/+69
Apple's common crypto implementation of SHA1_Update() does not take more than 4GB at a time, and we now have a compile-time workaround for it. * ad/sha1-update-chunked: sha1: allow limiting the size of the data passed to SHA1_Update() sha1: provide another level of indirection for the SHA-1 functions
2015-12-08Merge branch 'sg/bash-prompt-dirty-orphan' into maintLibravatar Junio C Hamano2-7/+31
Produce correct "dirty" marker for shell prompts, even when we are on an orphan or an unborn branch. * sg/bash-prompt-dirty-orphan: bash prompt: indicate dirty index even on orphan branches bash prompt: remove a redundant 'git diff' option bash prompt: test dirty index and worktree while on an orphan branch
2015-12-08Merge branch 'jk/interpret-trailers-outside-a-repository' into maintLibravatar Junio C Hamano1-1/+1
Allow "git interpret-trailers" to run outside of a Git repository. * jk/interpret-trailers-outside-a-repository: interpret-trailers: allow running outside a repository
2015-12-08Merge branch 'jk/rebase-no-autostash' into maintLibravatar Junio C Hamano3-2/+16
There was no way to defeat a configured rebase.autostash variable from the command line, as "git rebase --no-autostash" was missing. * jk/rebase-no-autostash: Documentation/git-rebase: fix --no-autostash formatting rebase: support --no-autostash
2015-12-04Prepare for 2.6.4Libravatar Junio C Hamano2-1/+49
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-04Merge branch 'da/difftool' into maintLibravatar Junio C Hamano2-3/+20
The code to prepare the working tree side of temporary directory for the "dir-diff" feature forgot that symbolic links need not be copied (or symlinked) to the temporary area, as the code already special cases and overwrites them. Besides, it was wrong to try computing the object name of the target of symbolic link, which may not even exist or may be a directory. * da/difftool: difftool: ignore symbolic links in use_wt_file
2015-12-04Merge branch 'dk/gc-idx-wo-pack' into maintLibravatar Junio C Hamano6-22/+78
Having a leftover .idx file without corresponding .pack file in the repository hurts performance; "git gc" learned to prune them. We may want to do the same for .bitmap (and notice but not prune .keep) without corresponding .pack, but that can be a separate topic. * dk/gc-idx-wo-pack: gc: remove garbage .idx files from pack dir t5304: test cleaning pack garbage prepare_packed_git(): refactor garbage reporting in pack directory
2015-12-01Merge branch 'eg/p4-submit-catch-failure' into maintLibravatar Jeff King2-35/+38
Just like the working tree is cleaned up when the user cancelled submission in P4Submit.applyCommit(), clean up the mess if "p4 submit" fails. * eg/p4-submit-catch-failure: git-p4: clean up after p4 submit failure
2015-12-01Merge branch 'dk/check-ignore-docs' into maintLibravatar Jeff King1-5/+5
Documentation clarification for "check-ignore" without "--verbose". * dk/check-ignore-docs: check-ignore: correct documentation about output
2015-12-01Merge branch 'ld/p4-detached-head' into maintLibravatar Jeff King2-9/+36
Make git-p4 work on a detached head. * ld/p4-detached-head: git-p4: work with a detached head git-p4: add option to system() to return subshell status git-p4: add failing test for submit from detached head
2015-12-01Merge branch 'sg/filter-branch-dwim-ambiguity' into maintLibravatar Jeff King2-1/+8
Fix for a corner case in filter-branch. * sg/filter-branch-dwim-ambiguity: filter-branch: deal with object name vs. pathname ambiguity in tree-filter
2015-12-01Merge branch 'mg/doc-word-diff-example' into maintLibravatar Jeff King1-0/+3
* mg/doc-word-diff-example: Documentation/diff: give --word-diff-regex=. example
2015-12-01Merge branch 'cb/ssl-config-pathnames' into maintLibravatar Jeff King1-2/+2
Allow tilde-expansion in some http config variables. * cb/ssl-config-pathnames: http: treat config options sslCAPath and sslCAInfo as paths
2015-12-01Merge branch 'dk/t5813-unc-paths' into maintLibravatar Jeff King1-2/+2
Test portability fix for a topic in v2.6.1. * dk/t5813-unc-paths: t5813: avoid creating urls that break on cygwin
2015-12-01Merge branch 'dk/rerere-train-quoting' into maintLibravatar Jeff King1-1/+1
Fix shell quoting in contrib script. * dk/rerere-train-quoting: Escape Git's exec path in contrib/rerere-train.sh script
2015-12-01Merge branch 'cb/hook-sigpipe' into maintLibravatar Jeff King3-20/+27
We now consistently allow all hooks to ignore their standard input, rather than having git complain of SIGPIPE. * cb/hook-sigpipe: allow hooks to ignore their standard input stream
2015-12-01Merge branch 'fm/shell-path-whitespace' into maintLibravatar Jeff King1-1/+1
Portability fix for Windows, which may rewrite $SHELL variable using non-POSIX paths. * fm/shell-path-whitespace: rebase-i-exec: Allow space in SHELL_PATH
2015-12-01Merge branch 'ar/doc-env-variable-format' into maintLibravatar Jeff King1-6/+6
Minor documentation fixup. * ar/doc-env-variable-format: Documentation: make environment variable formatting more consistent
2015-12-01Merge branch 'pt/http-socks-proxy' into maintLibravatar Jeff King1-0/+11
Add support for talking http/https over socks proxy. * pt/http-socks-proxy: remote-http(s): support SOCKS proxies
2015-12-01Merge branch 'rc/configure-use-libs-when-checking-a-lib' into maintLibravatar Jeff King1-1/+7
The "configure" script did not test for -lpthread correctly, which upset some linkers. * rc/configure-use-libs-when-checking-a-lib: configure.ac: use $LIBS not $CFLAGS when testing -lpthread
2015-11-28wt-status: correct and simplify check for detached HEADLibravatar René Scharfe1-5/+4
If a branch name is longer than four characters then memcmp() reads over the end of the static string "HEAD". This causes the following test failures with AddressSanitizer: t3203-branch-output.sh (Wstat: 256 Tests: 18 Failed: 4) Failed tests: 12, 15-17 Non-zero exit status: 1 t3412-rebase-root.sh (Wstat: 256 Tests: 31 Failed: 3) Failed tests: 28-29, 31 Non-zero exit status: 1 t3507-cherry-pick-conflict.sh (Wstat: 256 Tests: 31 Failed: 4) Failed tests: 14, 29-31 Non-zero exit status: 1 t3510-cherry-pick-sequence.sh (Wstat: 256 Tests: 39 Failed: 14) Failed tests: 17, 22-26, 28-30, 34-35, 37-39 Non-zero exit status: 1 t3420-rebase-autostash.sh (Wstat: 256 Tests: 28 Failed: 4) Failed tests: 24-27 Non-zero exit status: 1 t3404-rebase-interactive.sh (Wstat: 256 Tests: 91 Failed: 57) Failed tests: 17, 19, 21-42, 44, 46-74, 77, 81-82 Non-zero exit status: 1 t3900-i18n-commit.sh (Wstat: 256 Tests: 34 Failed: 1) Failed test: 34 Non-zero exit status: 1 t5407-post-rewrite-hook.sh (Wstat: 256 Tests: 14 Failed: 6) Failed tests: 9-14 Non-zero exit status: 1 t7001-mv.sh (Wstat: 256 Tests: 46 Failed: 5) Failed tests: 39-43 Non-zero exit status: 1 t7509-commit.sh (Wstat: 256 Tests: 12 Failed: 2) Failed tests: 11-12 Non-zero exit status: 1 t7512-status-help.sh (Wstat: 256 Tests: 39 Failed: 35) Failed tests: 5-39 Non-zero exit status: 1 t6030-bisect-porcelain.sh (Wstat: 256 Tests: 70 Failed: 1) Failed test: 13 Non-zero exit status: 1 And if a branch is named "H", "HE", or "HEA" then the current if clause erroneously considers it as matching "HEAD" because it only compares up to the end of the branch name. Fix that by doing the comparison using strcmp() and only after the branch name is extracted. This way neither too less nor too many characters are checked. While at it call strchrnul() to find the end of the branch name instead of open-coding it. Helped-by: Jeff King <peff@peff.net> Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24http: treat config options sslCAPath and sslCAInfo as pathsLibravatar Charles Bailey1-2/+2
This enables ~ and ~user expansion for these config options. Signed-off-by: Charles Bailey <cbailey32@bloomberg.net> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24Documentation/diff: give --word-diff-regex=. exampleLibravatar Michael J Gruber1-0/+3
It's just so useful. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24filter-branch: deal with object name vs. pathname ambiguity in tree-filterLibravatar SZEDER Gábor2-1/+8
'git filter-branch' fails complaining about an ambiguous argument, if a tree-filter renames a path and the new pathname happens to match an existing object name. After the tree-filter has been applied, 'git filter-branch' looks for changed paths by running: git diff-index -r --name-only --ignore-submodules $commit which then, because of the lack of disambiguating double-dash, can't decide whether to treat '$commit' as revision or path and errors out. Add that disambiguating double-dash after 'git diff-index's revision argument to make sure that '$commit' is interpreted as a revision. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24check-ignore: correct documentation about outputLibravatar Dennis Kaarsemaker1-5/+5
By default git check-ignore shows only the filenames that will be ignored, not the pattern that causes their exclusion. Instead of moving the partial exclude pattern precendence information to the -v option where it belongs, link to gitignore(5) which describes this more thoroughly. Signed-off-by: Dennis Kaarsemaker <dennis@kaarsemaker.net> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24Documentation/git-update-index: add missing opts to synopsysLibravatar Christian Couder1-0/+1
Untracked cache related options should appear in the synopsis. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24git-p4: clean up after p4 submit failureLibravatar GIRARD Etienne2-35/+38
When "p4 submit" command fails in P4Submit.applyCommit, the workspace is left with the changes. We already have code to revert the changes to the workspace when the user decides to cancel submission by aborting the editor that edits the change description, and we should treat the "p4 submit" failure the same way. Clean the workspace if p4_write_pipe raised SystemExit, so that the user don't have to do it themselves. Signed-off-by: GIRARD Etienne <egirard@murex.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24bash prompt: indicate dirty index even on orphan branchesLibravatar SZEDER Gábor2-5/+4
__git_ps1() doesn't indicate dirty index while on an orphan branch. To check the dirtiness of the index, __git_ps1() runs 'git diff-index --cached ... HEAD', which doesn't work on an orphan branch, because HEAD doesn't point to a valid commit. Run 'git diff ... --cached' instead, as it does the right thing both on valid and invalid HEAD, i.e. compares the index to the existing HEAD in the former case and to the empty tree in the latter. This fixes the two failing tests added in the first commit of this series. The dirtiness of the worktree is already checked with 'git diff' and is displayed correctly even on an orphan branch. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24bash prompt: remove a redundant 'git diff' optionLibravatar SZEDER Gábor1-1/+1
To get the dirty state indicator __git_ps1() runs 'git diff' with '--quiet --exit-code' options. '--quiet' already implies '--exit-code', so the latter is unnecessary and can be removed. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24bash prompt: test dirty index and worktree while on an orphan branchLibravatar SZEDER Gábor1-3/+28
There is only a single test exercising the dirty state indicator on an orphan branch, and in that test neither the index nor the worktree are dirty. Add two failing tests to check the dirty state indicator while either the index is dirty or while both the index and the worktree are dirty on an orphan branch, and to show that the dirtiness of the index is not displayed in these cases (the fourth combination, i.e. clean index and dirty worktree are impossible on an orphan branch). Update the existing dirty state indicator on clean orphan branch test to match the style of the two new tests, most importantly to use 'git checkout --orphan' instead of cd-ing into a repository that just happens to be empty and clean. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24git-p4: work with a detached headLibravatar Luke Diamand2-8/+17
When submitting, git-p4 finds the current branch in order to know if it is allowed to submit (configuration "git-p4.allowSubmit"). On a detached head, detecting the branch would fail, and git-p4 would report a cryptic error. This change teaches git-p4 to recognise a detached head and submit successfully. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24git-p4: add option to system() to return subshell statusLibravatar Luke Diamand1-2/+4
Add an optional parameter ignore_error to the git-p4 system() function. If used, it will return the subshell exit status rather than throwing an exception. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Jeff King <peff@peff.net>
2015-11-24git-p4: add failing test for submit from detached headLibravatar Luke Diamand1-0/+16
git-p4 can't submit from a detached head. This test case demonstrates the problem. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Jeff King <peff@peff.net>
2015-11-20remote-http(s): support SOCKS proxiesLibravatar Pat Thoyts1-0/+11
With this patch we properly support SOCKS proxies, configured e.g. like this: git config http.proxy socks5://192.168.67.1:32767 Without this patch, Git mistakenly tries to use SOCKS proxies as if they were HTTP proxies, resulting in a error message like: fatal: unable to access 'http://.../': Proxy CONNECT aborted This patch was required to work behind a faulty AP and scraped from http://stackoverflow.com/questions/15227130/#15228479 and guarded with an appropriate cURL version check by Johannes Schindelin. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-20t5813: avoid creating urls that break on cygwinLibravatar Dennis Kaarsemaker1-2/+2
When passed an ssh:// url, git strips ssh://host from the url but does not remove leading slashes from the path. So when this test used ssh://remote//path/to/pwd, the path accessed by our fake SSH is //path/to/pwd, which cygwin interprets as a UNC path, causing the test to fail. We may want to actually fix this in git itself, making it remove extra slashes from urls before feeding them to transports or helpers, but that's for another topic as it could cause regressions. Signed-off-by: Dennis Kaarsemaker <dennis@kaarsemaker.net> Signed-off-by: Jeff King <peff@peff.net>
2015-11-20Escape Git's exec path in contrib/rerere-train.sh scriptLibravatar Daniel Knittl-Frank1-1/+1
Whitespace can cause the source command to fail. This is usually not a problem on Unix systems, but on Windows Git is likely to be installed under "C:/Program Files/", thus rendering the script broken. Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com> Signed-off-by: Jeff King <peff@peff.net>
2015-11-16allow hooks to ignore their standard input streamLibravatar Clemens Buchacher3-20/+27
Since ec7dbd145 (receive-pack: allow hooks to ignore its standard input stream) the pre-receive and post-receive hooks ignore SIGPIPE. Do the same for the remaining hooks pre-push and post-rewrite, which read from standard input. The same arguments for ignoring SIGPIPE apply. Include test by Jeff King which checks that SIGPIPE does not cause pre-push hook failure. With the use of git update-ref --stdin it is fast enough to be enabled by default. Signed-off-by: Clemens Buchacher <clemens.buchacher@intel.com> Signed-off-by: Jeff King <peff@peff.net>
2015-11-13rebase-i-exec: Allow space in SHELL_PATHLibravatar Fredrik Medley1-1/+1
On Windows, when Git is installed under "C:\Program Files\Git", SHELL_PATH will include a space. Fix "git rebase --interactive --exec" so that it works with spaces in SHELL_PATH. Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com> Signed-off-by: Jeff King <peff@peff.net>
2015-11-11Documentation: make environment variable formatting more consistentLibravatar Андрей Рыбак1-6/+6
Documentation/git.txt is not consistent in the way it stylizes mentions of Environment Variables. Most of them are enclosed in single quotes, some are enclosed in backticks, some are not enclosed. Signed-off-by: Andrey Rybak <rybak.a.v@gmail.com> Signed-off-by: Jeff King <peff@peff.net>
2015-11-06configure.ac: use $LIBS not $CFLAGS when testing -lpthreadLibravatar Rainer M. Canavan1-1/+7
Some linkers, namely the one on IRIX are rather strict concerning the order or arguments for symbol resolution, i.e. no libraries listed before objects or other libraries on the command line are considered for symbol resolution. Therefore, -lpthread can't work if it's put in CFLAGS, because it will not be considered for resolving pthread_key_create in conftest.o. Use $LIBS instead. Signed-off-by: Rainer Canavan <git@canavan.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05Git 2.6.3Libravatar Junio C Hamano4-3/+115
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-11-05Merge branch 'rs/daemon-plug-child-leak' into maintLibravatar Junio C Hamano4-6/+18
"git daemon" uses "run_command()" without "finish_command()", so it needs to release resources itself, which it forgot to do. * rs/daemon-plug-child-leak: daemon: plug memory leak run-command: factor out child_process_clear()
2015-11-05Merge branch 'rs/wt-status-detached-branch-fix' into maintLibravatar Junio C Hamano2-35/+43
"git status --branch --short" accessed beyond the constant string "HEAD", which has been corrected. * rs/wt-status-detached-branch-fix: wt-status: use skip_prefix() to get rid of magic string length constants wt-status: don't skip a magical number of characters blindly wt-status: avoid building bogus branch name with detached HEAD wt-status: exit early using goto in wt_shortstatus_print_tracking() t7060: add test for status --branch on a detached HEAD
2015-11-05Merge branch 'jk/initialization-fix-to-add-submodule-odb' into maintLibravatar Junio C Hamano1-1/+1
We peek objects from submodule's object store by linking it to the list of alternate object databases, but the code to do so forgot to correctly initialize the list. * jk/initialization-fix-to-add-submodule-odb: add_submodule_odb: initialize alt_odb list earlier
2015-11-05Merge branch 'js/misc-fixes' into maintLibravatar Junio C Hamano5-6/+12
Various compilation fixes and squelching of warnings. * js/misc-fixes: Correct fscanf formatting string for I64u values Silence GCC's "cast of pointer to integer of a different size" warning Squelch warning about an integer overflow
2015-11-05Merge branch 'jc/add-u-A-default-to-top' into maintLibravatar Junio C Hamano3-7/+4
"git --literal-pathspecs add -u/-A" without any command line argument misbehaved ever since Git 2.0. * jc/add-u-A-default-to-top: add: simplify -u/-A without pathspec