Junio C Hamano [Mon, 15 Jul 2013 17:34:36 +0000 (10:34 -0700)]
Merge branch 'mt/send-email-cc-match-fix' into maint
Logic used by git-send-email to suppress cc mishandled names like "A
U. Thor" <author@example.xz>, where the human readable part needs to
be quoted (the user input may not have the double quotes around the
name, and comparison was done between quoted and unquoted strings).
It also mishandled names that need RFC2047 quoting.
* mt/send-email-cc-match-fix:
send-email: sanitize author when writing From line
send-email: add test for duplicate utf8 name
test-send-email: test for pre-sanitized self name
t/send-email: test suppress-cc=self with non-ascii
t/send-email: add test with quoted sender
send-email: make --suppress-cc=self sanitize input
t/send-email: test suppress-cc=self on cccmd
send-email: fix suppress-cc=self on cccmd
t/send-email.sh: add test for suppress-cc=self
Ramkumar Ramachandra [Fri, 28 Jun 2013 15:46:19 +0000 (21:16 +0530)]
fixup-builtins: retire an old transition helper script
This script was added in
36e5e70 (Start deprecating "git-command" in
favor of "git command", 2007-06-30) with the intent of aiding the
transition away from dashed forms.
It has already been used to help the transision and served its
purpose, and is no longer very useful for follow-up work, because
the majority of remaining matches it finds are false positives.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 3 Jul 2013 22:43:41 +0000 (15:43 -0700)]
Update draft release notes to 1.8.3.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 3 Jul 2013 22:41:17 +0000 (15:41 -0700)]
Merge branch 'rr/diffcore-pickaxe-doc' into maint
* rr/diffcore-pickaxe-doc:
diffcore-pickaxe doc: document -S and -G properly
diffcore-pickaxe: make error messages more consistent
Junio C Hamano [Wed, 3 Jul 2013 22:41:05 +0000 (15:41 -0700)]
Merge branch 'cr/git-work-tree-sans-git-dir' into maint
* cr/git-work-tree-sans-git-dir:
git.txt: remove stale comment regarding GIT_WORK_TREE
Junio C Hamano [Wed, 3 Jul 2013 22:40:38 +0000 (15:40 -0700)]
Merge branch 'fc/do-not-use-the-index-in-add-to-index' into maint
* fc/do-not-use-the-index-in-add-to-index:
read-cache: trivial style cleanups
read-cache: fix wrong 'the_index' usage
Junio C Hamano [Wed, 3 Jul 2013 22:39:37 +0000 (15:39 -0700)]
Merge branch 'dm/unbash-subtree' into maint
* dm/unbash-subtree:
contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash
Junio C Hamano [Wed, 3 Jul 2013 22:39:15 +0000 (15:39 -0700)]
Merge branch 'jc/core-checkstat' into maint
* jc/core-checkstat:
deprecate core.statinfo at Git 2.0 boundary
Junio C Hamano [Wed, 3 Jul 2013 22:37:58 +0000 (15:37 -0700)]
Merge branch 'jc/t5551-posix-sed-bre' into maint
* jc/t5551-posix-sed-bre:
t5551: do not use unportable sed '\+'
Junio C Hamano [Wed, 3 Jul 2013 22:37:50 +0000 (15:37 -0700)]
Merge branch 'vv/help-unknown-ref' into maint
* vv/help-unknown-ref:
merge: use help_unknown_ref()
help: add help_unknown_ref()
Junio C Hamano [Wed, 3 Jul 2013 22:36:54 +0000 (15:36 -0700)]
Merge branch 'rs/empty-archive' into maint
* rs/empty-archive:
t5004: resurrect original empty tar archive test
t5004: avoid using tar for checking emptiness of archive
Conflicts:
t/t5004-archive-corner-cases.sh
Junio C Hamano [Wed, 3 Jul 2013 22:36:30 +0000 (15:36 -0700)]
Merge branch 'rh/merge-options-doc-fix' into maint
* rh/merge-options-doc-fix:
Documentation/merge-options.txt: restore `-e` option
Junio C Hamano [Wed, 3 Jul 2013 22:35:55 +0000 (15:35 -0700)]
Merge branch 'an/diff-index-doc' into maint
* an/diff-index-doc:
Documentation/diff-index: mention two modes of operation
Junio C Hamano [Wed, 3 Jul 2013 22:31:36 +0000 (15:31 -0700)]
Merge branch 'cm/gitweb-project-list-persistent-cgi-fix' into maint
"gitweb" forgot to clear a global variable $search_regexp upon each
request, mistakenly carrying over the previous search to a new one
when used as a persistent CGI.
* cm/gitweb-project-list-persistent-cgi-fix:
gitweb: fix problem causing erroneous project list
Junio C Hamano [Wed, 3 Jul 2013 22:31:27 +0000 (15:31 -0700)]
Merge branch 'ar/wildmatch-foldcase' into maint
The wildmatch engine did not honor WM_CASEFOLD option correctly.
* ar/wildmatch-foldcase:
wildmatch: properly fold case everywhere
Junio C Hamano [Wed, 3 Jul 2013 22:30:59 +0000 (15:30 -0700)]
Merge branch 'cb/log-follow-with-combined' into maint
"git log -c --follow $path" segfaulted upon hitting the commit that
renamed the $path being followed.
* cb/log-follow-with-combined:
fix segfault with git log -c --follow
Junio C Hamano [Wed, 3 Jul 2013 22:30:24 +0000 (15:30 -0700)]
Merge branch 'rr/die-on-missing-upstream' into maint
When a reflog notation is used for implicit "current branch", we did
not say which branch, and worse said "branch ''".
* rr/die-on-missing-upstream:
sha1_name: fix error message for @{<N>}, @{<date>}
sha1_name: fix error message for @{u}
Junio C Hamano [Wed, 3 Jul 2013 22:27:19 +0000 (15:27 -0700)]
Merge branch 'maint-1.8.2' into maint
* maint-1.8.2:
git-config: update doc for --get with multiple values
Junio C Hamano [Wed, 3 Jul 2013 22:26:53 +0000 (15:26 -0700)]
Merge branch 'maint-1.8.1' into maint-1.8.2
* maint-1.8.1:
git-config: update doc for --get with multiple values
John Keeping [Wed, 3 Jul 2013 18:27:39 +0000 (19:27 +0100)]
git-config: update doc for --get with multiple values
Since commit
00b347d (git-config: do not complain about duplicate
entries, 2012-10-23), "git config --get" does not exit with an error if
there are multiple values for the specified key but instead returns the
last value. Update the documentation to reflect this.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Andrew Pimlott [Mon, 1 Jul 2013 16:20:36 +0000 (09:20 -0700)]
t7500: fix flipped actual/expect
Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Andrew Pimlott [Mon, 1 Jul 2013 16:20:35 +0000 (09:20 -0700)]
lib-rebase: document exec_ in FAKE_LINES
Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 30 Jun 2013 22:36:03 +0000 (15:36 -0700)]
Start preparing for 1.8.3.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 30 Jun 2013 22:33:40 +0000 (15:33 -0700)]
Merge branch 'fc/macos-x-clipped-write' into maint
Mac OS X does not like to write(2) more than INT_MAX number of
bytes; work it around by chopping write(2) into smaller pieces.
* fc/macos-x-clipped-write:
compate/clipped-write.c: large write(2) fails on Mac OS X/XNU
Junio C Hamano [Sun, 30 Jun 2013 22:33:13 +0000 (15:33 -0700)]
Merge branch 'da/darwin' into maint
Newer MacOS X encourages the programs to compile and link with their
CommonCrypto, not with OpenSSL.
* da/darwin:
imap-send: eliminate HMAC deprecation warnings on Mac OS X
cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
Makefile: add support for Apple CommonCrypto facility
Makefile: fix default regex settings on Darwin
Ramkumar Ramachandra [Sun, 30 Jun 2013 12:05:28 +0000 (17:35 +0530)]
check-ignore doc: fix broken link to ls-files page
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
SZEDER Gábor [Sun, 30 Jun 2013 10:45:25 +0000 (12:45 +0200)]
test: spell 'ls-files --delete' option correctly in test descriptions
The option is spelled '--deleted'.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 28 Jun 2013 21:56:30 +0000 (14:56 -0700)]
Git 1.8.3.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefano Lattarini [Fri, 28 Jun 2013 17:19:42 +0000 (19:19 +0200)]
configure: fix option help message for --disable-pthreads
The configure option to disable threading is '--disable-pthreads',
not '--without-pthreads'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 28 Jun 2013 17:00:00 +0000 (10:00 -0700)]
Merge branch 'nd/clone-connectivity-shortcut' (early part) into maint
Cloning with "git clone --depth N" while fetch.fsckobjects (or
transfer.fsckobjects) is set to true did not tell the cut-off points
of the shallow history to the process that validates the objects and
the history received, causing the validation to fail.
* 'nd/clone-connectivity-shortcut' (early part):
fetch-pack: prepare updated shallow file before fetching the pack
clone: let the user know when check_everything_connected is run
Junio C Hamano [Thu, 27 Jun 2013 21:48:14 +0000 (14:48 -0700)]
Start preparing for 1.8.3.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 Jun 2013 21:38:22 +0000 (14:38 -0700)]
Merge branch 'ks/difftool-dir-diff-copy-fix' into maint
* ks/difftool-dir-diff-copy-fix:
difftool --dir-diff: allow changing any clean working tree file
Junio C Hamano [Thu, 27 Jun 2013 21:38:17 +0000 (14:38 -0700)]
Merge branch 'rr/push-head' into maint
* rr/push-head:
push: make push.default = current use resolved HEAD
push: fail early with detached HEAD and current
push: factor out the detached HEAD error message
Junio C Hamano [Thu, 27 Jun 2013 21:38:16 +0000 (14:38 -0700)]
Merge branch 'fc/show-branch-in-rebase-am' into maint
* fc/show-branch-in-rebase-am:
prompt: fix for simple rebase
Junio C Hamano [Thu, 27 Jun 2013 21:38:14 +0000 (14:38 -0700)]
Merge branch 'tg/maint-zsh-svn-remote-prompt' into maint
* tg/maint-zsh-svn-remote-prompt:
prompt: fix show upstream with svn and zsh
Junio C Hamano [Thu, 27 Jun 2013 21:38:12 +0000 (14:38 -0700)]
Merge branch 'nd/urls-doc-no-file-hyperlink-fix' into maint
* nd/urls-doc-no-file-hyperlink-fix:
urls.txt: avoid auto converting to hyperlink
Junio C Hamano [Thu, 27 Jun 2013 21:38:09 +0000 (14:38 -0700)]
Merge branch 'tr/push-no-verify-doc' into maint
* tr/push-no-verify-doc:
Document push --no-verify
Junio C Hamano [Thu, 27 Jun 2013 21:38:07 +0000 (14:38 -0700)]
Merge branch 'rs/commit-m-no-edit' into maint
* rs/commit-m-no-edit:
commit: don't start editor if empty message is given with -m
Junio C Hamano [Thu, 27 Jun 2013 21:38:02 +0000 (14:38 -0700)]
Merge branch 'jc/strbuf-branchname-fix' into maint
* jc/strbuf-branchname-fix:
strbuf_branchname(): do not double-expand @{-1}~22
Junio C Hamano [Thu, 27 Jun 2013 21:37:55 +0000 (14:37 -0700)]
Merge branch 'mk/combine-diff-context-horizon-fix' into maint
* mk/combine-diff-context-horizon-fix:
combine-diff.c: Fix output when changes are exactly 3 lines apart
Junio C Hamano [Thu, 27 Jun 2013 21:37:52 +0000 (14:37 -0700)]
Merge branch 'kb/ancestry-path-threedots' into maint
* kb/ancestry-path-threedots:
revision.c: treat A...B merge bases as if manually specified
t6019: demonstrate --ancestry-path A...B breakage
Junio C Hamano [Thu, 27 Jun 2013 21:37:44 +0000 (14:37 -0700)]
Merge branch 'jk/subtree-do-not-push-if-split-fails' into maint
* jk/subtree-do-not-push-if-split-fails:
contrib/subtree: don't delete remote branches if split fails
Junio C Hamano [Thu, 27 Jun 2013 21:37:41 +0000 (14:37 -0700)]
Merge branch 'mh/fetch-into-shallow' into maint
* mh/fetch-into-shallow:
t5500: add test for fetching with an unknown 'shallow'
upload-pack: ignore 'shallow' lines with unknown obj-ids
Junio C Hamano [Thu, 27 Jun 2013 21:37:21 +0000 (14:37 -0700)]
Merge branch 'jh/checkout-auto-tracking' into maint
* jh/checkout-auto-tracking:
glossary: Update and rephrase the definition of a remote-tracking branch
branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
t9114.2: Don't use --track option against "svn-remote"-tracking branches
t7201.24: Add refspec to keep --track working
t3200.39: tracking setup should fail if there is no matching refspec.
checkout: Use remote refspecs when DWIMming tracking branches
t2024: Show failure to use refspec when DWIMming remote branch names
t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'
Ramkumar Ramachandra [Tue, 18 Jun 2013 19:24:05 +0000 (00:54 +0530)]
completion: complete diff --word-diff
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Tue, 18 Jun 2013 12:49:26 +0000 (15:49 +0300)]
send-email: sanitize author when writing From line
sender is now sanitized, but we didn't sanitize author when checking
whether From: line is needed in the message body.
As a result git started writing duplicate From: lines when author
matched sender and has utf8 characters.
Reported-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Tue, 18 Jun 2013 12:49:29 +0000 (15:49 +0300)]
send-email: add test for duplicate utf8 name
Verify that author name is not duplicated if it matches sender, even
if it is in utf8 (the test expects a failure that will be fixed in
the next patch).
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Jun 2013 21:24:56 +0000 (14:24 -0700)]
Merge branch 'maint-1.8.2' into maint
* maint-1.8.2:
t0070 "mktemp to unwritable directory" needs SANITY
pre-push.sample: Make the script executable
Torsten Bögershausen [Sat, 8 Jun 2013 12:17:49 +0000 (14:17 +0200)]
t0070 "mktemp to unwritable directory" needs SANITY
Use the SANITY prerequisite when testing if a temp file can
be created in a read only directory.
Skip the test under CYGWIN, or skip it under Unix/Linux when
it is run as root.
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Wieland Hoffmann [Tue, 11 Jun 2013 12:14:56 +0000 (14:14 +0200)]
pre-push.sample: Make the script executable
githooks(5) says that "[...]the .sample files are executable by default"
which was not true.
Signed-off-by: Wieland Hoffmann <themineo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 10 Jun 2013 00:16:20 +0000 (17:16 -0700)]
Git 1.8.3.1
Primarily to push out two regression issues that seem to affect many
people, namely, the ".gitignore !directory" bug and "daemon cannot
read from $HOME owned by root" bug.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Mon, 10 Jun 2013 05:48:17 +0000 (07:48 +0200)]
mingw: make mingw_signal return the correct handler
Returning the SIGALRM handler for SIGINT is not very useful.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 10 Jun 2013 00:06:55 +0000 (17:06 -0700)]
Merge branch 'jn/config-ignore-inaccessible' into maint
A git daemon that starts as "root" and then drops privilege often
leaves $HOME set to that of the root user, which is unreadable by
the daemon process, which was diagnosed as a configuration error.
Make per-user configuration files that are inaccessible due to
EACCES as though these files do not exist to avoid this issue, as
the tightening which was originally meant as an additional security
has annoyed enough sysadmins.
* jn/config-ignore-inaccessible:
config: allow inaccessible configuration under $HOME
Junio C Hamano [Mon, 10 Jun 2013 00:05:15 +0000 (17:05 -0700)]
Merge branch 'kb/status-ignored-optim-2' into maint
Fix recent regression of .gitignore files that list !directory to
mark it not-ignored.
* kb/status-ignored-optim-2:
dir.c: fix ignore processing within not-ignored directories
René Scharfe [Sun, 9 Jun 2013 16:33:45 +0000 (18:33 +0200)]
submodule: remove redundant check for the_index.initialized
read_cache already performs the same check and returns immediately if
the cache has already been loaded.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Fredrik Gustafsson [Sun, 9 Jun 2013 11:11:36 +0000 (13:11 +0200)]
Document .git/modules
A note in the beginning of this document describes the behavior already.
This patch just adds where to find the repositories.
Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Charles McGarvey [Wed, 5 Jun 2013 04:44:28 +0000 (22:44 -0600)]
gitweb: fix problem causing erroneous project list
The bug is manifest when running gitweb in a persistent process (e.g.
FastCGI, PSGI), and it's easy to reproduce. If a gitweb request
includes the searchtext parameter (i.e. s), subsequent requests using
the project_list action--which is the default action--and without
a searchtext parameter will be filtered by the searchtext value of the
first request. This is because the value of the $search_regexp global
(the value of which is based on the searchtext parameter) is currently
being persisted between requests.
Instead, clear $search_regexp before dispatching each request.
Signed-off-by: Charles McGarvey <chazmcgarvey@brokenzipper.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Wed, 5 Jun 2013 18:11:08 +0000 (21:11 +0300)]
test-send-email: test for pre-sanitized self name
Users can sanitize from address manually.
Verify that these are suppressed properly.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Wed, 5 Jun 2013 18:11:04 +0000 (21:11 +0300)]
t/send-email: test suppress-cc=self with non-ascii
test suppress-cc=self when sender is non-acsii
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Wed, 5 Jun 2013 18:11:02 +0000 (21:11 +0300)]
t/send-email: add test with quoted sender
add test where sender address needs to be quoted.
Make sure --suppress-cc=self works well in this case.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Wed, 5 Jun 2013 18:11:00 +0000 (21:11 +0300)]
send-email: make --suppress-cc=self sanitize input
--suppress-cc=self fails to filter sender address in many cases where it
needs to be sanitized in some way, for example quoted:
"A U. Thor" <author@example.com>
To fix, make send-email sanitize both sender and the address it is
compared against.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Wed, 5 Jun 2013 18:10:57 +0000 (21:10 +0300)]
t/send-email: test suppress-cc=self on cccmd
Check that suppress-cc=self works when applied
to output of cccmd.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Wed, 5 Jun 2013 18:10:55 +0000 (21:10 +0300)]
send-email: fix suppress-cc=self on cccmd
When cccmd is used, old-style suppress-from filter
is applied by the newer suppress-cc=self isn't.
Fix this up.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 4 Jun 2013 16:50:12 +0000 (09:50 -0700)]
t/README: test_must_fail is for testing Git
When a test wants to make sure there is no <string> in an output
file, we should just say "! grep string output".
"test_must_fail" is there only to test Git command and catch unusual
deaths we know about (e.g. segv) as an error, not as an expected
failure. "test_must_fail grep string output" is unnecessary, as
we are not making sure the system binaries do not dump core or
anything like that.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Fri, 31 May 2013 12:12:15 +0000 (17:42 +0530)]
diffcore-pickaxe doc: document -S and -G properly
The documentation of -S and -G is very sketchy. Completely rewrite the
sections in Documentation/diff-options.txt and
Documentation/gitdiffcore.txt.
References:
52e9578 ([PATCH] Introducing software archaeologist's tool "pickaxe".)
f506b8e (git log/diff: add -G<regexp> that greps in the patch text)
Inputs-from: Phil Hord <phil.hord@gmail.com>
Co-authored-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Fri, 31 May 2013 12:12:14 +0000 (17:42 +0530)]
diffcore-pickaxe: make error messages more consistent
Currently, diffcore-pickaxe reports two distinct errors for the same
user error:
$ git log --pickaxe-regex -S'\1'
fatal: invalid pickaxe regex: Invalid back reference
$ git log -G'\1'
fatal: invalid log-grep regex: Invalid back reference
This "log-grep" was only an internal name for the -G feature during
development, and invite confusion with "git log --grep=<pattern>".
Change the error messages to say "invalid regex".
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Chris Rorvick [Fri, 31 May 2013 01:11:41 +0000 (20:11 -0500)]
git.txt: remove stale comment regarding GIT_WORK_TREE
Official support for specifying --work-tree/GIT_WORK_TREE without
--git-dir/GIT_DIR was added with v1.7.4-rc3~2^2~2. Update description
of GIT_WORK_TREE to reflect this.
Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Thu, 30 May 2013 13:56:21 +0000 (08:56 -0500)]
sha1_file: trivial style cleanup
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Thu, 30 May 2013 13:56:19 +0000 (08:56 -0500)]
read-cache: trivial style cleanups
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Thu, 30 May 2013 13:56:18 +0000 (08:56 -0500)]
read-cache: fix wrong 'the_index' usage
We are dealing with the 'istate' index, not 'the_index'.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael S. Tsirkin [Thu, 30 May 2013 07:11:13 +0000 (10:11 +0300)]
t/send-email.sh: add test for suppress-cc=self
This adds a basic test for --suppress-cc=self
option of git send-email.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Karsten Blees [Wed, 29 May 2013 20:32:36 +0000 (22:32 +0200)]
dir.c: fix ignore processing within not-ignored directories
As of
95c6f271 "dir.c: unify is_excluded and is_path_excluded APIs", the
is_excluded API no longer recurses into directories that match an ignore
pattern, and returns the directory's ignored state for all contained paths.
This is OK for normal ignore patterns, i.e. ignoring a directory affects
the entire contents recursively.
Unfortunately, this also "works" for negated ignore patterns ('!dir'), i.e.
the entire contents is "not-ignored" recursively, regardless of ignore
patterns that match the contents directly.
In prep_exclude, skip recursing into a directory only if it is really
ignored (i.e. the ignore pattern is not negated).
Signed-off-by: Karsten Blees <blees@dcon.de>
Tested-by: Øystein Walle <oystwa@gmail.com>
Reviewed-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Anthony Ramine [Thu, 30 May 2013 10:19:10 +0000 (12:19 +0200)]
wildmatch: properly fold case everywhere
Case folding is not done correctly when matching against the [:upper:]
character class and uppercased character ranges (e.g. A-Z).
Specifically, an uppercase letter fails to match against any of them
when case folding is requested because plain characters in the pattern
and the whole string are preemptively lowercased to handle the base case
fast.
That optimization is kept and ISLOWER() is used in the [:upper:] case
when case folding is requested, while matching against a character range
is retried with toupper() if the character was lowercase, as the bounds
of the range itself cannot be modified (in a case-insensitive context,
[A-_] is not equivalent to [a-_]).
Signed-off-by: Anthony Ramine <n.oxyde@gmail.com>
Reviewed-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Wed, 22 May 2013 10:39:55 +0000 (16:09 +0530)]
sha1_name: fix error message for @{<N>}, @{<date>}
Currently, when we try to resolve @{<N>} or @{<date>} when the reflog
doesn't go back far enough, we get errors like:
# on branch master
$ git show @{10000}
fatal: Log for '' only has 7 entries.
$ git show @{10000.days.ago}
warning: Log for '' only goes back to Tue, 21 May 2013 14:14:45 +0530.
...
# detached HEAD case
$ git show @{10000}
fatal: Log for '' only has 2005 entries.
$ git show master@{10000}
fatal: Log for 'master' only has 7 entries.
The empty string '' is confusing and does not convey information
about whose logs we are inspecting. Change this so that we get:
# on branch master
$ git show @{10000}
fatal: Log for 'master' only has 7 entries.
$ git show @{10000.days.ago}
warning: Log for 'master' only goes back to Tue, 21 May 2013 14:14:45 +0530.
...
# detached HEAD case
$ git show @{10000}
fatal: Log for 'HEAD' only has 2005 entries.
$ git show master@{10000}
fatal: Log for 'master' only has 7 entries.
Also one of the message strings given to die() now points into
real_ref that was not used in that fashion, so stop freeing the
underlying storage for it.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Bug-spotted-and-fixed-by: Thomas Rast
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Wed, 29 May 2013 19:21:51 +0000 (00:51 +0530)]
push: make push.default = current use resolved HEAD
With this change, the output of the push (with push.default set to
current) changes subtly from:
$ git push
...
* [new branch] HEAD -> push-current-head
to:
$ git push
...
* [new branch] push-current-head -> push-current-head
This patch was written with a different motivation. There is a problem
unique to push.default = current:
# on branch push-current-head
$ git push
# on another terminal
$ git checkout master
# return to the first terminal
# the push tried to push master!
This happens because the 'git checkout' on the second terminal races
with the 'git push' on the first terminal. Although this patch does not
solve the core problem (there is still no guarantee that 'git push' on
the first terminal will resolve HEAD before 'git checkout' changes HEAD
on the second), it works in practice.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Wed, 29 May 2013 19:21:50 +0000 (00:51 +0530)]
push: fail early with detached HEAD and current
Setting push.default to current adds the refspec "HEAD" for the
transport layer to handle. If "HEAD" doesn't resolve to a branch (and
since no refspec rhs is specified), the push fails after some time with
a cryptic error message:
$ git push
error: unable to push to unqualified destination: HEAD
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@github.com:artagnon/git'
Fail early with a nicer error message:
$ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push ram HEAD:<name-of-remote-branch>
Just like in the upstream and simple cases.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 29 May 2013 22:21:15 +0000 (15:21 -0700)]
Start 1.8.3.1 maintenance track
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 29 May 2013 22:20:36 +0000 (15:20 -0700)]
Merge branch 'maint-1.8.2' into maint
* maint-1.8.2:
trivial: Add missing period in documentation
Kenichi Saita [Wed, 29 May 2013 16:01:23 +0000 (01:01 +0900)]
difftool --dir-diff: allow changing any clean working tree file
The temporary directory prepared by "difftool --dir-diff" to
show the result of a change can be modified by the user via
the tree diff program, and we try hard not to lose changes
to them after tree diff program returns to us.
However, the set of files to be copied back is computed
differently between --symlinks and --no-symlinks modes. The
former checks all paths that start out as identical to the
working tree file, while the latter checks paths that
already had a local modification in the working tree,
allowing changes made in the tree diff program to paths that
did not have any local change to be lost.
Signed-off-by: Kenichi Saita <nitoyon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Wed, 29 May 2013 19:21:49 +0000 (00:51 +0530)]
push: factor out the detached HEAD error message
With push.default set to upstream or simple, and a detached HEAD, git
push prints the following error:
$ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push ram HEAD:<name-of-remote-branch>
This error is not unique to upstream or simple: current cannot push with
a detached HEAD either. So, factor out the error string in preparation
for using it in current.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Wed, 29 May 2013 06:21:28 +0000 (01:21 -0500)]
prompt: fix for simple rebase
When we are rebasing without options ('am' mode), the head rebased lives
in '$g/rebase-apply/head-name', so lets use that information so it's
reported the same way as if we were doing other rebases (-i or -m).
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Phil Hord [Tue, 28 May 2013 19:36:44 +0000 (19:36 +0000)]
trivial: Add missing period in documentation
Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 25 May 2013 21:43:34 +0000 (23:43 +0200)]
commit: don't start editor if empty message is given with -m
If an empty message is specified with the option -m of git commit then
the editor is started. That's unexpected and unnecessary. Instead of
using the length of the message string for checking if the user
specified one, directly remember if the option -m was given.
Reported-by: Mislav Marohnić <mislav.marohnic@gmail.com>
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Clemens Buchacher [Mon, 27 May 2013 22:49:57 +0000 (00:49 +0200)]
fix segfault with git log -c --follow
In diff_tree_combined we make a copy of diffopts. In
try_to_follow_renames, called via diff_tree_sha1, we free and
re-initialize diffopts->pathspec->items. Since we did not make a deep
copy of diffopts in diff_tree_combined, the original diffopts does not
get the update. By the time we return from diff_tree_combined,
rev->diffopt->pathspec->items points to an invalid memory address. We
get a segfault next time we try to access that pathspec.
Instead, along with the copy of diffopts, make a copy pathspec->items as
well.
We would also have to make a copy of pathspec->raw to keep it consistent
with pathspec->items, but nobody seems to rely on that.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Sun, 26 May 2013 01:16:15 +0000 (08:16 +0700)]
fetch-pack: prepare updated shallow file before fetching the pack
index-pack --strict looks up and follows parent commits. If shallow
information is not ready by the time index-pack is run, index-pack may
be led to non-existent objects. Make fetch-pack save shallow file to
disk before invoking index-pack.
git learns new global option --shallow-file to pass on the alternate
shallow file path. Undocumented (and not even support --shallow-file=
syntax) because it's unlikely to be used again elsewhere.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 24 May 2013 18:34:46 +0000 (11:34 -0700)]
Git 1.8.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Fri, 24 May 2013 15:44:03 +0000 (22:44 +0700)]
urls.txt: avoid auto converting to hyperlink
file:///path/to/repo.git/ is converted to a hyperlink while others are
not. Put a backslash to avoid the conversion. Tested with asciidoc
8.6.5.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Thu, 23 May 2013 13:34:11 +0000 (15:34 +0200)]
Document push --no-verify
ec55559 (push: Add support for pre-push hooks, 2013-01-13) forgot to
add a note to git-push(1) about the new --no-verify option.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Wed, 22 May 2013 10:39:54 +0000 (16:09 +0530)]
sha1_name: fix error message for @{u}
Currently, when no (valid) upstream is configured for a branch, you get
an error like:
$ git show @{u}
error: No upstream configured for branch 'upstream-error'
error: No upstream configured for branch 'upstream-error'
fatal: ambiguous argument '@{u}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
The "error: " line actually appears twice, and the rest of the error
message is useless. In sha1_name.c:interpret_branch_name(), there is
really no point in processing further if @{u} couldn't be resolved, and
we might as well die() instead of returning an error(). After making
this change, you get:
$ git show @{u}
fatal: No upstream configured for branch 'upstream-error'
Also tweak a few tests in t1507 to expect this output.
This only turns error() that may be called after we know we are
dealing with an @{upstream} marker into die(), without touching
silent error returns "return -1" from the function. Any caller that
wants to handle an error condition itself will not be hurt by this
change, unless they want to see the message from error() and then
exit silently without giving its own message, which needs to be
fixed anyway.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Gummerer [Wed, 22 May 2013 07:40:39 +0000 (09:40 +0200)]
prompt: fix show upstream with svn and zsh
Currently the __git_ps1 git prompt gives the following error with a
repository converted by git-svn, when used with zsh:
__git_ps1_show_upstream:19: bad pattern: svn_remote[
__git_ps1_show_upstream:45: bad substitution
To reproduce the problem, the __git_ps1_show_upstream function can be
executed in a repository converted with git-svn. Both those errors are
triggered by spaces after the '['.
Zsh also doesn't support initializing an array with `local var=(...)`.
This triggers the following error:
__git_ps1_show_upstream:41: bad pattern: svn_upstream=(commit
Use
local -a
var=(...)
instead to make is compatible.
This was introduced by
6d158cba (bash completion: Support "divergence
from upstream" messages in __git_ps1), when the script was for bash
only.
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Acked-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 19 May 2013 10:23:36 +0000 (06:23 -0400)]
imap-send: eliminate HMAC deprecation warnings on Mac OS X
As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to
OpenSSL ABI instability. Silence the warnings by using Apple's
CommonCrypto HMAC replacement functions.
[es: reworded commit message; check APPLE_COMMON_CRYPTO instead of
abusing COMMON_DIGEST_FOR_OPENSSL]
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 21 May 2013 03:47:53 +0000 (22:47 -0500)]
remote-hg: fix order of configuration comments
The other configurations were added in the wrong place.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 21 May 2013 03:47:52 +0000 (22:47 -0500)]
remote-hg: trivial configuration note cleanup
Follow the style of the previous configurations.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 21 May 2013 00:33:03 +0000 (19:33 -0500)]
completion: regression fix for zsh
zsh completion wrapper doesn't reimplement __gitcompadd(). Although it
should be trivial to do that, let's use __gitcomp_nl() which achieves
exactly the same thing, specially since the suffix ($4) has to be empty.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dmitry Marakasov [Mon, 20 May 2013 20:24:34 +0000 (00:24 +0400)]
contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash
Use /bin/sh interpreter instead of /bin/bash for contrib/git-subtree:
it's required for systems which don't use bash by default (for example,
FreeBSD), while there seem to be no bashisms in the script (confirmed
by looking through the source and tesing subtree functionality with
FreeBSD's /bin/sh) to require specifically bash and not the generic
posix shell.
Signed-off-by: Dmitry Marakasov <amdmi3@amdmi3.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 20 May 2013 23:06:48 +0000 (16:06 -0700)]
Merge git://git.bogomips.org/git-svn
* git://git.bogomips.org/git-svn:
git-svn: introduce --parents parameter for commands branch and tag
git-svn: clarify explanation of --destination argument
git-svn: multiple fetch/branches/tags keys are supported
Junio C Hamano [Mon, 20 May 2013 05:01:20 +0000 (22:01 -0700)]
Documentation/diff-index: mention two modes of operation
"diff-index" can be used to compare a tree with the tracked working
tree files (when used without the --index option), or with the index
(when used with the --index option).
The text however did not say anything about the comparison with the
working tree at all. Fix this.
Reported-by: Albert Netymk <albertnetymk@gmail.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tobias Schulte [Wed, 15 May 2013 20:14:43 +0000 (22:14 +0200)]
git-svn: introduce --parents parameter for commands branch and tag
This parameter is equivalent to the parameter --parents on svn cp commands
and is useful for non-standard repository layouts.
Signed-off-by: Tobias Schulte <tobias.schulte@gliderpilot.de>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Jonathan Nieder [Tue, 20 Dec 2011 01:24:30 +0000 (19:24 -0600)]
git-svn: clarify explanation of --destination argument
The existing documentation for "-d" does not make it obvious whether
its argument is supposed to be a full svn path, a partial svn path,
the glob from the config file, or what. Clarify the text and add an
example to get the reader started.
Reported-by: Nathan Gray <n8gray@n8gray.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Nathan Gray [Tue, 20 Dec 2011 01:23:50 +0000 (19:23 -0600)]
git-svn: multiple fetch/branches/tags keys are supported
"git svn" can be configured to use multiple fetch, branches, and tags
refspecs by passing multiple --branches or --tags options at init time
or editing the configuration file later, which can be handy when
working with messy Subversion repositories. Add a note to the
configuration section documenting how this works.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>