gitweb.git
hooks/post-receive-email: use plumbing instead of git... Jonathan Nieder Fri, 2 Aug 2013 23:22:08 +0000 (16:22 -0700)

hooks/post-receive-email: use plumbing instead of git log/show

This way the hook doesn't have to keep being tweaked as porcelain
learns new features like color and pagination.

While at it, replace the "git rev-list | git shortlog" idiom with
plain "git shortlog" for simplicity.

Except for depending less on the value of settings like '[log]
abbrevCommit', no change in output intended.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rj/cygwin-clarify-use-of-cheating-lstat'Junio C Hamano Fri, 2 Aug 2013 18:01:00 +0000 (11:01 -0700)

Merge branch 'rj/cygwin-clarify-use-of-cheating-lstat'

Cygwin port added a "not quite correct but a lot faster and good
enough for many lstat() calls that are only used to see if the
working tree entity matches the index entry" lstat() emulation some
time ago, and it started biting us in places. This removes it and
uses the standard lstat() that comes with Cygwin.

Recent topic that uses lstat on packed-refs file is broken when
this cheating lstat is used, and this is a simplest fix that is
also the cleanest direction to go in the long run.

* rj/cygwin-clarify-use-of-cheating-lstat:
cygwin: Remove the Win32 l/stat() implementation

Merge branch 'jk/cat-file-batch-optim'Junio C Hamano Fri, 2 Aug 2013 16:32:48 +0000 (09:32 -0700)

Merge branch 'jk/cat-file-batch-optim'

* jk/cat-file-batch-optim:
Revert "cat-file: split --batch input lines on whitespace"

Revert "cat-file: split --batch input lines on whitespace"Junio C Hamano Fri, 2 Aug 2013 16:29:30 +0000 (09:29 -0700)

Revert "cat-file: split --batch input lines on whitespace"

This reverts commit c334b87b30c1464a1ab563fe1fb8de5eaf0e5bac; the
update assumed that people only used the command to read from
"rev-list --objects" output, whose lines begin with a 40-hex object
name followed by a whitespace, but it turns out that scripts feed
random extended SHA-1 expressions (e.g. "HEAD:$pathname") in which
a whitespace has to be kept.

Git 1.8.4-rc1 v1.8.4-rc1Junio C Hamano Thu, 1 Aug 2013 19:01:53 +0000 (12:01 -0700)

Git 1.8.4-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ob/typofixes'Junio C Hamano Thu, 1 Aug 2013 18:58:32 +0000 (11:58 -0700)

Merge branch 'ob/typofixes'

* ob/typofixes:
many small typofixes

Merge branch 'ms/subtree-install-fix'Junio C Hamano Thu, 1 Aug 2013 18:57:25 +0000 (11:57 -0700)

Merge branch 'ms/subtree-install-fix'

* ms/subtree-install-fix:
contrib/subtree: Fix make install target

Merge branch 'jc/rm-submodule-error-message'Junio C Hamano Thu, 1 Aug 2013 18:57:25 +0000 (11:57 -0700)

Merge branch 'jc/rm-submodule-error-message'

Consolidate two messages phrased subtly differently without a good
reason.

* jc/rm-submodule-error-message:
builtin/rm.c: consolidate error reporting for removing submodules

Merge branch 'lf/echo-n-is-not-portable'Junio C Hamano Thu, 1 Aug 2013 18:52:43 +0000 (11:52 -0700)

Merge branch 'lf/echo-n-is-not-portable'

* lf/echo-n-is-not-portable:
Avoid using `echo -n` anywhere

Merge branch 'ma/hg-to-git'Junio C Hamano Thu, 1 Aug 2013 18:52:40 +0000 (11:52 -0700)

Merge branch 'ma/hg-to-git'

* ma/hg-to-git:
hg-to-git: --allow-empty-message in git commit

Merge branch 'jx/clean-interactive'Junio C Hamano Thu, 1 Aug 2013 18:52:37 +0000 (11:52 -0700)

Merge branch 'jx/clean-interactive'

* jx/clean-interactive:
git-clean: implement partial matching for selection
Documentation/git-clean: fix description for range

Rename advice.object_name_warning to objectNameWarningThomas Rast Wed, 31 Jul 2013 20:23:31 +0000 (22:23 +0200)

Rename advice.object_name_warning to objectNameWarning

We spell config variables in camelCase instead of with_underscores.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rr/rebase-autostash'Junio C Hamano Wed, 31 Jul 2013 19:38:29 +0000 (12:38 -0700)

Merge branch 'rr/rebase-autostash'

* rr/rebase-autostash:
git-rebase: fix typo

Merge branch 'rj/commit-slab-fix'Junio C Hamano Wed, 31 Jul 2013 19:38:27 +0000 (12:38 -0700)

Merge branch 'rj/commit-slab-fix'

* rj/commit-slab-fix:
commit-slab.h: Fix memory allocation and addressing

Merge branch 'jk/commit-how-to-abort-cherry-pick'Junio C Hamano Wed, 31 Jul 2013 19:38:23 +0000 (12:38 -0700)

Merge branch 'jk/commit-how-to-abort-cherry-pick'

* jk/commit-how-to-abort-cherry-pick:
commit: tweak empty cherry pick advice for sequencer

Merge branch 'ds/doc-two-kinds-of-tags'Junio C Hamano Wed, 31 Jul 2013 19:38:21 +0000 (12:38 -0700)

Merge branch 'ds/doc-two-kinds-of-tags'

* ds/doc-two-kinds-of-tags:
docs/git-tag: explain lightweight versus annotated tags

Merge branch 'rr/maint-tilde-markup-in-doc'Junio C Hamano Wed, 31 Jul 2013 19:38:15 +0000 (12:38 -0700)

Merge branch 'rr/maint-tilde-markup-in-doc'

* rr/maint-tilde-markup-in-doc:
config doc: quote paths, fixing tilde-interpretation

Merge branch 'mh/packed-refs-do-one-ref-recursion'Junio C Hamano Wed, 31 Jul 2013 19:38:11 +0000 (12:38 -0700)

Merge branch 'mh/packed-refs-do-one-ref-recursion'

Fix a NULL-pointer dereference during nested iterations over
references (for example, when replace references are being used).

* mh/packed-refs-do-one-ref-recursion:
do_one_ref(): save and restore value of current_ref

Merge branch 'jk/capabilities-doc'Junio C Hamano Tue, 30 Jul 2013 16:16:42 +0000 (09:16 -0700)

Merge branch 'jk/capabilities-doc'

* jk/capabilities-doc:
document 'allow-tip-sha1-in-want' capability
document 'quiet' receive-pack capability
document 'agent' protocol capability
docs: note that receive-pack knows side-band-64k capability
docs: fix 'report-status' protocol capability thinko

Merge branch 'sb/mailmap-updates'Junio C Hamano Tue, 30 Jul 2013 16:16:39 +0000 (09:16 -0700)

Merge branch 'sb/mailmap-updates'

* sb/mailmap-updates:
.mailmap: combine more (email, name) to individual persons

Merge branch 'bc/completion-for-bash-3.0'Junio C Hamano Tue, 30 Jul 2013 16:16:36 +0000 (09:16 -0700)

Merge branch 'bc/completion-for-bash-3.0'

* bc/completion-for-bash-3.0:
git-completion.bash: replace zsh notation that breaks bash 3.X

contrib/subtree: Fix make install targetMichal Sojka Tue, 30 Jul 2013 08:16:09 +0000 (10:16 +0200)

contrib/subtree: Fix make install target

If the libexec directory doesn't exist, git-subtree gets installed as
$prefix/share/libexec/git-core file. This patch creates the directory
before installing git-subtree file into it.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

many small typofixesOndřej Bílka Mon, 29 Jul 2013 08:18:21 +0000 (10:18 +0200)

many small typofixes

Signed-off-by: Ondřej Bílka <neleai@seznam.cz>
Reviewed-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-rebase: fix typoRalf Thielow Mon, 29 Jul 2013 04:24:43 +0000 (06:24 +0200)

git-rebase: fix typo

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Avoid using `echo -n` anywhereLukas Fleischer Sat, 27 Jul 2013 12:11:33 +0000 (14:11 +0200)

Avoid using `echo -n` anywhere

`echo -n` is non-portable. The POSIX specification says:

Conforming applications that wish to do prompting without <newline>
characters or that could possibly be expecting to echo a -n, should
use the printf utility derived from the Ninth Edition system.

Since all of the affected shell scripts use a POSIX shell shebang,
replace `echo -n` invocations with printf.

Signed-off-by: Lukas Fleischer <git@cryptocrack.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit-slab.h: Fix memory allocation and addressingRamsay Jones Sat, 27 Jul 2013 19:00:07 +0000 (20:00 +0100)

commit-slab.h: Fix memory allocation and addressing

The slab initialization code includes the calculation of the
slab 'elem_size', which is in turn used to determine the size
(capacity) of the slab. Each element of the slab represents an
array, of length 'stride', of 'elemtype'. (Note that it may be
clearer if the define_commit_slab macro parameter was called
'basetype' rather than 'elemtype'). However, the 'elem_size'
calculation incorrectly uses 'sizeof(struct slabname)' in the
expression, rather than 'sizeof(elemtype)'.

Within the slab access routine, <slabname>_at(), the given commit
'index' is transformed into an (slab#, slot#) pair used to address
the required element (a pointer to the first element of the array
of 'elemtype' associated with that commit). The current code to
calculate these address coordinates multiplies the commit index
by the 'stride' which, at least for the slab#, produces the wrong
result. Using the commit index directly, without scaling by the
'stride', produces the correct 'logical' address.

Also, when allocating a new slab, the size of the allocation only
allows for a slab containing elements of single element arrays of
'elemtype'. This should allow for elements of an array of length
'stride' of 'elemtype'. In order to fix this, we need to change
the element size parameter to xcalloc() by multiplying the current
element size (sizeof(**s->slab)) by the s->stride.

Having changed the calculation of the slot#, we now need to convert
the logical 'nth_slot', by scaling with s->stride, into the correct
physical address.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit: tweak empty cherry pick advice for sequencerJeff King Fri, 26 Jul 2013 23:39:28 +0000 (19:39 -0400)

commit: tweak empty cherry pick advice for sequencer

When we refuse to make an empty commit, we check whether we
are in a cherry-pick in order to give better advice on how
to proceed. We instruct the user to repeat the commit with
"--allow-empty" to force the commit, or to use "git reset"
to skip it and abort the cherry-pick.

In the case of a single cherry-pick, the distinction between
skipping and aborting is not important, as there is no more
work to be done afterwards. When we are using the sequencer
to cherry pick a series of commits, though, the instruction
is confusing: does it skip this commit, or does it abort the
rest of the cherry-pick?

It does skip, after which the user can continue the
cherry-pick. This is the right thing to be advising the user
to do, but let's make it more clear what will happen, both
by using the word "skip", and by mentioning that the rest of
the sequence can be continued via "cherry-pick --continue"
(whether we skip or take the commit).

Noticed-by: Ramkumar Ramachandra <artagnon@gmail.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

docs/git-tag: explain lightweight versus annotated... Daniele Segato Fri, 26 Jul 2013 19:06:02 +0000 (15:06 -0400)

docs/git-tag: explain lightweight versus annotated tags

Stress the difference between the two with a suggestion on
when the user should use one in place of the other.

Signed-off-by: Daniele Segato <daniele.segato@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

config doc: quote paths, fixing tilde-interpretationRamkumar Ramachandra Fri, 26 Jul 2013 10:42:02 +0000 (16:12 +0530)

config doc: quote paths, fixing tilde-interpretation

The --global section of git-config(1) currently reads like:

For writing options: write to global /.gitconfig file rather than the
^
start tilde

repository .git/config, write to $XDG_CONFIG_HOME/git/config file if
this file exists and the/.gitconfig file doesn’t.
^
end tilde

Instead of tilde (~) being interpreted literally, asciidoc subscripts
the text between the two tildes. To fix this problem, use backticks (`)
to quote all the paths in the file uniformly, just like config.txt does.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

document 'allow-tip-sha1-in-want' capabilityNguyễn Thái Ngọc Duy Fri, 26 Jul 2013 11:01:54 +0000 (18:01 +0700)

document 'allow-tip-sha1-in-want' capability

See 390eb36 (upload-pack: optionally allow fetching from the tips of
hidden refs - 2013-01-28) for more information.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/rm.c: consolidate error reporting for removing... Junio C Hamano Fri, 26 Jul 2013 06:05:17 +0000 (23:05 -0700)

builtin/rm.c: consolidate error reporting for removing submodules

We have two (not identical) copies of error reporting when
attempting to remove submodules that have their repositories
embedded within them. Add a helper function so that we do not have
to repeat similar error messages with subtly different wording
without a good reason.

Noticed by Jiang Xin.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit.h: drop redundant commentJeff King Thu, 25 Jul 2013 20:01:00 +0000 (16:01 -0400)

commit.h: drop redundant comment

We mention twice that the from_ident field of struct
pretty_print_context is internal.

The first comment was added by 10f2fbf, which prepares the
struct for internal fields, and then the second by a908047,
which actually adds such a field. This was a mistake made
when re-rolling the series on the list; the comment should
have been removed from the latter commit.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.4-rc0 v1.8.4-rc0Junio C Hamano Thu, 25 Jul 2013 02:29:07 +0000 (19:29 -0700)

Git 1.8.4-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mh/multimail'Junio C Hamano Thu, 25 Jul 2013 02:23:03 +0000 (19:23 -0700)

Merge branch 'mh/multimail'

An enhanced "post-receive" hook to send e-mail messages.

* mh/multimail:
post-receive-email: deprecate script in favor of git-multimail
git-multimail: an improved replacement for post-receive-email

Merge branch 'ob/typofixes'Junio C Hamano Thu, 25 Jul 2013 02:23:00 +0000 (19:23 -0700)

Merge branch 'ob/typofixes'

* ob/typofixes:
typofix: in-code comments
typofix: documentation
typofix: release notes

Merge branch 'es/contacts'Junio C Hamano Thu, 25 Jul 2013 02:22:57 +0000 (19:22 -0700)

Merge branch 'es/contacts'

A helper to read from a set of format-patch output files or a range
of commits and find those who may have insights to the code that
the changes touch by running a series of "git blame" commands.

* es/contacts:
contrib: contacts: add documentation
contrib: contacts: add mailmap support
contrib: contacts: interpret committish akin to format-patch
contrib: contacts: add ability to parse from committish
contrib: add git-contacts helper

Merge branch 'ml/cygwin-updates'Junio C Hamano Thu, 25 Jul 2013 02:22:49 +0000 (19:22 -0700)

Merge branch 'ml/cygwin-updates'

The tip one does _not_ revert c869753e (Force core.filemode to
false on Cygwin., 2006-12-30) on purpose, so that people can
still retain the old behaviour if they wanted to.

* ml/cygwin-updates:
cygwin: stop forcing core.filemode=false
Cygwin 1.7 supports mmap
Cygwin 1.7 has thread-safe pread
Cygwin 1.7 needs compat/regex

Merge branch 'rj/sparse'Junio C Hamano Thu, 25 Jul 2013 02:21:30 +0000 (19:21 -0700)

Merge branch 'rj/sparse'

* rj/sparse:
Revert "compat/unsetenv.c: Fix a sparse warning"

Merge branch 'sb/traverse-trees-bitmask-variable-name'Junio C Hamano Thu, 25 Jul 2013 02:21:25 +0000 (19:21 -0700)

Merge branch 'sb/traverse-trees-bitmask-variable-name'

* sb/traverse-trees-bitmask-variable-name:
traverse_trees(): clarify return value of the callback

Merge branch 'jk/cat-file-batch-optim'Junio C Hamano Thu, 25 Jul 2013 02:21:21 +0000 (19:21 -0700)

Merge branch 'jk/cat-file-batch-optim'

If somebody wants to only know on-disk footprint of an object
without having to know its type or payload size, we can bypass a
lot of code to cheaply learn it.

* jk/cat-file-batch-optim:
Fix some sparse warnings
sha1_object_info_extended: pass object_info to helpers
sha1_object_info_extended: make type calculation optional
packed_object_info: make type lookup optional
packed_object_info: hoist delta type resolution to helper
sha1_loose_object_info: make type lookup optional
sha1_object_info_extended: rename "status" to "type"
cat-file: disable object/refname ambiguity check for batch mode

Merge branch 'ml/avoid-using-grep-on-crlf-files'Junio C Hamano Thu, 25 Jul 2013 02:21:18 +0000 (19:21 -0700)

Merge branch 'ml/avoid-using-grep-on-crlf-files'

On systems that understand a CRLF as a line ending, tests in this
script that worked on files with CRLF line endings using "grep" to
extract matching lines may lose the CR at the end of lines that
match, causing the actual output not to match the expected output.

* ml/avoid-using-grep-on-crlf-files:
test-lib.sh - define and use GREP_STRIPS_CR

Merge branch 'jm/doc-ref-prune'Junio C Hamano Thu, 25 Jul 2013 02:21:15 +0000 (19:21 -0700)

Merge branch 'jm/doc-ref-prune'

* jm/doc-ref-prune:
Documentation: fix git-prune example usage
Documentation: remove --prune from pack-refs examples

Merge branch 'rh/template-updates'Junio C Hamano Thu, 25 Jul 2013 02:21:07 +0000 (19:21 -0700)

Merge branch 'rh/template-updates'

* rh/template-updates:
templates: spell ASCII in uppercase in pre-commit hook
templates: Reformat pre-commit hook's message
templates: Use heredoc in pre-commit hook

Merge branch 'mh/ref-races-optim-invalidate-cached'Junio C Hamano Thu, 25 Jul 2013 02:21:02 +0000 (19:21 -0700)

Merge branch 'mh/ref-races-optim-invalidate-cached'

* mh/ref-races-optim-invalidate-cached:
refs: do not invalidate the packed-refs cache unnecessarily

Merge branch 'sb/misc-fixes'Junio C Hamano Thu, 25 Jul 2013 02:20:58 +0000 (19:20 -0700)

Merge branch 'sb/misc-fixes'

Assorted code cleanups and a minor fix.

* sb/misc-fixes:
diff.c: Do not initialize a variable, which gets reassigned anyway.
commit: Fix a memory leak in determine_author_info
daemon.c:handle: Remove unneeded check for null pointer.

Merge branch 'tr/line-log'Junio C Hamano Thu, 25 Jul 2013 02:19:24 +0000 (19:19 -0700)

Merge branch 'tr/line-log'

Fix "log -L" command line parsing bugs.

* tr/line-log:
t4211: fix incorrect rebase at f8395edc (range-set: satisfy non-empty ranges invariant)
line-log: fix "log -LN" crash when N is last line of file
range-set: satisfy non-empty ranges invariant
t4211: demonstrate crash when first -L encountered is empty range
t4211: demonstrate empty -L range crash
range-set: fix sort_and_merge_range_set() corner case bug

git-clean: implement partial matching for selectionJiang Xin Wed, 24 Jul 2013 02:22:04 +0000 (10:22 +0800)

git-clean: implement partial matching for selection

Document for interactive git-clean says: "You also could say `c` or
`clean` above as long as the choice is unique". But it's not true,
because only hotkey `c` and full match (`clean`) could work.

Implement partial matching via find_unique function to make the
document right.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-clean: fix description for rangeJiang Xin Tue, 23 Jul 2013 22:22:43 +0000 (06:22 +0800)

Documentation/git-clean: fix description for range

The descriptions of "select by numbers" section for interactive
git-clean are borrowed from git-add, and one sentence should be
replaced.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

.mailmap: combine more (email, name) to individual... Stefan Beller Wed, 24 Jul 2013 17:55:18 +0000 (19:55 +0200)

.mailmap: combine more (email, name) to individual persons

I got more responses from people regarding the .mailmap file.
All added persons gave permission to add them to the .mailmap file.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

document 'quiet' receive-pack capabilityJeff King Wed, 24 Jul 2013 08:03:43 +0000 (04:03 -0400)

document 'quiet' receive-pack capability

This was added in c207e34 (fix push --quiet: add 'quiet'
capability to receive-pack, 2012-01-08) but never
documented.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

document 'agent' protocol capabilityJeff King Wed, 24 Jul 2013 08:03:13 +0000 (04:03 -0400)

document 'agent' protocol capability

This was added in ff5effd (include agent identifier in
capability string, 2012-08-03), but neither the syntax nor
the semantics were ever documented outside of the commit
message.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

docs: note that receive-pack knows side-band-64k capabilityJeff King Wed, 24 Jul 2013 08:01:59 +0000 (04:01 -0400)

docs: note that receive-pack knows side-band-64k capability

The protocol-capabilities documentation notes that any
capabilities not explicitly mentioned for receive-pack work
only for upload-pack.

Receive-pack has advertised and understood side-band-64k
since 38a81b4 (receive-pack: Wrap status reports inside
side-band-64k, 2010-02-05), but we do not mention it
explicitly. Let's do so.

Note that receive-pack does not understand side-band, which
was obsolete by that point.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

docs: fix 'report-status' protocol capability thinkoJeff King Wed, 24 Jul 2013 08:01:21 +0000 (04:01 -0400)

docs: fix 'report-status' protocol capability thinko

The report-status capability is understood by receive-pack,
not upload-pack.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-completion.bash: replace zsh notation that breaks... Brandon Casey Fri, 18 Jan 2013 19:24:01 +0000 (11:24 -0800)

git-completion.bash: replace zsh notation that breaks bash 3.X

50c5885e (git-completion.bash: replace zsh notation that breaks bash
3.X, 2013-01-18) fixed a zsh-ism introduced earlier to append to an
array, which older versions of bash (3.0) did not grok. This was
again broken by 734b2f05 (completion: synchronize zsh wrapper,
2013-05-08).

Cherry-pick the fix again to let those with older bash use the
completion script.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4211: fix incorrect rebase at f8395edc (range-set... Junio C Hamano Wed, 24 Jul 2013 14:53:25 +0000 (07:53 -0700)

t4211: fix incorrect rebase at f8395edc (range-set: satisfy non-empty ranges invariant)

Wnen I rewrote "cat b.c | wc -l" into "wc -l <b.c" to squash in a
suggestion on the list to this series, I screwed up subsequent
rebase. Fix it up.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

hg-to-git: --allow-empty-message in git commitMaurício C Antunes Sat, 20 Jul 2013 16:33:20 +0000 (13:33 -0300)

hg-to-git: --allow-empty-message in git commit

Do not fail to import mercurial commits with empty commit messages.

Signed-off-by: Maurício C Antunes <mauricio.antunes@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'es/line-log-further-fixes' into tr/line-logJunio C Hamano Tue, 23 Jul 2013 19:10:06 +0000 (12:10 -0700)

Merge branch 'es/line-log-further-fixes' into tr/line-log

* es/line-log-further-fixes:
line-log: fix "log -LN" crash when N is last line of file
range-set: satisfy non-empty ranges invariant
t4211: demonstrate crash when first -L encountered is empty range
t4211: demonstrate empty -L range crash
range-set: fix sort_and_merge_range_set() corner case bug
range_set: fix coalescing bug when range is a subset of another
t4211: fix broken test when one -L range is subset of another

line-log: fix "log -LN" crash when N is last line of... Eric Sunshine Tue, 23 Jul 2013 14:28:08 +0000 (10:28 -0400)

line-log: fix "log -LN" crash when N is last line of file

range-set invariants are: ranges must be (1) non-empty, (2) disjoint,
(3) sorted in ascending order.

line_log_data_insert() breaks the non-empty invariant under the
following conditions: the incoming range is empty and the pathname
attached to the range has not yet been encountered. In this case,
line_log_data_insert() assigns the empty range to a new line_log_data
record without taking any action to ensure that the empty range is
eventually folded out. Subsequent range-set functions crash or throw an
assertion failure upon encountering such an anomaly. Fix this bug.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

range-set: satisfy non-empty ranges invariantEric Sunshine Tue, 23 Jul 2013 14:28:06 +0000 (10:28 -0400)

range-set: satisfy non-empty ranges invariant

range-set invariants are: ranges must be (1) non-empty, (2) disjoint,
(3) sorted in ascending order.

During processing, various range-set utility functions break the
invariants (for instance, by adding empty ranges), with the
expectation that a finalizing sort_and_merge_range_set() will restore
sanity.

sort_and_merge_range_set(), however, neglects to fold out empty
ranges, thus it fails to satisfy the non-empty constraint. Subsequent
range-set functions crash or throw an assertion failure upon
encountering such an anomaly. Rectify the situation by having
sort_and_merge_range_set() fold out empty ranges.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4211: demonstrate crash when first -L encountered... Eric Sunshine Tue, 23 Jul 2013 14:28:07 +0000 (10:28 -0400)

t4211: demonstrate crash when first -L encountered is empty range

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Helped-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4211: demonstrate empty -L range crashEric Sunshine Tue, 23 Jul 2013 14:28:05 +0000 (10:28 -0400)

t4211: demonstrate empty -L range crash

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Helped-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

range-set: fix sort_and_merge_range_set() corner case bugEric Sunshine Tue, 23 Jul 2013 14:28:04 +0000 (10:28 -0400)

range-set: fix sort_and_merge_range_set() corner case bug

When handed an empty range_set (range_set.nr == 0),
sort_and_merge_range_set() incorrectly sets range_set.nr to 1 at exit.
Subsequent range_set functions then access the bogus range at element
zero and crash or throw an assertion failure. Fix this bug.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

open_istream: remove unneeded check for null pointerStefan Beller Tue, 23 Jul 2013 13:16:04 +0000 (15:16 +0200)

open_istream: remove unneeded check for null pointer

'st' is allocated via xmalloc a few lines before and passed to
the stream opening functions.
The xmalloc function is written in a way that either 'st' is allocated
valid memory or xmalloc already dies.
The function calls to open_istream_* do not change 'st', as the pointer is
passed by reference and not a pointer of a pointer.

Hence 'st' cannot be null at that part of the code.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mv/merge-ff-tristate'Junio C Hamano Tue, 23 Jul 2013 17:09:49 +0000 (10:09 -0700)

Merge branch 'mv/merge-ff-tristate'

* mv/merge-ff-tristate:
t7600: fix typo in test title

t7600: fix typo in test titleJunio C Hamano Tue, 23 Jul 2013 17:08:40 +0000 (10:08 -0700)

t7600: fix typo in test title

Spotted by Ram, confirmed by Miklos.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

post-receive-email: deprecate script in favor of git... Michael Haggerty Sun, 14 Jul 2013 08:09:03 +0000 (10:09 +0200)

post-receive-email: deprecate script in favor of git-multimail

Add a notice to the top of post-receive-email explaining that the
script is no longer under active development and pointing the user to
git-multimail.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

typofix: in-code commentsOndřej Bílka Mon, 22 Jul 2013 21:02:23 +0000 (23:02 +0200)

typofix: in-code comments

Signed-off-by: Ondřej Bílka <neleai@seznam.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

typofix: documentationOndřej Bílka Mon, 22 Jul 2013 21:02:23 +0000 (23:02 +0200)

typofix: documentation

Signed-off-by: Ondřej Bílka <neleai@seznam.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

typofix: release notesOndřej Bílka Mon, 22 Jul 2013 21:02:23 +0000 (23:02 +0200)

typofix: release notes

Signed-off-by: Ondřej Bílka <neleai@seznam.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with Git 1.8.3.4Junio C Hamano Mon, 22 Jul 2013 18:34:25 +0000 (11:34 -0700)

Sync with Git 1.8.3.4

Update draft release notes to 1.8.4Junio C Hamano Mon, 22 Jul 2013 18:34:10 +0000 (11:34 -0700)

Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/name-rev-exact-ref'Junio C Hamano Mon, 22 Jul 2013 18:24:19 +0000 (11:24 -0700)

Merge branch 'jc/name-rev-exact-ref'

Corrects the longstanding sloppiness in the implementation of
name-rev that conflated "we take commit-ish" and "differences
between tags and commits do not matter".

* jc/name-rev-exact-ref:
describe: fix --contains when a tag is given as input
name-rev: differentiate between tags and commits they point at
describe: use argv-array
name-rev: allow converting the exact object name at the tip of a ref
name-ref: factor out name shortening logic from name_ref()

Merge branch 'rr/send-email-ssl-verify'Junio C Hamano Mon, 22 Jul 2013 18:24:17 +0000 (11:24 -0700)

Merge branch 'rr/send-email-ssl-verify'

Newer Net::SMTP::SSL module does not want the user programs to use
the default behaviour to let server certificate go without
verification, so by default enable the verification with a
mechanism to turn it off if needed.

* rr/send-email-ssl-verify:
send-email: be explicit with SSL certificate verification

Merge branch 'es/check-mailmap'Junio C Hamano Mon, 22 Jul 2013 18:24:14 +0000 (11:24 -0700)

Merge branch 'es/check-mailmap'

A new command to allow scripts to query the mailmap information.

* es/check-mailmap:
t4203: test check-mailmap command invocation
builtin: add git-check-mailmap command

Merge branch 'jx/clean-interactive'Junio C Hamano Mon, 22 Jul 2013 18:24:11 +0000 (11:24 -0700)

Merge branch 'jx/clean-interactive'

Add "interactive" mode to "git clean".

The early part to refactor relative path related helper functions
looked sensible.

* jx/clean-interactive:
test: run testcases with POSIX absolute paths on Windows
test: add t7301 for git-clean--interactive
git-clean: add documentation for interactive git-clean
git-clean: add ask each interactive action
git-clean: add select by numbers interactive action
git-clean: add filter by pattern interactive action
git-clean: use a git-add-interactive compatible UI
git-clean: add colors to interactive git-clean
git-clean: show items of del_list in columns
git-clean: add support for -i/--interactive
git-clean: refactor git-clean into two phases
write_name{_quoted_relative,}(): remove redundant parameters
quote_path_relative(): remove redundant parameter
quote.c: substitute path_relative with relative_path
path.c: refactor relative_path(), not only strip prefix
test: add test cases for relative_path

Merge branch 'hv/config-from-blob'Junio C Hamano Mon, 22 Jul 2013 18:24:09 +0000 (11:24 -0700)

Merge branch 'hv/config-from-blob'

Allow configuration data to be read from in-tree blob objects,
which would help working in a bare repository and submodule
updates.

* hv/config-from-blob:
do not die when error in config parsing of buf occurs
teach config --blob option to parse config from database
config: make parsing stack struct independent from actual data source
config: drop cf validity check in get_next_char()
config: factor out config file stack management

Merge branch 'mk/upload-pack-off-by-one-dead-code-removal'Junio C Hamano Mon, 22 Jul 2013 18:24:05 +0000 (11:24 -0700)

Merge branch 'mk/upload-pack-off-by-one-dead-code-removal'

* mk/upload-pack-off-by-one-dead-code-removal:
upload-pack: remove a piece of dead code

Merge branch 'jk/t0008-sigpipe-fix'Junio C Hamano Mon, 22 Jul 2013 18:24:02 +0000 (11:24 -0700)

Merge branch 'jk/t0008-sigpipe-fix'

Fix for recent test breakage on 'master'.

* jk/t0008-sigpipe-fix:
t0008: avoid SIGPIPE race condition on fifo

Merge branch 'nd/const-struct-cache-entry'Junio C Hamano Mon, 22 Jul 2013 18:24:00 +0000 (11:24 -0700)

Merge branch 'nd/const-struct-cache-entry'

* nd/const-struct-cache-entry:
Convert "struct cache_entry *" to "const ..." wherever possible

Merge branch 'jk/gcc-function-attributes'Junio C Hamano Mon, 22 Jul 2013 18:23:59 +0000 (11:23 -0700)

Merge branch 'jk/gcc-function-attributes'

Use the function attributes extension to catch mistakes in use of
our own variadic functions that use NULL sentinel at the end
(i.e. like execl(3)) and format strings (i.e. like printf(3)).

* jk/gcc-function-attributes:
Add the LAST_ARG_MUST_BE_NULL macro
wt-status: use "format" function attribute for status_printf
use "sentinel" function attribute for variadic lists
add missing "format" function attributes

Merge branch 'db/show-ref-head'Junio C Hamano Mon, 22 Jul 2013 18:23:56 +0000 (11:23 -0700)

Merge branch 'db/show-ref-head'

The "--head" option to "git show-ref" was only to add "HEAD" to the
list of candidate refs to be filtered by the usual rules
(e.g. "--heads" that only show refs under refs/heads). Change the
meaning of the option to always show "HEAD" regardless of what
filtering will be applied to any other ref (this is a backward
incompatible change, so I may need to add an entry to the Release
Notes).

* db/show-ref-head:
show-ref: make --head always show the HEAD ref

Merge branch 'es/blame-L-breakage'Junio C Hamano Mon, 22 Jul 2013 18:23:53 +0000 (11:23 -0700)

Merge branch 'es/blame-L-breakage'

The refactoring made for parsing "-L" option recently to support
"git log -L" seems to have broken "git blame -L X,-5" to show 5
lines leading to X.

* es/blame-L-breakage:
blame-options.txt: explain that -L <start> and <end> are optional
blame-options.txt: place each -L option variation on its own line
t8001/t8002 (blame): add blame -L :funcname tests
t8001/t8002 (blame): add blame -L tests
t8001/t8002 (blame): modernize style
line-range: fix "blame -L X,-N" regression

Merge branch 'tr/protect-low-3-fds'Junio C Hamano Mon, 22 Jul 2013 18:23:35 +0000 (11:23 -0700)

Merge branch 'tr/protect-low-3-fds'

When "git" is spawned in such a way that any of the low 3 file
descriptors is closed, our first open() may yield file descriptor 2,
and writing error message to it would screw things up in a big way.

* tr/protect-low-3-fds:
git: ensure 0/1/2 are open in main()
daemon/shell: refactor redirection of 0/1/2 from /dev/null

Merge branch 'sb/parse-object-buffer-eaten'Junio C Hamano Mon, 22 Jul 2013 18:23:32 +0000 (11:23 -0700)

Merge branch 'sb/parse-object-buffer-eaten'

* sb/parse-object-buffer-eaten:
parse_object_buffer: correct freeing the buffer

Merge branch 'tr/do-not-call-submodules-subprojects'Junio C Hamano Mon, 22 Jul 2013 18:23:30 +0000 (11:23 -0700)

Merge branch 'tr/do-not-call-submodules-subprojects'

* tr/do-not-call-submodules-subprojects:
show-branch: fix description of --date-order
apply, entry: speak of submodules instead of subprojects

Merge branch 'mm/diff-no-patch-synonym-to-s'Junio C Hamano Mon, 22 Jul 2013 18:23:27 +0000 (11:23 -0700)

Merge branch 'mm/diff-no-patch-synonym-to-s'

"git show -s" was less discoverable than it should be.

* mm/diff-no-patch-synonym-to-s:
Documentation/git-log.txt: capitalize section names
Documentation: move description of -s, --no-patch to diff-options.txt
Documentation/git-show.txt: include common diff options, like git-log.txt
diff: allow --patch & cie to override -s/--no-patch
diff: allow --no-patch as synonym for -s
t4000-diff-format.sh: modernize style

Merge branch 'dw/request-pull-diag'Junio C Hamano Mon, 22 Jul 2013 18:23:24 +0000 (11:23 -0700)

Merge branch 'dw/request-pull-diag'

* dw/request-pull-diag:
request-pull: improve error message for invalid revision args

Merge branch 'jc/mailmap-case-insensitivity'Junio C Hamano Mon, 22 Jul 2013 18:23:16 +0000 (11:23 -0700)

Merge branch 'jc/mailmap-case-insensitivity'

The mailmap mechanism unnecessarily downcased the e-mail addresses
in the output, and also ignored the human name when it is a single
character name.

This now has become Eric Sunshine's series, even though it still is
under jc/ hierarchy.

* jc/mailmap-case-insensitivity:
mailmap: style fixes
mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
mailmap: debug: eliminate -Wformat field precision type warning
mailmap: debug: fix malformed fprintf() format conversion specification
mailmap: debug: fix out-of-order fprintf() arguments
mailmap: do not downcase mailmap entries
t4203: demonstrate loss of uppercase characters in canonical email
mailmap: do not lose single-letter names
t4203: demonstrate loss of single-character name in mailmap entry

Merge branch 'tr/fd-gotcha-fixes'Junio C Hamano Mon, 22 Jul 2013 18:23:12 +0000 (11:23 -0700)

Merge branch 'tr/fd-gotcha-fixes'

Two places we did not check return value (expected to be a file
descriptor) correctly.

* tr/fd-gotcha-fixes:
run-command: dup_devnull(): guard against syscalls failing
git_mkstemps: correctly test return value of open()

Merge branch 'mm/color-auto-default'Junio C Hamano Mon, 22 Jul 2013 18:23:10 +0000 (11:23 -0700)

Merge branch 'mm/color-auto-default'

A finishing touch to fix breakage to "add -e" caused by defaulting
ui.color to "auto".

* mm/color-auto-default:
git add -e: Explicitly specify that patch should have no color

Merge branch 'jc/simple-add-must-be-a-no-op'Junio C Hamano Mon, 22 Jul 2013 18:23:06 +0000 (11:23 -0700)

Merge branch 'jc/simple-add-must-be-a-no-op'

This detected a mismerge of one of "add-2.0" topics to the 'jch'
and 'pu' branches.

* jc/simple-add-must-be-a-no-op:
t2202: make sure "git add" (no args) stays a no-op

Git 1.8.3.4 v1.8.3.4Junio C Hamano Mon, 22 Jul 2013 18:21:34 +0000 (11:21 -0700)

Git 1.8.3.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

update URL to the marc.info mail archiveOndřej Bílka Mon, 22 Jul 2013 08:02:17 +0000 (10:02 +0200)

update URL to the marc.info mail archive

The name marc.theaimsgroup.com is no longer active, and has
migrated to marc.info.

Signed-off-by: Ondřej Bílka <neleai@seznam.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Mon, 22 Jul 2013 06:03:46 +0000 (23:03 -0700)

Sync with maint

* maint:
Update draft release notes to 1.8.3.4
t9801: git-p4: check ignore files with client spec

Update draft release notes to 1.8.3.4Junio C Hamano Mon, 22 Jul 2013 06:02:53 +0000 (23:02 -0700)

Update draft release notes to 1.8.3.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rr/maint-fetch-tag-doc-asterisks' into... Junio C Hamano Mon, 22 Jul 2013 05:51:45 +0000 (22:51 -0700)

Merge branch 'rr/maint-fetch-tag-doc-asterisks' into maint

* rr/maint-fetch-tag-doc-asterisks:
fetch-options.txt: prevent a wildcard refspec from getting misformatted

Merge branch 'dk/maint-t5150-dirname' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:43 +0000 (22:51 -0700)

Merge branch 'dk/maint-t5150-dirname' into maint

* dk/maint-t5150-dirname:
tests: allow sha1's as part of the path

Merge branch 'dk/version-gen-gitdir' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:41 +0000 (22:51 -0700)

Merge branch 'dk/version-gen-gitdir' into maint

* dk/version-gen-gitdir:
GIT-VERSION-GEN: support non-standard $GIT_DIR path

Merge branch 'nk/config-local-doc' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:39 +0000 (22:51 -0700)

Merge branch 'nk/config-local-doc' into maint

* nk/config-local-doc:
config: Add description of --local option

Merge branch 'kb/diff-blob-blob-doc' into maintJunio C Hamano Mon, 22 Jul 2013 05:51:37 +0000 (22:51 -0700)

Merge branch 'kb/diff-blob-blob-doc' into maint

* kb/diff-blob-blob-doc:
Documentation: Move "git diff <blob> <blob>"