gitweb.git
contrib: contacts: add documentationEric Sunshine Sun, 21 Jul 2013 10:52:42 +0000 (06:52 -0400)

contrib: contacts: add documentation

Assuming that git-contacts may some day be promoted to a core git
command, the documentation is written and formatted as if it already
belongs in Documentation/ even though it presently resides in
contrib/contacts.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: contacts: add mailmap supportEric Sunshine Sun, 21 Jul 2013 10:52:41 +0000 (06:52 -0400)

contrib: contacts: add mailmap support

The purpose of git-contacts is to determine a list of people who might
have some interest in a patch or set of changes. It can be used as
git-send-email's --cc-cmd argument or the computed list might be used to
ask for comments on a proposed change. As such, it is important to
report up-to-date email addresses in the computed list rather than
potentially outdated ones recorded with commits. Apply git's mailmap
functionality to the retrieved contacts in order to achieve this goal.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: contacts: interpret committish akin to format... Eric Sunshine Sun, 21 Jul 2013 10:52:40 +0000 (06:52 -0400)

contrib: contacts: interpret committish akin to format-patch

As a convenience, accept the same style <since> committish as accepted
by git-format-patch. For example:

% git contacts origin

will consider commits in the current branch built atop 'origin', just as
"git format-patch origin" will format commits built atop 'origin'.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: contacts: add ability to parse from committishEric Sunshine Sun, 21 Jul 2013 10:52:39 +0000 (06:52 -0400)

contrib: contacts: add ability to parse from committish

For example:

% git contacts R1..R2

Committishes and patch files can be mentioned in the same invocation:

% git contacts R1..R2 extra/*.patch

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: add git-contacts helperEric Sunshine Sun, 21 Jul 2013 10:52:38 +0000 (06:52 -0400)

contrib: add git-contacts helper

This script lists people that might be interested in a patch by going
back through the history for each patch hunk, and finding people that
reviewed, acknowledged, signed, authored, or were Cc:'d on the code the
patch is modifying.

It does this by running git-blame incrementally on each hunk and then
parsing the commit message. After gathering all participants, it
determines each person's relevance by considering how many commits
mentioned that person compared with the total number of commits under
consideration. The final output consists only of participants who pass a
minimum threshold of participation.

Several conditions controlling a person's significance are currently
hard-coded, such as minimum participation level, blame date-limiting,
and -C level for detecting moved and copied lines. In the future, these
conditions may become configurable.

For example:

% git contacts 0001-remote-hg-trivial-cleanups.patch
Felipe Contreras <felipe.contreras@gmail.com>
Jeff King <peff@peff.net>
Max Horn <max@quendi.de>
Junio C Hamano <gitster@pobox.com>

Thus, it can be invoked as git-send-email's --cc-cmd option, among other
possible uses.

This is a Perl rewrite of Felipe Contreras' git-related patch series[1]
written in Ruby.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/226065/

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4203: test check-mailmap command invocationEric Sunshine Sat, 13 Jul 2013 00:53:11 +0000 (20:53 -0400)

t4203: test check-mailmap command invocation

Test the command-line interface of check-mailmap.

(Actual .mailmap functionality is already covered by existing tests.)

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin: add git-check-mailmap commandEric Sunshine Sat, 13 Jul 2013 00:53:10 +0000 (20:53 -0400)

builtin: add git-check-mailmap command

Introduce command check-mailmap, similar to check-attr and check-ignore,
which allows direct testing of .mailmap configuration.

As plumbing accessible to scripts and other porcelain, check-mailmap
publishes the stable, well-tested .mailmap functionality employed by
built-in Git commands. Consequently, script authors need not
re-implement .mailmap functionality manually, thus avoiding potential
quirks and behavioral differences.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sun, 30 Jun 2013 22:45:43 +0000 (15:45 -0700)

Merge branch 'maint'

* maint:
Start preparing for 1.8.3.3
check-ignore doc: fix broken link to ls-files page
test: spell 'ls-files --delete' option correctly in test descriptions

Update draft release notes to 1.8.4Junio C Hamano Sun, 30 Jun 2013 22:45:26 +0000 (15:45 -0700)

Update draft release notes to 1.8.4

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

Merge branch 'mh/ref-races'Junio C Hamano Sun, 30 Jun 2013 22:40:01 +0000 (15:40 -0700)

Merge branch 'mh/ref-races'

"git pack-refs" that races with new ref creation or deletion have
been susceptible to lossage of refs under right conditions, which
has been tightened up.

* mh/ref-races:
for_each_ref: load all loose refs before packed refs
get_packed_ref_cache: reload packed-refs file when it changes
add a stat_validity struct
Extract a struct stat_data from cache_entry
packed_ref_cache: increment refcount when locked
do_for_each_entry(): increment the packed refs cache refcount
refs: manage lifetime of packed refs cache via reference counting
refs: implement simple transactions for the packed-refs file
refs: wrap the packed refs cache in a level of indirection
pack_refs(): split creation of packed refs and entry writing
repack_without_ref(): split list curation and entry writing

Merge branch 'ap/diff-ignore-blank-lines'Junio C Hamano Sun, 30 Jun 2013 22:39:53 +0000 (15:39 -0700)

Merge branch 'ap/diff-ignore-blank-lines'

"git diff" learned a mode that ignores hunks whose change consists
only of additions and removals of blank lines, which is the same as
"diff -B" (ignore blank lines) of GNU diff.

* ap/diff-ignore-blank-lines:
diff: add --ignore-blank-lines option

Merge branch 'mh/loose-refs-race-with-pack-ref'Junio C Hamano Sun, 30 Jun 2013 22:39:47 +0000 (15:39 -0700)

Merge branch 'mh/loose-refs-race-with-pack-ref'

We read loose and packed rerferences in two steps, but after
deciding to read a loose ref but before actually opening it to read
it, another process racing with us can unlink it, which would cause
us to barf. Update the codepath to retry when such a race is
detected.

* mh/loose-refs-race-with-pack-ref:
resolve_ref_unsafe(): close race condition reading loose refs
resolve_ref_unsafe(): handle the case of an SHA-1 within loop
resolve_ref_unsafe(): extract function handle_missing_loose_ref()

Merge branch 'nk/name-rev-abbreviated-refs'Junio C Hamano Sun, 30 Jun 2013 22:39:41 +0000 (15:39 -0700)

Merge branch 'nk/name-rev-abbreviated-refs'

"git name-rev --refs=tags/v*" were forbidden, which was a bit
inconvenient (you had to give a pattern to match refs fully, like
--refs=refs/tags/v*).

* nk/name-rev-abbreviated-refs:
name-rev: allow to specify a subpath for --refs option

Merge branch 'jk/submodule-subdirectory-ok'Junio C Hamano Sun, 30 Jun 2013 22:39:35 +0000 (15:39 -0700)

Merge branch 'jk/submodule-subdirectory-ok'

Allow various subcommands of "git submodule" to be run not from the
top of the working tree of the superproject.

* jk/submodule-subdirectory-ok:
submodule: drop the top-level requirement
rev-parse: add --prefix option
submodule: show full path in error message
t7403: add missing && chaining
t7403: modernize style
t7401: make indentation consistent

Start preparing for 1.8.3.3Junio 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>

Merge branch 'fc/macos-x-clipped-write' into maintJunio 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

Merge branch 'da/darwin' into maintJunio 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

check-ignore doc: fix broken link to ls-files pageRamkumar 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>

test: spell 'ls-files --delete' option correctly in... 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>

Sync with 1.8.3.2Junio C Hamano Fri, 28 Jun 2013 21:57:09 +0000 (14:57 -0700)

Sync with 1.8.3.2

Git 1.8.3.2 v1.8.3.2Junio 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>

configure: fix option help message for --disable-pthreadsStefano 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>

Merge branch 'nd/clone-connectivity-shortcut' (early... 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

Merge branch 'maint'Junio C Hamano Thu, 27 Jun 2013 21:48:54 +0000 (14:48 -0700)

Merge branch 'maint'

* maint:
Start preparing for 1.8.3.2

Start preparing for 1.8.3.2Junio 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>

Merge branch 'ks/difftool-dir-diff-copy-fix' into maintJunio 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

Merge branch 'rr/push-head' into maintJunio 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

Merge branch 'fc/show-branch-in-rebase-am' into maintJunio 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

Merge branch 'tg/maint-zsh-svn-remote-prompt' into... 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

Merge branch 'nd/urls-doc-no-file-hyperlink-fix' into... 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

Merge branch 'tr/push-no-verify-doc' into maintJunio 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

Merge branch 'rs/commit-m-no-edit' into maintJunio 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

Merge branch 'jc/strbuf-branchname-fix' into maintJunio 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

Merge branch 'mk/combine-diff-context-horizon-fix'... 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

Merge branch 'kb/ancestry-path-threedots' into maintJunio 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

Merge branch 'jk/subtree-do-not-push-if-split-fails... 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

Merge branch 'mh/fetch-into-shallow' into maintJunio 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

Merge branch 'jh/checkout-auto-tracking' into maintJunio 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>'

Update draft release notes to 1.8.4Junio C Hamano Thu, 27 Jun 2013 21:32:59 +0000 (14:32 -0700)

Update draft release notes to 1.8.4

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

Merge branch 'jk/add-i-custom-diff-algo'Junio C Hamano Thu, 27 Jun 2013 21:30:07 +0000 (14:30 -0700)

Merge branch 'jk/add-i-custom-diff-algo'

* jk/add-i-custom-diff-algo:
add -i: add extra options at the right place in "diff" command line
add--interactive: respect diff.algorithm

Merge branch 'rr/cherry-pick-fast-forward-reflog-message'Junio C Hamano Thu, 27 Jun 2013 21:29:59 +0000 (14:29 -0700)

Merge branch 'rr/cherry-pick-fast-forward-reflog-message'

The reflog message created when "git cherry-pick" fast-forwarded
did not say anything but "cherry-pick", but it now says
"cherry-pick: fast-forward".

* rr/cherry-pick-fast-forward-reflog-message:
sequencer: write useful reflog message for fast-forward

Merge branch 'mt/send-email-cc-match-fix'Junio C Hamano Thu, 27 Jun 2013 21:29:57 +0000 (14:29 -0700)

Merge branch 'mt/send-email-cc-match-fix'

Logic used by git-send-email to suppress cc 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

Merge branch 'jk/pull-into-dirty-unborn'Junio C Hamano Thu, 27 Jun 2013 21:29:52 +0000 (14:29 -0700)

Merge branch 'jk/pull-into-dirty-unborn'

"git pull" into nothing trashed "local changes" that were in the
index, and this avoids it.

* jk/pull-into-dirty-unborn:
pull: merge into unborn by fast-forwarding from empty tree
pull: update unborn branch tip after index

Merge branch 'bc/http-keep-memory-given-to-curl'Junio C Hamano Thu, 27 Jun 2013 21:29:49 +0000 (14:29 -0700)

Merge branch 'bc/http-keep-memory-given-to-curl'

Older cURL wanted piece of memory we call it with to be stable, but
we updated the auth material after handing it to a call.

* bc/http-keep-memory-given-to-curl:
http.c: don't rewrite the user:passwd string multiple times

Merge branch 'bc/checkout-tracking-name-plug-leak'Junio C Hamano Thu, 27 Jun 2013 21:29:46 +0000 (14:29 -0700)

Merge branch 'bc/checkout-tracking-name-plug-leak'

Plug a small leak in checkout.

* bc/checkout-tracking-name-plug-leak:
t/t9802: explicitly name the upstream branch to use as a base
builtin/checkout.c: don't leak memory in check_tracking_name

Merge branch 'rr/rebase-stash-store'Junio C Hamano Thu, 27 Jun 2013 21:29:41 +0000 (14:29 -0700)

Merge branch 'rr/rebase-stash-store'

Finishing touches for the "git rebase --autostash" feature
introduced earlier.

* rr/rebase-stash-store:
rebase: use 'git stash store' to simplify logic
stash: introduce 'git stash store'
stash: simplify option parser for create
stash doc: document short form -p in synopsis
stash doc: add a warning about using create

Update draft release notes to 1.8.4Junio C Hamano Wed, 26 Jun 2013 22:10:17 +0000 (15:10 -0700)

Update draft release notes to 1.8.4

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

Merge branch 'tr/maint-apply-non-git-patch-parsefix'Junio C Hamano Wed, 26 Jun 2013 22:08:09 +0000 (15:08 -0700)

Merge branch 'tr/maint-apply-non-git-patch-parsefix'

Fix for the codepath to parse patches that add new files, generated
by programs other than Git. THis is an old breakage in v1.7.11 and
will need to be merged down to the maintanance tracks.

* tr/maint-apply-non-git-patch-parsefix:
apply: carefully strdup a possibly-NULL name

Merge branch 'ys/cygstart'Junio C Hamano Wed, 26 Jun 2013 22:08:01 +0000 (15:08 -0700)

Merge branch 'ys/cygstart'

On Cygwin, recognize "cygstart" as a possible way to start a web
browser (used in "help -w" and "instaweb" among others).

* ys/cygstart:
web--browse: support /usr/bin/cygstart on Cygwin

Merge branch 'wk/doc-git-has-grown'Junio C Hamano Wed, 26 Jun 2013 22:07:55 +0000 (15:07 -0700)

Merge branch 'wk/doc-git-has-grown'

* wk/doc-git-has-grown:
user-manual: Update download size for Git and the kernel

Merge branch 'vl/typofix'Junio C Hamano Wed, 26 Jun 2013 22:07:52 +0000 (15:07 -0700)

Merge branch 'vl/typofix'

* vl/typofix:
random typofixes (committed missing a 't', successful missing an 's')

Merge branch 'ph/builtin-srcs-are-in-subdir-these-days'Junio C Hamano Wed, 26 Jun 2013 22:07:48 +0000 (15:07 -0700)

Merge branch 'ph/builtin-srcs-are-in-subdir-these-days'

* ph/builtin-srcs-are-in-subdir-these-days:
fix "builtin-*" references to be "builtin/*"

Merge branch 'mm/merge-in-dirty-worktree-doc'Junio C Hamano Wed, 26 Jun 2013 22:07:43 +0000 (15:07 -0700)

Merge branch 'mm/merge-in-dirty-worktree-doc'

* mm/merge-in-dirty-worktree-doc:
Documentation/git-merge.txt: weaken warning about uncommited changes

Merge branch 'kb/diff-blob-blob-doc'Junio C Hamano Wed, 26 Jun 2013 22:07:41 +0000 (15:07 -0700)

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

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

Merge branch 'mm/push-force-is-dangerous'Junio C Hamano Wed, 26 Jun 2013 22:07:38 +0000 (15:07 -0700)

Merge branch 'mm/push-force-is-dangerous'

* mm/push-force-is-dangerous:
Documentation/git-push.txt: explain better cases where --force is dangerous

Merge branch 'fg/submodule-non-ascii-path'Junio C Hamano Wed, 26 Jun 2013 22:07:35 +0000 (15:07 -0700)

Merge branch 'fg/submodule-non-ascii-path'

Many "git submodule" operations do not work on a submodule at a
path whose name is not in ASCII.

* fg/submodule-non-ascii-path:
t7400: test of UTF-8 submodule names pass under Mac OS
handle multibyte characters in name

Update draft release notes to 1.8.4Junio C Hamano Mon, 24 Jun 2013 20:53:03 +0000 (13:53 -0700)

Update draft release notes to 1.8.4

For now, comment out the description on two "git status" UI
configuration, until the reverted topic can be resurrected.

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

Merge branch 'rr/am-quit-empty-then-abort-fix'Junio C Hamano Mon, 24 Jun 2013 20:49:00 +0000 (13:49 -0700)

Merge branch 'rr/am-quit-empty-then-abort-fix'

Recent "rebase --autostash" update made it impossible to recover
with "git am --abort" from a repository where "git am" without mbox
was run by mistake and then was killed with "^C".

* rr/am-quit-empty-then-abort-fix:
t/am: use test_path_is_missing() where appropriate
am: handle stray $dotest directory

Merge branch 'rt/cherry-pick-continue-advice-in-status'Junio C Hamano Mon, 24 Jun 2013 20:48:57 +0000 (13:48 -0700)

Merge branch 'rt/cherry-pick-continue-advice-in-status'

* rt/cherry-pick-continue-advice-in-status:
wt-status: give better advice when cherry-pick is in progress

Merge branch 'nk/config-local-doc'Junio C Hamano Mon, 24 Jun 2013 20:48:55 +0000 (13:48 -0700)

Merge branch 'nk/config-local-doc'

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

Merge branch 'jk/mergetool-lib-refactor'Junio C Hamano Mon, 24 Jun 2013 20:48:53 +0000 (13:48 -0700)

Merge branch 'jk/mergetool-lib-refactor'

Code cleanup.

* jk/mergetool-lib-refactor:
mergetool--lib: refactor {diff,merge}_cmd logic

Merge branch 'jk/doc-build-move-infordir-def'Junio C Hamano Mon, 24 Jun 2013 20:48:51 +0000 (13:48 -0700)

Merge branch 'jk/doc-build-move-infordir-def'

Makefile cleanup.

* jk/doc-build-move-infordir-def:
Documentation/Makefile: move infodir to be with other '*dir's
Documentation/Makefile: fix spaces around assignments

Merge branch 'fg/submodule-fixup'Junio C Hamano Mon, 24 Jun 2013 20:48:50 +0000 (13:48 -0700)

Merge branch 'fg/submodule-fixup'

Code cleanup.

* fg/submodule-fixup:
git-submodule.sh: remove duplicate call to set_rev_name

Merge branch 'dk/version-gen-gitdir'Junio C Hamano Mon, 24 Jun 2013 20:48:48 +0000 (13:48 -0700)

Merge branch 'dk/version-gen-gitdir'

Allow packaging a tarball in a working tree with $GIT_DIR set elsewhere.

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

Merge branch 'dk/maint-t5150-dirname'Junio C Hamano Mon, 24 Jun 2013 20:48:46 +0000 (13:48 -0700)

Merge branch 'dk/maint-t5150-dirname'

Fix a test script.

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

Merge branch 'rs/unpack-trees-tree-walk-conflict-field'Junio C Hamano Mon, 24 Jun 2013 20:48:44 +0000 (13:48 -0700)

Merge branch 'rs/unpack-trees-tree-walk-conflict-field'

Code clean-up.

* rs/unpack-trees-tree-walk-conflict-field:
unpack-trees: don't shift conflicts left and right

Merge branch 'rr/rebase-sha1-by-string-query'Junio C Hamano Mon, 24 Jun 2013 20:48:40 +0000 (13:48 -0700)

Merge branch 'rr/rebase-sha1-by-string-query'

Allow various commit objects to be given to "git rebase" by ':/look
for this string' syntax, e.g. "git rebase --onto ':/there'".

* rr/rebase-sha1-by-string-query:
rebase: use peel_committish() where appropriate
sh-setup: add new peel_committish() helper
t/rebase: add failing tests for a peculiar revision

Merge branch 'mm/rm-coalesce-errors'Junio C Hamano Mon, 24 Jun 2013 20:48:35 +0000 (13:48 -0700)

Merge branch 'mm/rm-coalesce-errors'

Give a single message followed by list of paths from "git rm" to
report multiple paths that cannot be removed.

* mm/rm-coalesce-errors:
rm: introduce advice.rmHints to shorten messages
rm: better error message on failure for multiple files

Merge branch 'jh/libify-note-handling'Junio C Hamano Mon, 24 Jun 2013 20:48:30 +0000 (13:48 -0700)

Merge branch 'jh/libify-note-handling'

Make it possible to call into copy-notes API from the sequencer code.

* jh/libify-note-handling:
Move create_notes_commit() from notes-merge.c into notes-utils.c
Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c
finish_copy_notes_for_rewrite(): Let caller provide commit message

Merge branch 'fc/sequencer-plug-leak'Junio C Hamano Mon, 24 Jun 2013 20:48:28 +0000 (13:48 -0700)

Merge branch 'fc/sequencer-plug-leak'

Plug a small leak in an error codepath.

* fc/sequencer-plug-leak:
sequencer: avoid leaking message buffer when refusing to create an empty commit
sequencer: remove useless indentation

Revert "Merge branch 'jg/status-config'"Junio C Hamano Mon, 24 Jun 2013 15:18:07 +0000 (08:18 -0700)

Revert "Merge branch 'jg/status-config'"

This reverts commit 1a22bd31f0a5130ce6c934951a5526ceb774c2be, reversing
changes made to 3e7a5b489e45ae8a3a0b222893d58b172d883136.

It makes it impossible to "git commit" when status.short is set, and
also "git status --porcelain" output is affected by status.branch.

Update draft release notes to 1.8.4Junio C Hamano Sun, 23 Jun 2013 21:55:45 +0000 (14:55 -0700)

Update draft release notes to 1.8.4

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

Merge branch 'mz/rebase-tests'Junio C Hamano Sun, 23 Jun 2013 21:53:26 +0000 (14:53 -0700)

Merge branch 'mz/rebase-tests'

* mz/rebase-tests:
rebase topology tests: fix commit names on case-insensitive file systems
tests: move test for rebase messages from t3400 to t3406
t3406: modernize style
add tests for rebasing merged history
add tests for rebasing root
add tests for rebasing of empty commits
add tests for rebasing with patch-equivalence present
add simple tests of consistency across rebase types

Merge branch 'jk/unpack-entry-fallback-to-another'Junio C Hamano Sun, 23 Jun 2013 21:53:20 +0000 (14:53 -0700)

Merge branch 'jk/unpack-entry-fallback-to-another'

* jk/unpack-entry-fallback-to-another:
unpack_entry: do not die when we fail to apply a delta
t5303: drop "count=1" from corruption dd

Merge branch 'jk/apache-test-for-2.4'Junio C Hamano Sun, 23 Jun 2013 21:53:17 +0000 (14:53 -0700)

Merge branch 'jk/apache-test-for-2.4'

* jk/apache-test-for-2.4:
lib-httpd/apache.conf: check version only after mod_version loads
t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
t/lib-httpd/apache.conf: load compat access module in apache 2.4
t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4

Merge branch 'cm/remote-mediawiki-perlcritique'Junio C Hamano Sun, 23 Jun 2013 21:53:13 +0000 (14:53 -0700)

Merge branch 'cm/remote-mediawiki-perlcritique'

* cm/remote-mediawiki-perlcritique: (31 commits)
git-remote-mediawiki: make error message more precise
git-remote-mediawiki: add a perlcritic rule in Makefile
git-remote-mediawiki: add a .perlcriticrc file
git-remote-mediawiki: clearly rewrite double dereference
git-remote-mediawiki: fix a typo ("mediwiki" instead of "mediawiki")
git-remote-mediawiki: put non-trivial numeric values in constants.
git-remote-mediawiki: don't use quotes for empty strings
git-remote-mediawiki: replace "unless" statements with negated "if" statements
git-remote-mediawiki: brace file handles for print for more clarity
git-remote-mediawiki: modify strings for a better coding-style
git-remote-mediawiki: put long code into a subroutine
git-remote-mediawiki: remove import of unused open2
git-remote-mediawiki: check return value of open
git-remote-mediawiki: assign a variable as undef and make proper indentation
git-remote-mediawiki: rename a variable ($last) which has the name of a keyword
git-remote-mediawiki: remove unused variable $entry
git-remote-mediawiki: turn double-negated expressions into simple expressions
git-remote-mediawiki: change the name of a variable
git-remote-mediawiki: add newline in the end of die() error messages
git-remote-mediawiki: change style in a regexp
...

Merge branch 'bp/remote-mw-tests'Junio C Hamano Sun, 23 Jun 2013 21:53:11 +0000 (14:53 -0700)

Merge branch 'bp/remote-mw-tests'

* bp/remote-mw-tests:
git-remote-mediawiki: remove hardcoded version number in the test suite

Merge branch 'rr/rebase-autostash'Junio C Hamano Sun, 23 Jun 2013 21:53:07 +0000 (14:53 -0700)

Merge branch 'rr/rebase-autostash'

* rr/rebase-autostash:
rebase: finish_rebase() in noop rebase
rebase: finish_rebase() in fast-forward rebase
rebase: guard against missing files in read_basic_state()

Merge branch 'rr/prompt-rebase-breakage-fix'Junio C Hamano Sun, 23 Jun 2013 21:53:05 +0000 (14:53 -0700)

Merge branch 'rr/prompt-rebase-breakage-fix'

* rr/prompt-rebase-breakage-fix:
prompt: squelch error output from cat

Merge branch 'jg/status-config'Junio C Hamano Sun, 23 Jun 2013 21:51:58 +0000 (14:51 -0700)

Merge branch 'jg/status-config'

"git status" learned status.branch and status.short configuration
variables to use --branch and --short options by default (override
with --no-branch and --no-short options from the command line).

* jg/status-config:
status: introduce status.branch to enable --branch by default
status: introduce status.short to enable --short by default

add -i: add extra options at the right place in "diff... Junio C Hamano Sun, 23 Jun 2013 19:19:05 +0000 (12:19 -0700)

add -i: add extra options at the right place in "diff" command line

Appending "--diff-algorithm=histogram" at the end of canned command
line for various modes of "diff" is correct for most of them but not
for "stash" that has a non-option already wired in, like so:

'stash' => {
DIFF => 'diff-index -p HEAD',

Appending an extra option after non-option may happen to work due to
overly lax command line parser, but that is not something we should
rely on. Instead, splice in the extra argument immediately after the
command name (i.e. 'diff-index', 'diff-files', etc.).

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

user-manual: Update download size for Git and the kernelW. Trevor King Wed, 19 Jun 2013 01:55:22 +0000 (21:55 -0400)

user-manual: Update download size for Git and the kernel

They've grown since d19fbc3 (Documentation: add git user's manual,
2007-01-07) when the stats were initially added. I've rounded
download sizes up to the nearest multiple of ten MiB to decrease the
precision and give a bit of growing room. Exact sizes:

$ git clone git://git.kernel.org/pub/scm/git/git.git
Initialized empty Git repository in /tmp/git/.git/
remote: Counting objects: 156872, done.
remote: Compressing objects: 100% (40826/40826), done.
remote: Total 156872 (delta 115322), reused 155492 (delta 114094)
Receiving objects: 100% (156872/156872), 37.29 MiB | 7.54 MiB/s, done.
Resolving deltas: 100% (115322/115322), done.

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Initialized empty Git repository in /tmp/linux/.git/
remote: Counting objects: 3057404, done.
remote: Compressing objects: 100% (474769/474769), done.
Receiving objects: 100% (3057404/3057404), 634.33 MiB | 27.95 MiB/s, done.
remote: Total 3057404 (delta 2570385), reused 3040910 (delta 2554408)
Resolving deltas: 100% (2570385/2570385), done.
Checking out files: 100% (43012/43012), done.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

lib-httpd/apache.conf: check version only after mod_ver... Jeff King Fri, 21 Jun 2013 18:12:51 +0000 (14:12 -0400)

lib-httpd/apache.conf: check version only after mod_version loads

Commit 0442743 introduced an <IfVersion> directive near the
top of the apache config file. However, at that point we
have not yet checked for and loaded the mod_version module.
This means that the directive will behave oddly if
mod_version is dynamically loaded, failing to match when it
should.

We can fix this by moving the whole block below the
LoadModule directive for mod_version.

Reported-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Fri, 21 Jun 2013 18:26:41 +0000 (11:26 -0700)

Sync with maint

* maint:
completion: complete diff --word-diff

web--browse: support /usr/bin/cygstart on CygwinYaakov Selkowitz Fri, 21 Jun 2013 07:24:32 +0000 (02:24 -0500)

web--browse: support /usr/bin/cygstart on Cygwin

While both GUI and console Cygwin browsers do exist, anecdotal evidence
suggests most users rely on their native Windows browser. cygstart,
which is a long-standing part of the base Cygwin installation, will
cause the page to be opened in the default Windows browser (the one
registered to open .html files).

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

transport-helper: be quiet on read errors from helpersJeff King Fri, 21 Jun 2013 07:05:39 +0000 (03:05 -0400)

transport-helper: be quiet on read errors from helpers

Prior to commit 81d340d4, we did not print any error message
if a remote transport helper died unexpectedly. If a helper
did not print any error message (e.g., because it crashed),
the user could be left confused. That commit tried to
rectify the situation by printing a note that the helper
exited unexpectedly.

However, this makes a much more common case worse: when a
helper does die with a useful message, we print the extra
"Reading from 'git-remote-foo failed" message. This can also
end up confusing users, as they may not even know what
remote helpers are (e.g., the fact that http support comes
through git-remote-https is purely an implementation detail
that most users do not know or care about).

Since we do not have a good way of knowing whether the
helper printed a useful error, and since the common failure
mode is for it to do so, let's default to remaining quiet.
Debuggers can dig further by setting GIT_TRANSPORT_HELPER_DEBUG.

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

completion: complete diff --word-diffRamkumar 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>

apply: carefully strdup a possibly-NULL nameThomas Rast Fri, 21 Jun 2013 11:38:00 +0000 (13:38 +0200)

apply: carefully strdup a possibly-NULL name

2901bbe (apply: free patch->{def,old,new}_name fields, 2012-03-21)
cleaned up the memory management of filenames in the patches, but
forgot that find_name_traditional() can return NULL as a way of saying
"I couldn't find a name".

That NULL unfortunately gets passed into xstrdup() next, resulting in
a segfault. Use null_strdup() so as to safely propagate the null,
which will let us emit the correct error message.

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

Update draft release notes to 1.8.4Junio C Hamano Thu, 20 Jun 2013 23:13:41 +0000 (16:13 -0700)

Update draft release notes to 1.8.4

Merge branch 'cm/remote-mediawiki'Junio C Hamano Thu, 20 Jun 2013 23:02:42 +0000 (16:02 -0700)

Merge branch 'cm/remote-mediawiki'

* cm/remote-mediawiki:
git-remote-mediawiki: display message when launched directly

Merge branch 'rs/match-trees-refactor'Junio C Hamano Thu, 20 Jun 2013 23:02:40 +0000 (16:02 -0700)

Merge branch 'rs/match-trees-refactor'

Code cleanup.

* rs/match-trees-refactor:
match-trees: factor out fill_tree_desc_strict

Merge branch 'rs/logical-vs-binary-or'Junio C Hamano Thu, 20 Jun 2013 23:02:38 +0000 (16:02 -0700)

Merge branch 'rs/logical-vs-binary-or'

Code cleanup.

* rs/logical-vs-binary-or:
use logical OR (||) instead of binary OR (|) in logical context

Merge branch 'mm/color-auto-default'Junio C Hamano Thu, 20 Jun 2013 23:02:33 +0000 (16:02 -0700)

Merge branch 'mm/color-auto-default'

Flip the default for color.ui to 'auto', which is what many
tutorials recommend new users to do.

* mm/color-auto-default:
make color.ui default to 'auto'
config: refactor management of color.ui's default value

Merge branch 'rs/discard-index-discard-array'Junio C Hamano Thu, 20 Jun 2013 23:02:30 +0000 (16:02 -0700)

Merge branch 'rs/discard-index-discard-array'

* rs/discard-index-discard-array:
read-cache: free cache in discard_index
read-cache: add simple performance test

Merge branch 'nd/traces'Junio C Hamano Thu, 20 Jun 2013 23:02:28 +0000 (16:02 -0700)

Merge branch 'nd/traces'

* nd/traces:
git.txt: document GIT_TRACE_PACKET
core: use env variable instead of config var to turn on logging pack access

Merge branch 'fc/show-non-empty-errors-in-test'Junio C Hamano Thu, 20 Jun 2013 23:02:24 +0000 (16:02 -0700)

Merge branch 'fc/show-non-empty-errors-in-test'

* fc/show-non-empty-errors-in-test:
test: test_must_be_empty helper

Merge branch 'fc/makefile'Junio C Hamano Thu, 20 Jun 2013 23:02:21 +0000 (16:02 -0700)

Merge branch 'fc/makefile'

Makefile simplification.

* fc/makefile:
Makefile: use $^ to avoid listing prerequisites on the command line
build: do not install git-remote-testgit
build: generate and clean test scripts

Merge branch 'js/test-ln-s-add'Junio C Hamano Thu, 20 Jun 2013 23:02:18 +0000 (16:02 -0700)

Merge branch 'js/test-ln-s-add'

Many tests that check the behaviour of symbolic links stored in the
index or the tree objects do not have to be skipped on a filesystem
that lack symbolic link support.

* js/test-ln-s-add:
t4011: remove SYMLINKS prerequisite
t6035: use test_ln_s_add to remove SYMLINKS prerequisite
t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite
t3100: use test_ln_s_add to remove SYMLINKS prerequisite
t3030: use test_ln_s_add to remove SYMLINKS prerequisite
t0000: use test_ln_s_add to remove SYMLINKS prerequisite
tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
tests: introduce test_ln_s_add
t3010: modernize style
test-chmtime: Fix exit code on Windows

Merge branch 'nd/make-wildmatch-default'Junio C Hamano Thu, 20 Jun 2013 23:02:14 +0000 (16:02 -0700)

Merge branch 'nd/make-wildmatch-default'

* nd/make-wildmatch-default:
Makefile: promote wildmatch to be the default fnmatch implementation

pull: merge into unborn by fast-forwarding from empty... Thomas Rast Thu, 20 Jun 2013 22:38:28 +0000 (18:38 -0400)

pull: merge into unborn by fast-forwarding from empty tree

The logic for pulling into an unborn branch was originally
designed to be used on a newly-initialized repository
(d09e79c, git-pull: allow pulling into an empty repository,
2006-11-16). It thus did not initially deal with
uncommitted changes in the unborn branch. The case of an
_unstaged_ untracked file was fixed by 4b3ffe5 (pull: do not
clobber untracked files on initial pull, 2011-03-25).
However, it still clobbered existing staged files, both when
the file exists in the merged commit (it will be
overwritten), and when it does not (it will be deleted).

We fix this by doing a two-way merge, where the "current"
side of the merge is an empty tree, and the "target" side is
HEAD (already updated to FETCH_HEAD at this point). This
amounts to claiming that all work in the index was done vs.
an empty tree, and thus all content of the index is
precious.

Note that this use of read-tree just gives us protection
against overwriting index and working tree changes. It will
not actually result in a 3-way merge conflict in the index.
This is fine, as this is a rare situation, and the conflict
would not be interesting anyway (it must, by definition, be
an add/add conflict with the whole content conflicting). And
it makes it simpler for the user to recover, as they have no
HEAD to "git reset" back to.

Reported-by: Stefan Schüßler <mail@stefanschuessler.de>
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>