Junio C Hamano [Sat, 12 Jan 2013 00:48:03 +0000 (16:48 -0800)]
Merge branch 'jn/less-reconfigure' into maint
When autoconf is used, any build on a different commit always ran
"config.status --recheck" even when unnecessary.
* jn/less-reconfigure:
build: do not automatically reconfigure unless configure.ac changed
Junio C Hamano [Sat, 12 Jan 2013 00:47:56 +0000 (16:47 -0800)]
Merge branch 'kb/maint-bundle-doc' into maint
* kb/maint-bundle-doc:
Documentation: full-ness of a bundle is significant for cloning
Documentation: correct example restore from bundle
Junio C Hamano [Sat, 12 Jan 2013 00:47:34 +0000 (16:47 -0800)]
Merge branch 'as/test-name-alias-uniquely' into maint
* as/test-name-alias-uniquely:
Use longer alias names in subdirectory tests
Junio C Hamano [Sat, 12 Jan 2013 00:47:07 +0000 (16:47 -0800)]
Merge branch 'jn/warn-on-inaccessible-loosen' into maint
When attempting to read the XDG-style $HOME/.config/git/config and
finding that $HOME/.config/git is a file, we gave a wrong error
message, instead of treating the case as "a custom config file does
not exist there" and moving on.
* jn/warn-on-inaccessible-loosen:
config: exit on error accessing any config file
doc: advertise GIT_CONFIG_NOSYSTEM
config: treat user and xdg config permission problems as errors
config, gitignore: failure to access with ENOTDIR is ok
Junio C Hamano [Sat, 12 Jan 2013 00:46:46 +0000 (16:46 -0800)]
Merge branch 'ja/directory-attrs' into maint
The attribute mechanism didn't allow limiting attributes to be
applied to only a single directory itself with "path/" like the
exclude mechanism does.
* ja/directory-attrs:
Add directory pattern matching to attributes
Junio C Hamano [Sat, 12 Jan 2013 00:45:44 +0000 (16:45 -0800)]
Merge branch 'jc/fetch-ignore-symref' into maint
"git fetch --mirror" and fetch that uses other forms of refspec with
wildcard used to attempt to update a symbolic ref that match the
wildcard on the receiving end, which made little sense (the real ref
that is pointed at by the symbolic ref would be updated anyway).
Symbolic refs no longer are affected by such a fetch.
* jc/fetch-ignore-symref:
fetch: ignore wildcarded refspecs that update local symbolic refs
Junio C Hamano [Sat, 12 Jan 2013 00:45:06 +0000 (16:45 -0800)]
Merge branch 'ss/svn-prompt' into maint
The way "git svn" asked for password using SSH_ASKPASS and
GIT_ASKPASS was not in line with the rest of the system.
* ss/svn-prompt:
git-svn, perl/Git.pm: extend and use Git->prompt method for querying users
perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set
git-svn, perl/Git.pm: add central method for prompting passwords
Junio C Hamano [Thu, 10 Jan 2013 22:17:13 +0000 (14:17 -0800)]
Prepare for 1.8.1.1
Christian Couder [Tue, 18 Dec 2012 15:26:38 +0000 (16:26 +0100)]
Makefile: detect when PYTHON_PATH changes
When make is run, the python scripts are created from *.py files that
are changed to use the python given by PYTHON_PATH. And PYTHON_PATH
is set by default to /usr/bin/python on Linux.
However, next time make is run with a different value in PYTHON_PATH,
we failed to regenerate these scripts.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 10 Jan 2013 22:11:18 +0000 (14:11 -0800)]
Merge branch 'ta/remove-stale-translated-tut' into maint
* ta/remove-stale-translated-tut:
Remove Documentation/pt_BR/gittutorial.txt
Junio C Hamano [Thu, 10 Jan 2013 22:10:40 +0000 (14:10 -0800)]
Merge branch 'tb/test-t9810-no-sed-i' into maint
* tb/test-t9810-no-sed-i:
t9810: Do not use sed -i
Junio C Hamano [Thu, 10 Jan 2013 22:10:36 +0000 (14:10 -0800)]
Merge branch 'tb/test-t9020-no-which' into maint
* tb/test-t9020-no-which:
t9020: which is not portable
Junio C Hamano [Thu, 10 Jan 2013 22:04:26 +0000 (14:04 -0800)]
Merge branch 'mh/pthreads-autoconf' into maint
* mh/pthreads-autoconf:
configure.ac: fix pthreads detection on Mac OS X
Junio C Hamano [Thu, 10 Jan 2013 22:04:24 +0000 (14:04 -0800)]
Merge branch 'jc/same-encoding' into maint
* jc/same-encoding:
format_commit_message(): simplify calls to logmsg_reencode()
Junio C Hamano [Thu, 10 Jan 2013 22:04:22 +0000 (14:04 -0800)]
Merge branch 'sp/shortlog-missing-lf' into maint
* sp/shortlog-missing-lf:
strbuf_add_wrapped*(): Remove unused return value
shortlog: fix wrapping lines of wraplen
Junio C Hamano [Thu, 10 Jan 2013 22:04:21 +0000 (14:04 -0800)]
Merge branch 'md/gitweb-sort-by-age' into maint
* md/gitweb-sort-by-age:
gitweb: Sort projects with undefined ages last
Junio C Hamano [Thu, 10 Jan 2013 22:04:19 +0000 (14:04 -0800)]
Merge branch 'nd/invalidate-i-t-a-cache-tree' into maint
* nd/invalidate-i-t-a-cache-tree:
cache-tree: invalidate i-t-a paths after generating trees
cache-tree: fix writing cache-tree when CE_REMOVE is present
cache-tree: replace "for" loops in update_one with "while" loops
cache-tree: remove dead i-t-a code in verify_cache()
Junio C Hamano [Thu, 10 Jan 2013 22:04:17 +0000 (14:04 -0800)]
Merge branch 'jk/repack-ref-racefix' into maint
* jk/repack-ref-racefix:
refs: do not use cached refs in repack_without_ref
Junio C Hamano [Thu, 10 Jan 2013 22:03:54 +0000 (14:03 -0800)]
Merge branch 'rb/http-cert-cred-no-username-prompt' into maint
* rb/http-cert-cred-no-username-prompt:
http.c: Avoid username prompt for certifcate credentials
René Scharfe [Tue, 8 Jan 2013 20:23:01 +0000 (21:23 +0100)]
t1402: work around shell quoting issue on NetBSD
The test fails for me on NetBSD 6.0.1 and reports:
ok 1 - ref name '' is invalid
ok 2 - ref name '/' is invalid
ok 3 - ref name '/' is invalid with options --allow-onelevel
ok 4 - ref name '/' is invalid with options --normalize
error: bug in the test script: not 2 or 3 parameters to test-expect-success
The alleged bug is in this line:
invalid_ref NOT_MINGW '/' '--allow-onelevel --normalize'
invalid_ref() constructs a test case description using its last argument,
but the shell seems to split it up into two pieces if it contains a
space. Minimal test case:
# on NetBSD with /bin/sh
$ a() { echo $#-$1-$2; }
$ t="x"; a "${t:+$t}"
1-x-
$ t="x y"; a "${t:+$t}"
2-x-y
$ t="x y"; a "${t:+x y}"
1-x y-
# and with bash
$ t="x y"; a "${t:+$t}"
1-x y-
$ t="x y"; a "${t:+x y}"
1-x y-
This may be a bug in the shell, but here's a simple workaround: Construct
the description string first and store it in a variable, and then use
that to call test_expect_success().
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 8 Jan 2013 19:17:10 +0000 (11:17 -0800)]
Merge branch 'ms/subtree-fixlets' into maint
* ms/subtree-fixlets:
git-subtree: fix typo in manpage
git-subtree: ignore git-subtree executable
Junio C Hamano [Tue, 8 Jan 2013 19:17:07 +0000 (11:17 -0800)]
Merge branch 'ss/nedmalloc-compilation' into maint
* ss/nedmalloc-compilation:
nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2
Junio C Hamano [Tue, 8 Jan 2013 19:17:05 +0000 (11:17 -0800)]
Merge branch 'jc/maint-fnmatch-old-style-definition' into maint
* jc/maint-fnmatch-old-style-definition:
compat/fnmatch: update old-style definition to ANSI
Junio C Hamano [Tue, 8 Jan 2013 19:17:03 +0000 (11:17 -0800)]
Merge branch 'jc/test-portability' into maint
* jc/test-portability:
t9020: use configured Python to run the test helper
t3600: Avoid "cp -a", which is a GNUism
Junio C Hamano [Tue, 8 Jan 2013 19:17:01 +0000 (11:17 -0800)]
Merge branch 'jc/maint-fbsd-sh-ifs-workaround' into maint
* jc/maint-fbsd-sh-ifs-workaround:
sh-setup: work around "unset IFS" bug in some shells
Junio C Hamano [Tue, 8 Jan 2013 19:16:58 +0000 (11:16 -0800)]
Merge branch 'jc/mkstemp-more-careful-error-reporting' into maint
* jc/mkstemp-more-careful-error-reporting:
xmkstemp(): avoid showing truncated template more carefully
Junio C Hamano [Tue, 8 Jan 2013 19:16:56 +0000 (11:16 -0800)]
Merge branch 'jc/test-cvs-no-init-in-existing-dir' into maint
* jc/test-cvs-no-init-in-existing-dir:
t9200: let "cvs init" create the test repository
Junio C Hamano [Tue, 8 Jan 2013 19:16:52 +0000 (11:16 -0800)]
Merge branch 'jc/maint-test-portability' into maint
* jc/maint-test-portability:
t4014: fix arguments to grep
t9502: do not assume GNU tar
t0200: "locale" may not exist
W. Trevor King [Tue, 8 Jan 2013 15:47:37 +0000 (10:47 -0500)]
remote-hg: Fix biridectionality -> bidirectionality typos
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Wed, 2 Jan 2013 08:25:44 +0000 (00:25 -0800)]
build: do not automatically reconfigure unless configure.ac changed
Starting with v1.7.12-rc0~4^2 (build: reconfigure automatically if
configure.ac changes, 2012-07-19), "config.status --recheck" is
automatically run every time the "configure" script changes. In
particular, that means the configuration procedure repeats whenever
the version number changes (since the configure script changes to
support "./configure --version" and "./configure --help"), making
bisecting painfully slow.
The intent was to make the reconfiguration process only trigger for
changes to configure.ac's logic. Tweak the Makefile rule to match
that intent by depending on configure.ac instead of configure.
Reported-by: Martin von Zweigbergk <martinvonz@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Reviewed-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Torsten Bögershausen [Tue, 1 Jan 2013 21:42:03 +0000 (22:42 +0100)]
t9020: which is not portable
Use type instead
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Torsten Bögershausen [Tue, 1 Jan 2013 21:40:37 +0000 (22:40 +0100)]
t9810: Do not use sed -i
sed -i is not portable on all systems. Use sed with different input
and output files. Utilize a tmp file whenever needed.
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 1 Jan 2013 20:46:15 +0000 (12:46 -0800)]
Documentation: full-ness of a bundle is significant for cloning
Not necessarily every bundle file can be cloned from. Only the ones
that do not need prerequisites can.
When
1d52b02 (Documentation: minor grammatical fixes and rewording
in git-bundle.txt, 2009-03-22) reworded this paragraph, it lost a
critical hint to tell readers why this particular bundle can be
cloned from. Resurrect it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kirill Brilliantov [Tue, 1 Jan 2013 13:54:44 +0000 (17:54 +0400)]
Documentation: correct example restore from bundle
Because the bundle created in the example does not record HEAD, "git
clone" will not check out the files to the working tree:
$ git clone pr.bundle q/
Cloning into 'q'...
Receiving objects: 100% (619/619), 13.52 MiB | 18.74 MiB/s, done.
Resolving deltas: 100% (413/413), done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.
Avoid alarming the readers by adding "-b master" to the example. A
better fix may be to arrange the bundle created in the earlier step
to record HEAD, so that it can be cloned without this workaround.
Signed-off-by: Brilliantov Kirill Vladimirovich <brilliantov@inbox.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 31 Dec 2012 22:24:22 +0000 (14:24 -0800)]
Git 1.8.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Aaron Schrab [Fri, 28 Dec 2012 23:03:06 +0000 (18:03 -0500)]
Use longer alias names in subdirectory tests
When testing aliases in t/t1020-subdirectory.sh use longer names so that
they're less likely to conflict with a git-* command somewhere in the
$PATH.
I have a git-ss command in my path which prevents the 'ss' alias from
being used. This command will always fail for git.git, causing the test
to fail. Even if the command succeeded, that would be a false success
for the test since the alias wasn't actually used. A longer, more
descriptive name will make it much less likely that somebody has a
command in their $PATH which will shadow the alias created for the test.
While here, use a longer name for the 'test' alias as well since that is
also short and meaningful enough to make it not unlikely that somebody
would have a command in their $PATH which will shadow that as well.
Signed-off-by: Aaron Schrab <aaron@schrab.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 28 Dec 2012 00:00:07 +0000 (16:00 -0800)]
Merge branch 'so/prompt-command'
Finishing touches...
* so/prompt-command:
make __git_ps1 accept a third parameter in pcmode
Junio C Hamano [Thu, 27 Dec 2012 23:59:42 +0000 (15:59 -0800)]
Sync with 1.8.0.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 Dec 2012 23:57:20 +0000 (15:57 -0800)]
Git 1.8.0.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 12 Dec 2012 18:06:24 +0000 (10:06 -0800)]
git(1): show link to contributor summary page
We earlier removed a link to list of contributors that pointed to a
defunct page; let's use a working one from Ohloh.net to replace it
instead.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 Dec 2012 23:38:34 +0000 (15:38 -0800)]
Merge branch 'sl/maint-git-svn-docs' into maint
* sl/maint-git-svn-docs:
git-svn: Note about tags.
git-svn: Expand documentation for --follow-parent
git-svn: Recommend use of structure options.
git-svn: Document branches with at-sign(@).
Sebastian Leske [Fri, 23 Nov 2012 07:29:38 +0000 (08:29 +0100)]
git-svn: Note about tags.
Document that 'git svn' will import SVN tags as branches.
Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Leske [Fri, 30 Nov 2012 07:16:30 +0000 (08:16 +0100)]
git-svn: Expand documentation for --follow-parent
Describe what the option --follow-parent does, and what happens if it is
set or unset.
Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Leske [Fri, 30 Nov 2012 07:16:30 +0000 (08:16 +0100)]
git-svn: Recommend use of structure options.
Document that when using git svn, one should usually either use the
directory structure options to import branches as branches, or only
import one subdirectory. The default behaviour of cloning all branches
and tags as subdirectories in the working copy is usually not what the
user wants.
Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Leske [Fri, 30 Nov 2012 07:16:30 +0000 (08:16 +0100)]
git-svn: Document branches with at-sign(@).
git svn sometimes creates branches with an at-sign in the name
(branchname@revision). These branches confuse many users and it is a FAQ
why they are created. Document when git svn creates them.
Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 Dec 2012 23:34:37 +0000 (15:34 -0800)]
Merge branch 'gb/maint-doc-svn-log-window-size' into maint
* branch 'gb/maint-doc-svn-log-window-size':
Document git-svn fetch --log-window-size parameter
Junio C Hamano [Thu, 27 Dec 2012 23:32:27 +0000 (15:32 -0800)]
Merge branch 'km/maint-doc-git-reset' into maint
* branch 'km/maint-doc-git-reset':
doc: git-reset: make "<mode>" optional
Max Horn [Tue, 27 Nov 2012 23:03:21 +0000 (00:03 +0100)]
git-remote-helpers.txt: document invocation before input format
In the distant past, the order things were documented was
'Invocation', 'Commands', 'Capabilities', ...
Then it was decided that before giving a list of Commands, there
should be an overall description of the 'Input format', which was
a wise decision. However, this description was put as the very
first thing, with the rationale that any implementor would want
to know that first.
However, it seems an implementor would actually first need to
know how the remote helper will be invoked, so moving
'Invocation' to the front again seems logical. Moreover, we now
don't switch from discussing the input format to the invocation
style and then back to input related stuff.
Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 Dec 2012 23:27:46 +0000 (15:27 -0800)]
Merge branch 'jk/avoid-mailto-invalid-in-doc' into maint
* jk/avoid-mailto-invalid-in-doc:
Documentation: don't link to example mail addresses
Junio C Hamano [Thu, 27 Dec 2012 23:24:51 +0000 (15:24 -0800)]
Merge branch 'tj/maint-doc-commit-sign' into maint
* branch 'tj/maint-doc-commit-sign':
Add -S, --gpg-sign option to manpage of "git commit"
Ramkumar Ramachandra [Tue, 13 Nov 2012 15:42:44 +0000 (21:12 +0530)]
Documentation: move diff.wordRegex from config.txt to diff-config.txt
19299a8 (Documentation: Move diff.<driver>.* from config.txt to
diff-config.txt, 2011-04-07) moved the diff configuration options to
diff-config.txt, but forgot about diff.wordRegex, which was left
behind in config.txt. Fix this.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Ackermann [Thu, 27 Dec 2012 14:15:52 +0000 (15:15 +0100)]
Remove Documentation/pt_BR/gittutorial.txt
This file is rather outdated and IMHO shouldn't be there in the first place.
(If there are translations of the Git documentation they are better be kept
separate from the original documentation.)
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Simon Oosthoek [Wed, 26 Dec 2012 19:15:05 +0000 (20:15 +0100)]
make __git_ps1 accept a third parameter in pcmode
The optional third parameter when __git_ps1 is used in
PROMPT_COMMAND mode as format string for printf to further
customize the way the git status string is embedded in the
user's PS1 prompt.
Signed-off-by: Simon Oosthoek <s.oosthoek@xs4all.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 25 Dec 2012 01:09:49 +0000 (17:09 -0800)]
t9200: let "cvs init" create the test repository
Some platforms (e.g. NetBSD 6.0) seem to configure their CVS to
allow "cvs init" in an existing directory only to members of
"cvsadmin".
Instead of preparing an empty directory and then running "cvs init"
on it, let's run "cvs init" and let it create the necessary
directory.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 23 Dec 2012 04:40:07 +0000 (20:40 -0800)]
Merge branch 'maint'
Junio C Hamano [Sun, 23 Dec 2012 04:38:07 +0000 (20:38 -0800)]
Merge branch 'jc/doc-diff-blobs' into maint
* jc/doc-diff-blobs:
Documentation: Describe "git diff <blob> <blob>" separately
Junio C Hamano [Sun, 23 Dec 2012 04:38:02 +0000 (20:38 -0800)]
Merge branch 'cr/doc-checkout-branch' into maint
* cr/doc-checkout-branch:
Documentation/git-checkout.txt: document
70c9ac2 behavior
Documentation/git-checkout.txt: clarify usage
Junio C Hamano [Sun, 23 Dec 2012 04:37:42 +0000 (20:37 -0800)]
Merge branch 'ta/api-index-doc' into maint
* ta/api-index-doc:
Remove misleading date from api-index-skel.txt
Junio C Hamano [Sun, 23 Dec 2012 04:37:33 +0000 (20:37 -0800)]
Merge branch 'as/doc-for-devs' into maint
* as/doc-for-devs:
Documentation: move support for old compilers to CodingGuidelines
SubmittingPatches: add convention of prefixing commit messages
Junio C Hamano [Sun, 23 Dec 2012 04:37:27 +0000 (20:37 -0800)]
Merge branch 'sl/readme-gplv2' into maint
* sl/readme-gplv2:
README: it does not matter who the current maintainer is
README: Git is released under the GPLv2, not just "the GPL"
Junio C Hamano [Sun, 23 Dec 2012 04:37:22 +0000 (20:37 -0800)]
Merge branch 'jc/fetch-tags-doc' into maint
* jc/fetch-tags-doc:
fetch --tags: clarify documentation
Junio C Hamano [Sun, 23 Dec 2012 04:37:09 +0000 (20:37 -0800)]
Merge branch 'nd/index-format-doc' into maint
* nd/index-format-doc:
index-format.txt: clarify what is "invalid"
Junio C Hamano [Sun, 23 Dec 2012 04:36:42 +0000 (20:36 -0800)]
Merge branch 'jk/mailmap-cleanup' into maint
* jk/mailmap-cleanup:
contrib: update stats/mailmap script
.mailmap: normalize emails for Linus Torvalds
.mailmap: normalize emails for Jeff King
.mailmap: fix broken entry for Martin Langhoff
.mailmap: match up some obvious names/emails
Junio C Hamano [Sun, 23 Dec 2012 04:35:34 +0000 (20:35 -0800)]
Merge branch 'ta/doc-cleanup' into maint
* ta/doc-cleanup:
Documentation: build html for all files in technical and howto
Documentation/howto: convert plain text files to asciidoc
Documentation/technical: convert plain text files to asciidoc
Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt
Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1
Split over-long synopsis in git-fetch-pack.txt into several lines
Thomas Ackermann [Sat, 22 Dec 2012 18:34:27 +0000 (19:34 +0100)]
Sort howto documents in howto-index.txt
Howto documents in howto-index.txt were listed in a rather
random order. So better sort them.
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Schubert [Sat, 22 Dec 2012 14:46:02 +0000 (15:46 +0100)]
git-subtree: fix typo in manpage
Signed-off-by: Michael Schubert <mschub@elegosoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Schubert [Sat, 22 Dec 2012 14:45:40 +0000 (15:45 +0100)]
git-subtree: ignore git-subtree executable
Signed-off-by: Michael Schubert <mschub@elegosoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 22 Dec 2012 19:48:47 +0000 (11:48 -0800)]
Git 1.8.1-rc3
The changes since -rc2 are mostly documentation updates.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 21 Dec 2012 23:19:25 +0000 (15:19 -0800)]
Merge branch 'ta/new-command-howto'
* ta/new-command-howto:
Move ./technical/api-command.txt to ./howto/new-command.txt
Junio C Hamano [Fri, 21 Dec 2012 23:19:13 +0000 (15:19 -0800)]
Merge branch 'jc/doc-diff-blobs'
"git diff <blob> <blob>" was not documented and was only hinted as
an extension to "git diff <commit> <commit> -- <pathspec>", but
comparison between two blobs are more special than that. It does
not take any pathspec to begin with.
* jc/doc-diff-blobs:
Documentation: Describe "git diff <blob> <blob>" separately
Junio C Hamano [Fri, 21 Dec 2012 23:19:08 +0000 (15:19 -0800)]
Merge branch 'cr/doc-checkout-branch'
Document the magic "git checkout <no-such-branch>" hack to create
local branch out of a remote tracking branch that hasn't been
documented so far.
* cr/doc-checkout-branch:
Documentation/git-checkout.txt: document
70c9ac2 behavior
Documentation/git-checkout.txt: clarify usage
Junio C Hamano [Fri, 21 Dec 2012 23:19:04 +0000 (15:19 -0800)]
Merge branch 'ta/api-index-doc'
* ta/api-index-doc:
Remove misleading date from api-index-skel.txt
Junio C Hamano [Fri, 21 Dec 2012 23:18:57 +0000 (15:18 -0800)]
Merge branch 'jk/avoid-mailto-invalid-in-doc'
Avoids invalid sample e-mail addresses from becoming mailto links
in the formatted output.
* jk/avoid-mailto-invalid-in-doc:
Documentation: don't link to example mail addresses
Junio C Hamano [Fri, 21 Dec 2012 23:18:47 +0000 (15:18 -0800)]
Merge branch 'as/doc-for-devs'
It might be a better idea to move the text the bottom one adds to
the extended description from the quick checklist part.
* as/doc-for-devs:
Documentation: move support for old compilers to CodingGuidelines
SubmittingPatches: add convention of prefixing commit messages
Junio C Hamano [Fri, 21 Dec 2012 23:18:41 +0000 (15:18 -0800)]
Merge branch 'sl/readme-gplv2'
Clarify that the project as a whole is GPLv2 only, with some parts
borrowed under different licenses that are compatible with GPLv2.
* sl/readme-gplv2:
README: it does not matter who the current maintainer is
README: Git is released under the GPLv2, not just "the GPL"
Junio C Hamano [Fri, 21 Dec 2012 23:18:35 +0000 (15:18 -0800)]
Merge branch 'jc/fetch-tags-doc'
"git fetch --tags" was explained as if it were "git fetch
--no-no-tags", which is not the case, causing confusion.
* jc/fetch-tags-doc:
fetch --tags: clarify documentation
Junio C Hamano [Fri, 21 Dec 2012 23:18:31 +0000 (15:18 -0800)]
Merge branch 'nd/index-format-doc'
* nd/index-format-doc:
index-format.txt: clarify what is "invalid"
Junio C Hamano [Fri, 21 Dec 2012 23:18:27 +0000 (15:18 -0800)]
Merge branch 'sl/git-svn-docs'
* sl/git-svn-docs:
git-svn: Note about tags.
git-svn: Expand documentation for --follow-parent
git-svn: Recommend use of structure options.
git-svn: Document branches with at-sign(@).
Junio C Hamano [Fri, 21 Dec 2012 23:18:20 +0000 (15:18 -0800)]
Merge branch 'jk/mailmap-cleanup'
Update various entries in our .mailmap file.
* jk/mailmap-cleanup:
contrib: update stats/mailmap script
.mailmap: normalize emails for Linus Torvalds
.mailmap: normalize emails for Jeff King
.mailmap: fix broken entry for Martin Langhoff
.mailmap: match up some obvious names/emails
Thomas Ackermann [Fri, 21 Dec 2012 18:05:28 +0000 (19:05 +0100)]
Move ./technical/api-command.txt to ./howto/new-command.txt
The contents of this document does not describe any particular API, but
is more about the way to add a new command, which belongs to the "How To"
section of the documentation suite.
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Rene Bredlau [Fri, 21 Dec 2012 16:31:19 +0000 (17:31 +0100)]
http.c: Avoid username prompt for certifcate credentials
If sslCertPasswordProtected is set to true do not ask for username to decrypt rsa key. This question is pointless, the key is only protected by a password. Internaly the username is simply set to "".
Signed-off-by: Rene Bredlau <git@unrelated.de>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 21 Dec 2012 08:04:49 +0000 (03:04 -0500)]
refs: do not use cached refs in repack_without_ref
When we delete a ref that is packed, we rewrite the whole
packed-refs file and simply omit the ref that no longer
exists. However, we base the rewrite on whatever happens to
be in our refs cache, not what is necessarily on disk. That
opens us up to a race condition if another process is
simultaneously packing the refs, as we will overwrite their
newly-made pack-refs file with our potentially stale data,
losing commits.
You can demonstrate the race like this:
# setup some repositories
git init --bare parent &&
(cd parent && git config core.logallrefupdates true) &&
git clone parent child &&
(cd child && git commit --allow-empty -m base)
# in one terminal, repack the refs repeatedly
cd parent &&
while true; do
git pack-refs --all
done
# in another terminal, simultaneously push updates to
# master, and create and delete an unrelated ref
cd child &&
while true; do
git push origin HEAD:newbranch &&
git commit --allow-empty -m foo
us=`git rev-parse master` &&
git push origin master &&
git push origin :newbranch &&
them=`git --git-dir=../parent rev-parse master` &&
if test "$them" != "$us"; then
echo >&2 "$them" != "$us"
exit 1
fi
done
In many cases the two processes will conflict over locking
the packed-refs file, and the deletion of newbranch will
simply fail. But eventually you will hit the race, which
happens like this:
1. We push a new commit to master. It is already packed
(from the looping pack-refs call). We write the new
value (let us call it B) to $GIT_DIR/refs/heads/master,
but the old value (call it A) remains in the
packed-refs file.
2. We push the deletion of newbranch, spawning a
receive-pack process. Receive-pack advertises all refs
to the client, causing it to iterate over each ref; it
caches the packed refs in memory, which points at the
stale value A.
3. Meanwhile, a separate pack-refs process is running. It
runs to completion, updating the packed-refs file to
point master at B, and deleting $GIT_DIR/refs/heads/master
which also pointed at B.
4. Back in the receive-pack process, we get the
instruction to delete :newbranch. We take a lock on
packed-refs (which works, as the other pack-refs
process has already finished). We then rewrite the
contents using the cached refs, which contain the stale
value A.
The resulting packed-refs file points master once again at
A. The loose ref which would override it to point at B was
deleted (rightfully) in step 3. As a result, master now
points at A. The only trace that B ever existed in the
parent is in the reflog: the final entry will show master
moving from A to B, even though the ref still points at A
(so you can detect this race after the fact, because the
next reflog entry will move from A to C).
We can fix this by invalidating the packed-refs cache after
we have taken the lock. This means that we will re-read the
packed-refs file, and since we have the lock, we will be
sure that what we read will be atomically up-to-date when we
write (it may be out of date with respect to loose refs, but
that is OK, as loose refs take precedence).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Ackermann [Wed, 19 Dec 2012 18:15:25 +0000 (19:15 +0100)]
Remove duplicate entry in ./Documentation/Makefile
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Dec 2012 16:54:25 +0000 (08:54 -0800)]
compat/fnmatch: update old-style definition to ANSI
We try to avoid touching borrowed code, but we encourage people to
write without old-style definition and compile with -Werror these
days, and on platforms that need to use NO_FNMATCH, these three
functions make the compilation fail.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Dec 2012 04:41:15 +0000 (20:41 -0800)]
t9020: use configured Python to run the test helper
The test helper svnrdump_sim.py is used as "svnrdump" during the
execution of this test, but the arrangement was not optimal:
- it relied on symbolic links;
- unportable "export VAR=VAL" was used;
- GIT_BUILD_DIR variable was not quoted correctly;
- it assumed that the Python interpreter is in /usr/bin/ and
called "python" (i.e. not "python2.7" etc.)
Rework this by writing a small shell script that spawns the right
Python interpreter, using the right quoting.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Dec 2012 02:47:50 +0000 (18:47 -0800)]
t3600: Avoid "cp -a", which is a GNUism
With
d4a7ffa (tests: "cp -a" is a GNUism, 2012-10-08), we got rid of
most of them, but the ones in a topic that was still in flight were
missed.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Dec 2012 15:46:05 +0000 (07:46 -0800)]
Merge branch 'jc/maint-test-portability' into 'jc/test-portability'
* jc/maint-test-portability:
t4014: fix arguments to grep
t9502: do not assume GNU tar
t0200: "locale" may not exist
Junio C Hamano [Wed, 19 Dec 2012 03:13:30 +0000 (19:13 -0800)]
t4014: fix arguments to grep
These "expect-failure" tests were not looking for the right string
in the patch file. For example:
grep "^ *"S. E. Cipient" <scipient@example.com>\$" patch5
was looking for "^ *S." in these three files:
"E."
"Cipient <scipient@example.com>$"
"patch5"
With some implementations of grep, the lack of file "E." was
reported as an error, leading to the failure of the test.
With other implementations of grep, the pattern "^ *S." matched what
was in patch5, without diagnosing the missing files as an error, and
made these tests unexpectedly pass.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Dec 2012 04:57:13 +0000 (20:57 -0800)]
t9502: do not assume GNU tar
The check_snapshot function makes sure that no cruft outside the
repository hierarchy is added to the tar archive. The output from
"tar tf" on the resulting archive is inspected to see if there is
anything that does not begin with "$prefix/".
There are two issues with this implementation:
- Traditional tar implemenations that do not understand
pax_global_header will write it out as if it is a plain file at
the top-level;
- Some implementations of tar do not add trailing slash when
showing a directory entry (i.e. the output line for the entire
archive will show "$prefix", not "$prefix/").
Fix them so that what we want to validate can be tested with
traditional tar implementations.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Dec 2012 06:44:56 +0000 (22:44 -0800)]
t0200: "locale" may not exist
On systems without "locale" installed, t0200-gettext-basic.sh leaked
error messages when checking if some test locales are available.
Hide them, as they are not very useful.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 18 Dec 2012 23:35:01 +0000 (15:35 -0800)]
Merge branch 'maint'
* maint:
t7004: do not create unneeded gpghome/gpg.conf when GPG is not used
Junio C Hamano [Tue, 18 Dec 2012 20:51:35 +0000 (12:51 -0800)]
xmkstemp(): avoid showing truncated template more carefully
Some implementations of xmkstemp() leaves the given in/out buffer
truncated when they return with failure.
6cf6bb3 (Improve error messages when temporary file creation fails,
2010-12-18) attempted to show the real filename we tried to create
(but failed), and if that is not available due to such truncation,
to show the original template that was given by the caller.
But it failed to take into account that the given template could
have "directory/" in front, in which case the truncation point may
not be template[0] but somewhere else.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 18 Dec 2012 19:35:28 +0000 (11:35 -0800)]
Documentation: Describe "git diff <blob> <blob>" separately
As it was not a common operation, it was described as if it is a
side note for the more common two-commit variant, but this mode
behaves very differently, e.g. it does not make any sense to ask
recursive behaviour, or give the command a pathspec.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 18 Dec 2012 19:26:24 +0000 (11:26 -0800)]
t7004: do not create unneeded gpghome/gpg.conf when GPG is not used
These tests themselves are properly protected by the GPG
prerequisite, but one of the set-up steps outside the
test_expect_success block unconditionally assumed that there is a
gpghome/ directory, which is not true if GPG is not being used.
It may be a good idea to move the whole set-up steps in the test but
that is a follow-up topic.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Chris Rorvick [Mon, 17 Dec 2012 06:45:02 +0000 (00:45 -0600)]
Documentation/git-checkout.txt: document
70c9ac2 behavior
Document the behavior implemented in
70c9ac2 (DWIM "git checkout
frotz" to "git checkout -b frotz origin/frotz").
Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Chris Rorvick [Mon, 17 Dec 2012 06:45:01 +0000 (00:45 -0600)]
Documentation/git-checkout.txt: clarify usage
The forms of checkout that do not take a path are lumped together in
the DESCRIPTION section, but the description for this group is
dominated by explanation of the -b|-B form.
Split these apart for more clarity.
Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 18 Dec 2012 18:51:22 +0000 (10:51 -0800)]
Sync with 'maint'
Junio C Hamano [Tue, 18 Dec 2012 18:50:07 +0000 (10:50 -0800)]
Merge branch 'jk/pickaxe-textconv' into maint
"git log -p -S<string>" now looks for the <string> after applying
the textconv filter (if defined); earlier it inspected the contents
of the blobs without filtering.
Sitaram Chamarty [Tue, 18 Dec 2012 10:47:09 +0000 (16:17 +0530)]
clarify -M without % symbol in diff-options
Signed-off-by: Sitaram Chamarty <sitaramc@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jean-Noël AVILA [Sat, 8 Dec 2012 20:04:39 +0000 (21:04 +0100)]
Add directory pattern matching to attributes
The manpage of gitattributes says: "The rules how the pattern
matches paths are the same as in .gitignore files" and the gitignore
pattern matching has a pattern ending with / for directory matching.
This rule is specifically relevant for the 'export-ignore' rule used
for git archive.
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>