]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
8 years agosend_ref(): convert local variable "peeled" to object_id
Michael Haggerty [Mon, 25 May 2015 18:39:13 +0000 (18:39 +0000)] 
send_ref(): convert local variable "peeled" to object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoupload-pack: rewrite functions to take object_id arguments
Michael Haggerty [Mon, 25 May 2015 18:39:12 +0000 (18:39 +0000)] 
upload-pack: rewrite functions to take object_id arguments

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agofind_symref(): convert local variable "unused" to object_id
Michael Haggerty [Mon, 25 May 2015 18:39:11 +0000 (18:39 +0000)] 
find_symref(): convert local variable "unused" to object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agofind_symref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:10 +0000 (18:39 +0000)] 
find_symref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agowrite_one_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:09 +0000 (18:39 +0000)] 
write_one_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agowrite_refs_to_temp_dir(): convert local variable sha1 to object_id
Michael Haggerty [Mon, 25 May 2015 18:39:08 +0000 (18:39 +0000)] 
write_refs_to_temp_dir(): convert local variable sha1 to object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agosubmodule: rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:07 +0000 (18:39 +0000)] 
submodule: rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoshallow: rewrite functions to take object_id arguments
Michael Haggerty [Mon, 25 May 2015 18:39:06 +0000 (18:39 +0000)] 
shallow: rewrite functions to take object_id arguments

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agohandle_one_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:05 +0000 (18:39 +0000)] 
handle_one_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoadd_info_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:04 +0000 (18:39 +0000)] 
add_info_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agohandle_one_reflog(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:03 +0000 (18:39 +0000)] 
handle_one_reflog(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoregister_replace_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:02 +0000 (18:39 +0000)] 
register_replace_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoremote: rewrite functions to take object_id arguments
Michael Haggerty [Mon, 25 May 2015 18:39:01 +0000 (18:39 +0000)] 
remote: rewrite functions to take object_id arguments

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoadd_one_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:39:00 +0000 (18:39 +0000)] 
add_one_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agostring_list_add_one_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:59 +0000 (18:38 +0000)] 
string_list_add_one_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoadd_ref_decoration(): convert local variable original_sha1 to object_id
Michael Haggerty [Mon, 25 May 2015 18:38:58 +0000 (18:38 +0000)] 
add_ref_decoration(): convert local variable original_sha1 to object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoadd_ref_decoration(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:57 +0000 (18:38 +0000)] 
add_ref_decoration(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoshow_head_ref(): convert local variable "unused" to object_id
Michael Haggerty [Mon, 25 May 2015 18:38:56 +0000 (18:38 +0000)] 
show_head_ref(): convert local variable "unused" to object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agohttp-backend: rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:55 +0000 (18:38 +0000)] 
http-backend: rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoappend_similar_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:54 +0000 (18:38 +0000)] 
append_similar_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/show-ref: rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:53 +0000 (18:38 +0000)] 
builtin/show-ref: rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoshow_ref(): convert local variable peeled to object_id
Michael Haggerty [Mon, 25 May 2015 18:38:52 +0000 (18:38 +0000)] 
show_ref(): convert local variable peeled to object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/show-ref: rewrite to use object_id
Michael Haggerty [Mon, 25 May 2015 18:38:51 +0000 (18:38 +0000)] 
builtin/show-ref: rewrite to use object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agofsck: change functions to use object_id
Michael Haggerty [Mon, 25 May 2015 18:38:50 +0000 (18:38 +0000)] 
fsck: change functions to use object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agocmd_show_branch(): fix error message
Michael Haggerty [Mon, 25 May 2015 18:38:49 +0000 (18:38 +0000)] 
cmd_show_branch(): fix error message

We need to convert the SHA-1 to hexadecimal before printing it.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/show-branch: rewrite functions to work with object_id
Michael Haggerty [Mon, 25 May 2015 18:38:48 +0000 (18:38 +0000)] 
builtin/show-branch: rewrite functions to work with object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoappend_one_rev(): rewrite to work with object_id
Michael Haggerty [Mon, 25 May 2015 18:38:47 +0000 (18:38 +0000)] 
append_one_rev(): rewrite to work with object_id

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/show-branch: rewrite functions to take object_id arguments
Michael Haggerty [Mon, 25 May 2015 18:38:46 +0000 (18:38 +0000)] 
builtin/show-branch: rewrite functions to take object_id arguments

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoappend_matching_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:45 +0000 (18:38 +0000)] 
append_matching_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoshow_reference(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:44 +0000 (18:38 +0000)] 
show_reference(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/remote: rewrite functions to take object_id arguments
Michael Haggerty [Mon, 25 May 2015 18:38:43 +0000 (18:38 +0000)] 
builtin/remote: rewrite functions to take object_id arguments

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoadd_branch_for_removal(): don't set "util" field of string_list entries
Michael Haggerty [Mon, 25 May 2015 18:38:42 +0000 (18:38 +0000)] 
add_branch_for_removal(): don't set "util" field of string_list entries

They were never used.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoadd_branch_for_removal(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:41 +0000 (18:38 +0000)] 
add_branch_for_removal(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/reflog: rewrite ref functions to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:40 +0000 (18:38 +0000)] 
builtin/reflog: rewrite ref functions to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoshow_ref_cb(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:39 +0000 (18:38 +0000)] 
show_ref_cb(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/pack-objects: rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:38 +0000 (18:38 +0000)] 
builtin/pack-objects: rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoname_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:37 +0000 (18:38 +0000)] 
name_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agograb_single_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:36 +0000 (18:38 +0000)] 
grab_single_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/fetch: rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:35 +0000 (18:38 +0000)] 
builtin/fetch: rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoget_name(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:34 +0000 (18:38 +0000)] 
get_name(): rewrite to take an object_id argument

Rewrite to take an object_id argument and convert the local variable
"peeled" object_id.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoadd_pending_uninteresting_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:33 +0000 (18:38 +0000)] 
add_pending_uninteresting_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoappend_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:32 +0000 (18:38 +0000)] 
append_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoregister_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:31 +0000 (18:38 +0000)] 
register_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agohandle_one_ref(): rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:30 +0000 (18:38 +0000)] 
handle_one_ref(): rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agobuiltin/rev-parse: rewrite to take an object_id argument
Michael Haggerty [Mon, 25 May 2015 18:38:29 +0000 (18:38 +0000)] 
builtin/rev-parse: rewrite to take an object_id argument

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoeach_ref_fn: change to take an object_id parameter
Michael Haggerty [Mon, 25 May 2015 18:38:28 +0000 (18:38 +0000)] 
each_ref_fn: change to take an object_id parameter

Change typedef each_ref_fn to take a "const struct object_id *oid"
parameter instead of "const unsigned char *sha1".

To aid this transition, implement an adapter that can be used to wrap
old-style functions matching the old typedef, which is now called
"each_ref_sha1_fn"), and make such functions callable via the new
interface. This requires the old function and its cb_data to be
wrapped in a "struct each_ref_fn_sha1_adapter", and that object to be
used as the cb_data for an adapter function, each_ref_fn_adapter().

This is an enormous diff, but most of it consists of simple,
mechanical changes to the sites that call any of the "for_each_ref"
family of functions. Subsequent to this change, the call sites can be
rewritten one by one to use the new interface.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agorefs: convert struct ref_entry to use struct object_id
brian m. carlson [Mon, 25 May 2015 18:38:27 +0000 (18:38 +0000)] 
refs: convert struct ref_entry to use struct object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoFourth batch for 2.5 cycle
Junio C Hamano [Fri, 22 May 2015 19:53:21 +0000 (12:53 -0700)] 
Fourth batch for 2.5 cycle

Signed-off-by: Junio C Hamano <gitster@pobox.com>
8 years agoMerge branch 'ps/doc-packfile-vs-pack-file'
Junio C Hamano [Fri, 22 May 2015 19:42:00 +0000 (12:42 -0700)] 
Merge branch 'ps/doc-packfile-vs-pack-file'

Doc consistency updates.

* ps/doc-packfile-vs-pack-file:
  doc: fix inconsistent spelling of "packfile"
  pack-protocol.txt: fix insconsistent spelling of "packfile"
  git-unpack-objects.txt: fix inconsistent spelling of "packfile"
  git-verify-pack.txt: fix inconsistent spelling of "packfile"

8 years agoMerge branch 'sb/t1020-cleanup'
Junio C Hamano [Fri, 22 May 2015 19:41:59 +0000 (12:41 -0700)] 
Merge branch 'sb/t1020-cleanup'

There was a commented-out (instead of being marked to expect
failure) test that documented a breakage that was fixed since the
test was written; turn it into a proper test.

* sb/t1020-cleanup:
  subdirectory tests: code cleanup, uncomment test

8 years agoMerge branch 'lm/squelch-bg-progress'
Junio C Hamano [Fri, 22 May 2015 19:41:58 +0000 (12:41 -0700)] 
Merge branch 'lm/squelch-bg-progress'

The controlling tty-based heuristics to squelch progress output did
not consider that the process may not be talking to a tty at all
(e.g. sending the progress to sideband #2).  This is a finishing
touch to a topic that is already in 'master'.

* lm/squelch-bg-progress:
  progress: treat "no terminal" as being in the foreground

8 years agoMerge branch 'jc/ignore-epipe-in-filter'
Junio C Hamano [Fri, 22 May 2015 19:41:57 +0000 (12:41 -0700)] 
Merge branch 'jc/ignore-epipe-in-filter'

Filter scripts were run with SIGPIPE disabled on the Git side,
expecting that they may not read what Git feeds them to filter.
We however treated a filter that does not read its input fully
before exiting as an error.

This changes semantics, but arguably in a good way.  If a filter
can produce its output without consuming its input using whatever
magic, we now let it do so, instead of diagnosing it as a
programming error.

* jc/ignore-epipe-in-filter:
  filter_buffer_or_fd(): ignore EPIPE
  copy.c: make copy_fd() report its status silently

8 years agoMerge branch 'mh/clone-verbosity-fix'
Junio C Hamano [Fri, 22 May 2015 19:41:56 +0000 (12:41 -0700)] 
Merge branch 'mh/clone-verbosity-fix'

Git 2.4 broke setting verbosity and progress levels on "git clone"
with native transports.

* mh/clone-verbosity-fix:
  clone: call transport_set_verbosity before anything else on the newly created transport

8 years agoMerge branch 'pt/pull-tags-error-diag'
Junio C Hamano [Fri, 22 May 2015 19:41:56 +0000 (12:41 -0700)] 
Merge branch 'pt/pull-tags-error-diag'

There was a dead code that used to handle "git pull --tags" and
show special-cased error message, which was made irrelevant when
the semantics of the option changed back in Git 1.9 days.

* pt/pull-tags-error-diag:
  pull: remove --tags error in no merge candidates case

8 years agoMerge branch 'mh/lockfile-retry'
Junio C Hamano [Fri, 22 May 2015 19:41:55 +0000 (12:41 -0700)] 
Merge branch 'mh/lockfile-retry'

Instead of dying immediately upon failing to obtain a lock, retry
after a short while with backoff.

* mh/lockfile-retry:
  lock_packed_refs(): allow retries when acquiring the packed-refs lock
  lockfile: allow file locking to be retried with a timeout

8 years agoMerge branch 'jk/add-e-kill-editor'
Junio C Hamano [Fri, 22 May 2015 19:41:55 +0000 (12:41 -0700)] 
Merge branch 'jk/add-e-kill-editor'

"git add -e" did not allow the user to abort the operation by
killing the editor.

* jk/add-e-kill-editor:
  add: check return value of launch_editor

8 years agoMerge branch 'sg/completion-config'
Junio C Hamano [Fri, 22 May 2015 19:41:53 +0000 (12:41 -0700)] 
Merge branch 'sg/completion-config'

Code clean-up for completion script (in contrib/).

* sg/completion-config:
  completion: simplify query for config variables
  completion: add a helper function to get config variables

8 years agoMerge branch 'mh/ref-directory-file'
Junio C Hamano [Fri, 22 May 2015 19:41:53 +0000 (12:41 -0700)] 
Merge branch 'mh/ref-directory-file'

The ref API did not handle cases where 'refs/heads/xyzzy/frotz' is
removed at the same time as 'refs/heads/xyzzy' is added (or vice
versa) very well.

* mh/ref-directory-file:
  reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
  ref_transaction_commit(): delete extra "the" from error message
  ref_transaction_commit(): provide better error messages
  rename_ref(): integrate lock_ref_sha1_basic() errors into ours
  lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts
  lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
  verify_refname_available(): report errors via a "struct strbuf *err"
  verify_refname_available(): rename function
  refs: check for D/F conflicts among refs created in a transaction
  ref_transaction_commit(): use a string_list for detecting duplicates
  is_refname_available(): use dirname in first loop
  struct nonmatching_ref_data: store a refname instead of a ref_entry
  report_refname_conflict(): inline function
  entry_matches(): inline function
  is_refname_available(): convert local variable "dirname" to strbuf
  is_refname_available(): avoid shadowing "dir" variable
  is_refname_available(): revamp the comments
  t1404: new tests of ref D/F conflicts within transactions

8 years agoMerge branch 'mh/write-refs-sooner-2.4'
Junio C Hamano [Fri, 22 May 2015 19:41:52 +0000 (12:41 -0700)] 
Merge branch 'mh/write-refs-sooner-2.4'

Multi-ref transaction support we merged a few releases ago
unnecessarily kept many file descriptors open, risking to fail with
resource exhaustion.  This is for 2.4.x track.

* mh/write-refs-sooner-2.4:
  ref_transaction_commit(): fix atomicity and avoid fd exhaustion
  ref_transaction_commit(): remove the local flags variable
  ref_transaction_commit(): inline call to write_ref_sha1()
  rename_ref(): inline calls to write_ref_sha1() from this function
  commit_ref_update(): new function, extracted from write_ref_sha1()
  write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
  t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
  update-ref: test handling large transactions properly
  ref_transaction_commit(): fix atomicity and avoid fd exhaustion
  ref_transaction_commit(): remove the local flags variable
  ref_transaction_commit(): inline call to write_ref_sha1()
  rename_ref(): inline calls to write_ref_sha1() from this function
  commit_ref_update(): new function, extracted from write_ref_sha1()
  write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
  t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
  update-ref: test handling large transactions properly

8 years agoMerge branch 'mg/log-decorate-HEAD'
Junio C Hamano [Fri, 22 May 2015 19:41:51 +0000 (12:41 -0700)] 
Merge branch 'mg/log-decorate-HEAD'

The "log --decorate" enhancement in Git 2.4 that shows the commit
at the tip of the current branch e.g. "HEAD -> master", did not
work with --decorate=full.

* mg/log-decorate-HEAD:
  log: do not shorten decoration names too early
  log: decorate HEAD with branch name under --decorate=full, too

8 years agoMerge branch 'jk/asciidoc-markup-fix'
Junio C Hamano [Fri, 22 May 2015 19:41:50 +0000 (12:41 -0700)] 
Merge branch 'jk/asciidoc-markup-fix'

Various documentation mark-up fixes to make the output more
consistent in general and also make AsciiDoctor (an alternative
formatter) happier.

* jk/asciidoc-markup-fix:
  doc: convert AsciiDoc {?foo} to ifdef::foo[]
  doc: put example URLs and emails inside literal backticks
  doc: drop backslash quoting of some curly braces
  doc: convert \--option to --option
  doc/add: reformat `--edit` option
  doc: fix length of underlined section-title
  doc: fix hanging "+"-continuation
  doc: fix unquoted use of "{type}"
  doc: fix misrendering due to `single quote'

8 years agoMerge branch 'jk/stripspace-asciidoctor-fix'
Junio C Hamano [Fri, 22 May 2015 19:41:49 +0000 (12:41 -0700)] 
Merge branch 'jk/stripspace-asciidoctor-fix'

A literal block in the tutorial had lines with unequal lengths to
delimit it from the rest of the document, which choke GitHub's
AsciiDoc renderer.

* jk/stripspace-asciidoctor-fix:
  doc: fix unmatched code fences in git-stripspace

8 years agoMerge branch 'ja/tutorial-asciidoctor-fix'
Junio C Hamano [Fri, 22 May 2015 19:41:48 +0000 (12:41 -0700)] 
Merge branch 'ja/tutorial-asciidoctor-fix'

A literal block in the tutorial had lines with unequal lengths to
delimit it from the rest of the document, which choke GitHub's
AsciiDoc renderer.

* ja/tutorial-asciidoctor-fix:
  doc: fix unmatched code fences

8 years agoMerge branch 'sg/help-subcommands'
Junio C Hamano [Fri, 22 May 2015 19:41:47 +0000 (12:41 -0700)] 
Merge branch 'sg/help-subcommands'

A preparatory clean-up step.

* sg/help-subcommands:
  command-list.txt: fix whitespace inconsistency

8 years agoMerge branch 'ps/bundle-verify-arg'
Junio C Hamano [Fri, 22 May 2015 19:41:46 +0000 (12:41 -0700)] 
Merge branch 'ps/bundle-verify-arg'

"git bundle verify" did not diagnose extra parameters on the
command line.

* ps/bundle-verify-arg:
  bundle: verify arguments more strictly

8 years agoMerge branch 'ls/http-ssl-cipher-list'
Junio C Hamano [Fri, 22 May 2015 19:41:45 +0000 (12:41 -0700)] 
Merge branch 'ls/http-ssl-cipher-list'

Introduce http.<url>.SSLCipherList configuration variable to tweak
the list of cipher suite to be used with libcURL when talking with
https:// sites.

* ls/http-ssl-cipher-list:
  http: add support for specifying an SSL cipher list

8 years agoMerge branch 'dl/subtree-avoid-tricky-echo'
Junio C Hamano [Fri, 22 May 2015 19:41:45 +0000 (12:41 -0700)] 
Merge branch 'dl/subtree-avoid-tricky-echo'

"git subtree" script (in contrib/) used "echo -n" to produce
progress messages in a non-portable way.

* dl/subtree-avoid-tricky-echo:
  contrib/subtree: portability fix for string printing

8 years agoMerge branch 'jk/skip-http-tests-under-no-curl'
Junio C Hamano [Fri, 22 May 2015 19:41:44 +0000 (12:41 -0700)] 
Merge branch 'jk/skip-http-tests-under-no-curl'

Test clean-up.

* jk/skip-http-tests-under-no-curl:
  tests: skip dav http-push tests under NO_EXPAT=NoThanks
  t/lib-httpd.sh: skip tests if NO_CURL is defined

8 years agoMerge branch 'dl/subtree-push-no-squash'
Junio C Hamano [Fri, 22 May 2015 19:41:43 +0000 (12:41 -0700)] 
Merge branch 'dl/subtree-push-no-squash'

"git subtree" script (in contrib/) does not have --squash option
when pushing, but the documentation and help text pretended as if
it did.

* dl/subtree-push-no-squash:
  contrib/subtree: there's no push --squash

8 years agoMerge branch 'sg/completion-omit-credential-helpers'
Junio C Hamano [Fri, 22 May 2015 19:41:42 +0000 (12:41 -0700)] 
Merge branch 'sg/completion-omit-credential-helpers'

The Git subcommand completion (in contrib/) listed credential
helpers among candidates, which is not something the end user would
invoke interatively.

* sg/completion-omit-credential-helpers:
  completion: remove credential helpers from porcelain commands

8 years agoMerge branch 'dl/branch-error-message'
Junio C Hamano [Fri, 22 May 2015 19:41:41 +0000 (12:41 -0700)] 
Merge branch 'dl/branch-error-message'

Error messages from "git branch" called remote-tracking branches as
"remote branches".

* dl/branch-error-message:
  branch: do not call a "remote-tracking branch" a "remote branch"

8 years agodoc: fix inconsistent spelling of "packfile"
Patrick Steinhardt [Fri, 22 May 2015 06:22:04 +0000 (08:22 +0200)] 
doc: fix inconsistent spelling of "packfile"

Fix remaining instances where "pack-file" is used instead of
"packfile". Some places remain where we still use "pack-file",
This is the case when we explicitly refer to a file with a
".pack" extension as opposed to a data source providing a pack
data stream.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agofilter_buffer_or_fd(): ignore EPIPE
Junio C Hamano [Tue, 19 May 2015 18:08:23 +0000 (11:08 -0700)] 
filter_buffer_or_fd(): ignore EPIPE

We are explicitly ignoring SIGPIPE, as we fully expect that the
filter program may not read our output fully.  Ignore EPIPE that
may come from writing to it as well.

A new test was stolen from Jeff's suggestion.

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agocopy.c: make copy_fd() report its status silently
Junio C Hamano [Tue, 19 May 2015 17:55:16 +0000 (10:55 -0700)] 
copy.c: make copy_fd() report its status silently

When copy_fd() function encounters errors, it emits error messages
itself, which makes it impossible for callers to take responsibility
for reporting errors, especially when they want to ignore certain
errors.

Move the error reporting to its callers in preparation.

 - copy_file() and copy_file_with_time() by indirection get their
   own calls to error().

 - hold_lock_file_for_append(), when told to die on error, used to
   exit(128) relying on the error message from copy_fd(), but now it
   does its own die() instead.  Note that the callers that do not
   pass LOCK_DIE_ON_ERROR need to be adjusted for this change, but
   fortunately there is none ;-)

 - filter_buffer_or_fd() has its own error() already, in addition to
   the message from copy_fd(), so this will change the output but
   arguably in a better way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoThird batch for 2.5 cycle
Junio C Hamano [Tue, 19 May 2015 20:24:08 +0000 (13:24 -0700)] 
Third batch for 2.5 cycle

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'sb/ref-lock-lose-lock-fd'
Junio C Hamano [Tue, 19 May 2015 20:17:59 +0000 (13:17 -0700)] 
Merge branch 'sb/ref-lock-lose-lock-fd'

The refs API uses ref_lock struct which had its own "int fd", even
though the same file descriptor was in the lock struct it contains.
Clean-up the code to lose this redundant field.

* sb/ref-lock-lose-lock-fd:
  refs.c: remove lock_fd from struct ref_lock

9 years agoMerge branch 'kn/cat-file-literally'
Junio C Hamano [Tue, 19 May 2015 20:17:58 +0000 (13:17 -0700)] 
Merge branch 'kn/cat-file-literally'

Add the "--allow-unknown-type" option to "cat-file" to allow
inspecting loose objects of an experimental or a broken type.

* kn/cat-file-literally:
  t1006: add tests for git cat-file --allow-unknown-type
  cat-file: teach cat-file a '--allow-unknown-type' option
  cat-file: make the options mutually exclusive
  sha1_file: support reading from a loose object of unknown type

9 years agoMerge branch 'nd/dwim-wildcards-as-pathspecs'
Junio C Hamano [Tue, 19 May 2015 20:17:57 +0000 (13:17 -0700)] 
Merge branch 'nd/dwim-wildcards-as-pathspecs'

A heuristic to help the "git <cmd> <revs> <pathspec>" command line
convention to catch mistyped paths is to make sure all the non-rev
parameters in the later part of the command line are names of the
files in the working tree, but that means "git grep $str -- \*.c"
must always be disambiguated with "--", because nobody sane will
create a file whose name literally is asterisk-dot-see.  Loosen the
heuristic to declare that with a wildcard string the user likely
meant to give us a pathspec.

* nd/dwim-wildcards-as-pathspecs:
  pathspec: avoid the need of "--" when wildcard is used

9 years agoMerge branch 'jc/merge'
Junio C Hamano [Tue, 19 May 2015 20:17:57 +0000 (13:17 -0700)] 
Merge branch 'jc/merge'

"git merge FETCH_HEAD" learned that the previous "git fetch" could
be to create an Octopus merge, i.e. recording multiple branches
that are not marked as "not-for-merge"; this allows us to lose an
old style invocation "git merge <msg> HEAD $commits..." in the
implementation of "git pull" script; the old style syntax can now
be deprecated.

* jc/merge:
  merge: deprecate 'git merge <message> HEAD <commit>' syntax
  merge: handle FETCH_HEAD internally
  merge: decide if we auto-generate the message early in collect_parents()
  merge: make collect_parents() auto-generate the merge message
  merge: extract prepare_merge_message() logic out
  merge: narrow scope of merge_names
  merge: split reduce_parents() out of collect_parents()
  merge: clarify collect_parents() logic
  merge: small leakfix and code simplification
  merge: do not check argc to determine number of remote heads
  merge: clarify "pulling into void" special case
  t5520: test pulling an octopus into an unborn branch
  t5520: style fixes
  merge: simplify code flow
  merge: test the top-level merge driver

9 years agoMerge branch 'ph/rebase-i-redo'
Junio C Hamano [Tue, 19 May 2015 20:17:56 +0000 (13:17 -0700)] 
Merge branch 'ph/rebase-i-redo'

"git rebase -i" moved the "current" command from "todo" to "done" a
bit too prematurely, losing a step when a "pick" did not even start.

* ph/rebase-i-redo:
  rebase -i: redo tasks that die during cherry-pick

9 years agoMerge branch 'jc/test-prereq-validate'
Junio C Hamano [Tue, 19 May 2015 20:17:55 +0000 (13:17 -0700)] 
Merge branch 'jc/test-prereq-validate'

Help us to find broken test script that splits the body part of the
test by mistaken use of wrong kind of quotes.

* jc/test-prereq-validate:
  test: validate prerequistes syntax

9 years agoMerge branch 'bc/connect-plink'
Junio C Hamano [Tue, 19 May 2015 20:17:54 +0000 (13:17 -0700)] 
Merge branch 'bc/connect-plink'

The connection initiation code for "ssh" transport tried to absorb
differences between the stock "ssh" and Putty-supplied "plink" and
its derivatives, but the logic to tell that we are using "plink"
variants were too loose and falsely triggered when "plink" appeared
anywhere in the path (e.g. "/home/me/bin/uplink/ssh").

* bc/connect-plink:
  connect: improve check for plink to reduce false positives
  t5601: fix quotation error leading to skipped tests
  connect: simplify SSH connection code path

9 years agoMerge branch 'jk/test-chain-lint'
Junio C Hamano [Tue, 19 May 2015 20:17:54 +0000 (13:17 -0700)] 
Merge branch 'jk/test-chain-lint'

Developer support to automatically detect broken &&-chain in the
test scripts is now turned on by default.

* jk/test-chain-lint:
  test-lib: turn on GIT_TEST_CHAIN_LINT by default
  t7502-commit.sh: fix a broken and-chain

9 years agoMerge branch 'fg/document-commit-message-stripping'
Junio C Hamano [Tue, 19 May 2015 20:17:53 +0000 (13:17 -0700)] 
Merge branch 'fg/document-commit-message-stripping'

* fg/document-commit-message-stripping:
  Documentation: clarify how "git commit" cleans up the edited log message

9 years agoMerge branch 'jk/stash-require-clean-index'
Junio C Hamano [Tue, 19 May 2015 20:17:52 +0000 (13:17 -0700)] 
Merge branch 'jk/stash-require-clean-index'

"git stash pop/apply" forgot to make sure that not just the working
tree is clean but also the index is clean. The latter is important
as a stash application can conflict and the index will be used for
conflict resolution.

* jk/stash-require-clean-index:
  stash: require a clean index to apply
  t3903: avoid applying onto dirty index
  t3903: stop hard-coding commit sha1s

9 years agoMerge branch 'jk/git-no-more-argv0-path-munging'
Junio C Hamano [Tue, 19 May 2015 20:17:52 +0000 (13:17 -0700)] 
Merge branch 'jk/git-no-more-argv0-path-munging'

We have prepended $GIT_EXEC_PATH and the path "git" is installed in
(typically "/usr/bin") to $PATH when invoking subprograms and hooks
for almost eternity, but the original use case the latter tried to
support was semi-bogus (i.e. install git to /opt/foo/git and run it
without having /opt/foo on $PATH), and more importantly it has
become less and less relevant as Git grew more mainstream (i.e. the
users would _want_ to have it on their $PATH).  Stop prepending the
path in which "git" is installed to users' $PATH, as that would
interfere the command search order people depend on (e.g. they may
not like versions of programs that are unrelated to Git in /usr/bin
and want to override them by having different ones in /usr/local/bin
and have the latter directory earlier in their $PATH).

* jk/git-no-more-argv0-path-munging:
  stop putting argv[0] dirname at front of PATH

9 years agoMerge branch 'jc/gitignore-precedence'
Junio C Hamano [Tue, 19 May 2015 20:17:50 +0000 (13:17 -0700)] 
Merge branch 'jc/gitignore-precedence'

core.excludesfile (defaulting to $XDG_HOME/git/ignore) is supposed
to be overridden by repository-specific .git/info/exclude file, but
the order was swapped from the beginning. This belatedly fixes it.

* jc/gitignore-precedence:
  ignore: info/exclude should trump core.excludesfile

9 years agoMerge branch 'nd/diff-i-t-a'
Junio C Hamano [Tue, 19 May 2015 20:17:49 +0000 (13:17 -0700)] 
Merge branch 'nd/diff-i-t-a'

After "git add -N", the path appeared in output of "git diff HEAD"
and "git diff --cached HEAD", leading "git status" to classify it
as "Changes to be committed".  Such a path, however, is not yet to
be scheduled to be committed.  "git diff" showed the change to the
path as modification, not as a "new file", in the header of its
output.

Treat such paths as "yet to be added to the index but Git already
know about them"; "git diff HEAD" and "git diff --cached HEAD"
should not talk about them, and "git diff" should show them as new
files yet to be added to the index.

* nd/diff-i-t-a:
  diff-lib.c: adjust position of i-t-a entries in diff

9 years agoprogress: treat "no terminal" as being in the foreground
Jeff King [Tue, 19 May 2015 05:24:57 +0000 (01:24 -0400)] 
progress: treat "no terminal" as being in the foreground

progress: treat "no terminal" as being in the foreground

Commit 85cb890 (progress: no progress in background,
2015-04-13) avoids sending progress from background
processes by checking that the process group id of the
current process is the same as that of the controlling
terminal.

If we don't have a terminal, however, this check never
succeeds, and we print no progress at all (until the final
"done" message). This can be seen when cloning a large
repository; instead of getting progress updates for
"counting objects", it will appear to hang then print the
final count.

We can fix this by treating an error return from tcgetpgrp()
as a signal to show the progress.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoclone: call transport_set_verbosity before anything else on the newly created transport
Mike Hommey [Tue, 12 May 2015 04:30:16 +0000 (13:30 +0900)] 
clone: call transport_set_verbosity before anything else on the newly created transport

Commit 2879bc3 made the progress and verbosity options sent to remote helper
earlier than they previously were. But nothing else after that would send
updates if the value is changed later on with transport_set_verbosity.

While for fetch and push, transport_set_verbosity is the first thing that
is done after creating the transport, it was not the case for clone. So
commit 2879bc3 broke changing progress and verbosity for clone, for urls
requiring a remote helper only (so, not git:// urls, for instance).

Moving transport_set_verbosity to just after the transport is created
works around the issue.

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agosubdirectory tests: code cleanup, uncomment test
Stefan Beller [Mon, 18 May 2015 21:10:26 +0000 (14:10 -0700)] 
subdirectory tests: code cleanup, uncomment test

Back when these tests were written, we wanted to make sure that Git
notices it is in a bare repository and "git show -s HEAD" would
refrain from complaining that HEAD might mean a file it sees in its
current working directory (because it does not).  But the version of
Git back then didn't behave well, without (doubly) being told that
it is inside a bare repository by exporting "GIT_DIR=.".  The form
of the test we originally wanted to have was left commented out as
a reminder.

Nowadays the test as originally intended works, so add it to the
test suite.  We'll keep the old test that explicitly sets GIT_DIR=.
to make sure that use case will not regress.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agopack-protocol.txt: fix insconsistent spelling of "packfile"
Patrick Steinhardt [Sun, 17 May 2015 06:56:54 +0000 (08:56 +0200)] 
pack-protocol.txt: fix insconsistent spelling of "packfile"

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agogit-unpack-objects.txt: fix inconsistent spelling of "packfile"
Patrick Steinhardt [Sun, 17 May 2015 06:56:53 +0000 (08:56 +0200)] 
git-unpack-objects.txt: fix inconsistent spelling of "packfile"

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agogit-verify-pack.txt: fix inconsistent spelling of "packfile"
Patrick Steinhardt [Sun, 17 May 2015 06:56:52 +0000 (08:56 +0200)] 
git-verify-pack.txt: fix inconsistent spelling of "packfile"

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agolock_packed_refs(): allow retries when acquiring the packed-refs lock
Michael Haggerty [Mon, 11 May 2015 10:35:26 +0000 (12:35 +0200)] 
lock_packed_refs(): allow retries when acquiring the packed-refs lock

Currently, there is only one attempt to acquire any lockfile, and if
the lock is held by another process, the locking attempt fails
immediately.

This is not such a limitation for loose reference files. First, they
don't take long to rewrite. Second, most reference updates have a
known "old" value, so if another process is updating a reference at
the same moment that we are trying to lock it, then probably the
expected "old" value will not longer be valid, and the update will
fail anyway.

But these arguments do not hold for packed-refs:

* The packed-refs file can be large and take significant time to
  rewrite.

* Many references are stored in a single packed-refs file, so it could
  be that the other process was changing a different reference than
  the one that we are interested in.

Therefore, it is much more likely for there to be spurious lock
conflicts in connection to the packed-refs file, resulting in
unnecessary command failures.

So, if the first attempt to lock the packed-refs file fails, continue
retrying for a configurable length of time before giving up. The
default timeout is 1 second.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agolockfile: allow file locking to be retried with a timeout
Michael Haggerty [Mon, 11 May 2015 10:35:25 +0000 (12:35 +0200)] 
lockfile: allow file locking to be retried with a timeout

Currently, there is only one attempt to lock a file. If it fails, the
whole operation fails.

But it might sometimes be advantageous to try acquiring a file lock a
few times before giving up. So add a new function,
hold_lock_file_for_update_timeout(), that allows a timeout to be
specified. Make hold_lock_file_for_update() a thin wrapper around the
new function.

If timeout_ms is positive, then retry for at least that many
milliseconds to acquire the lock. On each failed attempt, use select()
to wait for a backoff time that increases quadratically (capped at 1
second) and has a random component to prevent two processes from
getting synchronized. If timeout_ms is negative, retry indefinitely.

In a moment we will switch to using the new function when locking
packed-refs.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agopull: remove --tags error in no merge candidates case
Paul Tan [Wed, 13 May 2015 10:06:47 +0000 (18:06 +0800)] 
pull: remove --tags error in no merge candidates case

Since 441ed41 ("git pull --tags": error out with a better message.,
2007-12-28), git pull --tags would print a different error message if
git-fetch did not return any merge candidates:

   It doesn't make sense to pull all tags; you probably meant:
        git fetch --tags

This is because at that time, git-fetch --tags would override any
configured refspecs, and thus there would be no merge candidates. The
error message was thus introduced to prevent confusion.

However, since c5a84e9 (fetch --tags: fetch tags *in addition to*
other stuff, 2013-10-30), git fetch --tags would fetch tags in addition
to any configured refspecs. Hence, if any no merge candidates situation
occurs, it is not because --tags was set. As such, this special error
message is now irrelevant.

To prevent confusion, remove this error message.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agodoc: convert AsciiDoc {?foo} to ifdef::foo[]
Jeff King [Thu, 14 May 2015 04:34:48 +0000 (00:34 -0400)] 
doc: convert AsciiDoc {?foo} to ifdef::foo[]

The former seems to just be syntactic sugar for the latter.
And as it's sugar that AsciiDoctor doesn't understand, it
would be nice to avoid it. Since there are only two spots,
and the resulting source is not significantly harder to
read, it's worth doing.

Note that this does slightly affect the generated HTML (it
has an extra newline), but the rendered result for both HTML
and docbook should be the same (since the newline is not
syntactically significant there).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoSync with 2.4.1
Junio C Hamano [Wed, 13 May 2015 21:34:46 +0000 (14:34 -0700)] 
Sync with 2.4.1

* maint:
  Git 2.4.1

9 years agoGit 2.4.1 v2.4.1
Junio C Hamano [Wed, 13 May 2015 21:11:43 +0000 (14:11 -0700)] 
Git 2.4.1

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