Commit Graph

41446 Commits

Author SHA1 Message Date
Junio C Hamano
2d808073db Merge branch 'rs/parseopt-short-help'
Make "-h" command line option work more consistently in all commands.

* rs/parseopt-short-help:
  show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP
  grep: stop using PARSE_OPT_NO_INTERNAL_HELP
  parse-options: allow -h as a short option
  parse-options: inline parse_options_usage() at its only remaining caller
  parse-options: deduplicate parse_options_usage() calls
2015-12-04 11:19:11 -08:00
Junio C Hamano
c69d08df96 Merge branch 'jk/send-email-complete-aliases'
Teach send-email to dump mail aliases, so that we can do tab completion
on the command line.

* jk/send-email-complete-aliases:
  completion: add support for completing email aliases
  sendemail: teach git-send-email to dump alias names
2015-12-04 11:19:11 -08:00
Junio C Hamano
2e5adec97a Merge branch 'jk/filter-branch-no-index'
Speed up filter-branch for cases where we only care about rewriting
commits, not tree data.

* jk/filter-branch-no-index:
  filter-branch: skip index read/write when possible
2015-12-04 11:19:10 -08:00
Junio C Hamano
4672123fe5 Merge branch 'ad/sha1-update-chunked'
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-04 11:19:10 -08:00
Jeff King
fd13a2ecfb Merge branch 'mk/blame-first-parent'
Regression fix for a topic already in master.

* mk/blame-first-parent:
  blame: fix object casting regression
2015-12-01 18:54:58 -05:00
Jeff King
43ed3827ed Merge branch 'jk/send-email-ca-path'
Use a safer behavior when we hit errors verifying remote certificates.

* jk/send-email-ca-path:
  send-email: die if CA path doesn't exist
2015-12-01 18:54:54 -05:00
Jeff King
e2187fe520 Merge branch 'rs/fsck-nul-header'
Fsck did not correctly detect a NUL-truncated header in a tag.

* rs/fsck-nul-header:
  fsck: treat a NUL in a tag header as an error
  t1450: add tests for NUL in headers of commits and tags
2015-12-01 18:54:47 -05:00
Jeff King
fa7095e63d Merge branch 'ls/p4-test-timeouts'
Work around some test flakiness with p4d.

* ls/p4-test-timeouts:
  git-p4: add trap to kill p4d on test exit
  git-p4: add p4d timeout in tests
  git-p4: retry kill/cleanup operations in tests with timeout
2015-12-01 18:54:40 -05:00
Jeff King
e0dd81b08e Merge branch 'js/test-modernize-t9300'
Clean up style in an ancient test.

* js/test-modernize-t9300:
  modernize t9300: move test preparations into test_expect_success
  modernize t9300: mark here-doc words to ignore tab indentation
  modernize t9300: use test_when_finished for clean-up
  modernize t9300: wrap lines after &&
  modernize t9300: use test_must_be_empty
  modernize t9300: use test_must_fail
  modernize t9300: single-quote placement and indentation
2015-12-01 18:54:37 -05:00
Jeff King
d0e8377b90 Merge branch 'jk/send-email-expand-paths'
Expand paths in some send-email config variables.

* jk/send-email-expand-paths:
  send-email: expand path in sendemail.smtpsslcertpath config
2015-12-01 18:54:34 -05:00
Jeff King
30fe9b2f9a Merge branch 'dg/subtree-test-cleanup'
Test cleanups for the subtree project.

* dg/subtree-test-cleanup:
  contrib/subtree: Handle '--prefix' argument with a slash appended
  contrib/subtree: Make each test self-contained
  contrib/subtree: Add split tests
  contrib/subtree: Add merge tests
  contrib/subtree: Add tests for subtree add
  contrib/subtree: Add test for missing subtree
  contrib/subtree: Clean and refactor test code
2015-12-01 18:54:31 -05:00
Jeff King
23bc35f3dc Merge branch 'dt/http-range'
Portability fix for a topic already in 'master'.

* dt/http-range:
  http: fix some printf format warnings
2015-12-01 18:54:28 -05:00
Jeff King
40fdcc5357 Merge branch 'maint'
* maint:
  http: treat config options sslCAPath and sslCAInfo as paths
  Documentation/diff: give --word-diff-regex=. example
  filter-branch: deal with object name vs. pathname ambiguity in tree-filter
  check-ignore: correct documentation about output
  git-p4: clean up after p4 submit failure
  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
  remote-http(s): support SOCKS proxies
  t5813: avoid creating urls that break on cygwin
  Escape Git's exec path in contrib/rerere-train.sh script
  allow hooks to ignore their standard input stream
  rebase-i-exec: Allow space in SHELL_PATH
  Documentation: make environment variable formatting more consistent
2015-12-01 17:32:38 -05:00
Jeff King
908a6e4156 Merge branch 'eg/p4-submit-catch-failure' into maint
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-01 17:24:21 -05:00
Jeff King
35f263545c Merge branch 'dk/check-ignore-docs' into maint
Documentation clarification for "check-ignore" without "--verbose".

* dk/check-ignore-docs:
  check-ignore: correct documentation about output
2015-12-01 17:21:32 -05:00
Jeff King
5b228f956a Merge branch 'ld/p4-detached-head' into maint
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-01 17:21:29 -05:00
Jeff King
978b5760a1 Merge branch 'sg/filter-branch-dwim-ambiguity' into maint
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-01 17:21:17 -05:00
Jeff King
2cc36407df Merge branch 'mg/doc-word-diff-example' into maint
* mg/doc-word-diff-example:
  Documentation/diff: give --word-diff-regex=. example
2015-12-01 17:21:11 -05:00
Jeff King
712a12e506 Merge branch 'cb/ssl-config-pathnames' into maint
Allow tilde-expansion in some http config variables.

* cb/ssl-config-pathnames:
  http: treat config options sslCAPath and sslCAInfo as paths
2015-12-01 17:21:01 -05:00
Jeff King
76fdb0640e Merge branch 'dk/t5813-unc-paths' into maint
Test portability fix for a topic in v2.6.1.

* dk/t5813-unc-paths:
  t5813: avoid creating urls that break on cygwin
2015-12-01 17:20:52 -05:00
Jeff King
3840d2d617 Merge branch 'dk/rerere-train-quoting' into maint
Fix shell quoting in contrib script.

* dk/rerere-train-quoting:
  Escape Git's exec path in contrib/rerere-train.sh script
2015-12-01 17:20:46 -05:00
Jeff King
347acea06a Merge branch 'cb/hook-sigpipe' into maint
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-01 17:19:52 -05:00
Jeff King
45e330f512 Merge branch 'fm/shell-path-whitespace' into maint
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-01 17:19:37 -05:00
Jeff King
2945adcc2d Merge branch 'ar/doc-env-variable-format' into maint
Minor documentation fixup.

* ar/doc-env-variable-format:
  Documentation: make environment variable formatting more consistent
2015-12-01 17:19:33 -05:00
Jeff King
92b9bf4a15 Merge branch 'pt/http-socks-proxy' into maint
Add support for talking http/https over socks proxy.

* pt/http-socks-proxy:
  remote-http(s): support SOCKS proxies
2015-12-01 17:19:12 -05:00
Jeff King
cd76778049 Merge branch 'rc/configure-use-libs-when-checking-a-lib' into maint
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-12-01 17:19:06 -05:00
Jeff King
1bc8feaa7c Merge branch 'fp/subtree-todo-update'
Cross completed task off of subtree project's todo list.

* fp/subtree-todo-update:
  contrib/subtree: remove "push" command from the "todo" file
2015-11-24 19:06:54 -05:00
Jeff King
a3824e7145 Merge branch 'rc/configure-use-libs-when-checking-a-lib'
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-24 19:06:33 -05:00
Jeff King
718a9e67b6 Merge branch 'maint'
* maint:
  Documentation/git-update-index: add missing opts to synopsys
2015-11-24 19:04:41 -05:00
Charles Bailey
bf9acba2c1 http: treat config options sslCAPath and sslCAInfo as paths
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-24 18:51:00 -05:00
Michael J Gruber
2c15c00651 Documentation/diff: give --word-diff-regex=. example
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-24 18:38:46 -05:00
SZEDER Gábor
4d2a3646d1 filter-branch: deal with object name vs. pathname ambiguity in tree-filter
'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-24 18:37:50 -05:00
John Keeping
c55d65f3c5 send-email: die if CA path doesn't exist
If the CA path isn't found it's most likely to indicate a
misconfiguration, in which case accepting any certificate is unlikely to
be the correct thing to do.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-24 18:35:55 -05:00
Dennis Kaarsemaker
219cbf091a check-ignore: correct documentation about output
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-24 17:13:36 -05:00
Jeff King
7cb5f7c44d blame: fix object casting regression
Commit 1b0d400 refactored the prepare_final() function so
that it could be reused in multiple places. Originally, the
loop had two outputs: a commit to stuff into sb->final, and
the name of the commit from the rev->pending array.

After the refactor, that loop is put in its own function
with a single return value: the object_array_entry from the
rev->pending array. This contains both the name and the object,
but with one important difference: the object is the
_original_ object found by the revision parser, not the
dereferenced commit. If one feeds a tag to "git blame", we
end up casting the tag object to a "struct commit", which
causes a segfault.

Instead, let's return the commit (properly casted) directly
from the function, and take the "name" as an optional
out-parameter. This does the right thing, and actually
simplifies the callers, who no longer need to cast or
dereference the object_array_entry themselves.

[test case by Max Kirillov <max@max630.net>]

Signed-off-by: Jeff King <peff@peff.net>
2015-11-24 17:07:04 -05:00
Christian Couder
5cb2e162d2 Documentation/git-update-index: add missing opts to synopsys
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-24 15:44:40 -05:00
GIRARD Etienne
b7638fed42 git-p4: clean up after p4 submit failure
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-24 15:41:59 -05:00
Luke Diamand
00ad6e3182 git-p4: work with a detached head
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-24 15:20:15 -05:00
Luke Diamand
cbff4b25e4 git-p4: add option to system() to return subshell status
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-24 15:20:15 -05:00
Luke Diamand
74b6fe9202 git-p4: add failing test for submit from detached head
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-24 15:20:15 -05:00
René Scharfe
42fdf86e5f show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP
The flag PARSE_OPT_NO_INTERNAL_HELP is set to allow overriding the
option -h, except when it's the only one given.  This is the default
behavior now, so remove the flag and the hand-rolled --help-all
handling.  The internal --help-all handler now actually shows hidden
options, i.e. -h in this case.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:07 -05:00
René Scharfe
8a272f291a fsck: treat a NUL in a tag header as an error
We check the return value of verify_header() for commits already, so do
the same for tags as well.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:07 -05:00
René Scharfe
4441549995 grep: stop using PARSE_OPT_NO_INTERNAL_HELP
The flag PARSE_OPT_NO_INTERNAL_HELP is set to allow overriding the
option -h, except when it's the only one given.  This is the default
behavior now, so remove the flag and the hand-rolled --help-all
handling.  The internal --help-all handler now actually shows hidden
options, i.e. --debug in this case.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:07 -05:00
René Scharfe
80c7f5a011 t1450: add tests for NUL in headers of commits and tags
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:07 -05:00
René Scharfe
5ad0d3d526 parse-options: allow -h as a short option
Let callers provide their own handler for the short option -h even
without the flag PARSE_OPT_NO_INTERNAL_HELP, but call the internal
handler (showing usage information) if that is the only parameter.
Implement the first part by checking for -h only if parse_short_opt()
can't find it and returns -2.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:07 -05:00
René Scharfe
d3d1f8c46f parse-options: inline parse_options_usage() at its only remaining caller
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:07 -05:00
René Scharfe
ac20ff6daa parse-options: deduplicate parse_options_usage() calls
Avoid long lines and repeating parse_options_usage() calls with their
duplicate parameters by providing labels with speaking names to jump to.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:07 -05:00
Jacob Keller
dfbe5eeb32 completion: add support for completing email aliases
Using the new --dump-aliases option from git-send-email, add completion
for --to, --cc, --bcc, and --from with the available configured aliases.

Signed-off-by: Jacob Keller <jacob.keller@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:06 -05:00
Lars Schneider
dfe90e8b52 git-p4: add trap to kill p4d on test exit
Sometimes the "prove" test runner hangs on test exit because p4d is
still running. Add a trap to always kill "p4d" on test exit.

You can reproduce the problem by commenting "P4D_TIMEOUT" in
"lib-git-p4.sh" and running "prove ./t9800-git-p4-basic.sh".

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:06 -05:00
Johannes Sixt
68297e0fd8 modernize t9300: move test preparations into test_expect_success
Our usual style these days is to execute everything inside
test_expect_success. Make it so.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jeff King <peff@peff.net>
2015-11-20 08:02:06 -05:00