gitweb.git
add quieter versions of parse_{tree,commit}Jeff King Mon, 1 Jun 2015 09:56:26 +0000 (05:56 -0400)

add quieter versions of parse_{tree,commit}

When we call parse_commit, it will complain to stderr if the
object does not exist or cannot be read. This means that we
may produce useless error messages if this situation is
expected (e.g., because the object is marked UNINTERESTING,
or because revs->ignore_missing_links is set).

We can fix this by adding a new "parse_X_gently" form that
takes a flag to suppress the messages. The existing
"parse_X" form is already gentle in the sense that it
returns an error rather than dying, and we could in theory
just add a "quiet" flag to it (with existing callers passing
"0"). But doing it this way means we do not have to disturb
existing callers.

Note also that the new flag is "quiet_on_missing", and not
just "quiet". We could add a flag to suppress _all_ errors,
but besides being a more invasive change (we would have to
pass the flag down to sub-functions, too), there is a good
reason not to: we would never want to use it. Missing a
linked object is expected in some circumstances, but it is
never expected to have a malformed commit, or to get a tree
when we wanted a commit. We should always complain about
these corruptions.

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

completion: suggest sequencer commands for revertThomas Braun Mon, 25 May 2015 09:59:35 +0000 (11:59 +0200)

completion: suggest sequencer commands for revert

Signed-off-by: Thomas Braun <thomas.braun@virtuell-zuhause.de>
Acked-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

glossary: add "remote", "submodule", "superproject"Stefan Beller Fri, 29 May 2015 18:23:56 +0000 (11:23 -0700)

glossary: add "remote", "submodule", "superproject"

Noticed-by: Philip Oakley <philipoakley@iee.org>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

setup_git_directory: delay core.bare/core.worktree... Jeff King Fri, 29 May 2015 06:49:10 +0000 (02:49 -0400)

setup_git_directory: delay core.bare/core.worktree errors

If both core.bare and core.worktree are set, we complain
about the bogus config and die. Dying is good, because it
avoids commands running and doing damage in a potentially
incorrect setup. But dying _there_ is bad, because it means
that commands which do not even care about the work tree
cannot run. This can make repairing the situation harder:

[setup]
$ git config core.bare true
$ git config core.worktree /some/path

[OK, expected.]
$ git status
fatal: core.bare and core.worktree do not make sense

[Hrm...]
$ git config --unset core.worktree
fatal: core.bare and core.worktree do not make sense

[Nope...]
$ git config --edit
fatal: core.bare and core.worktree do not make sense

[Gaaah.]
$ git help config
fatal: core.bare and core.worktree do not make sense

Instead, let's issue a warning about the bogus config when
we notice it (i.e., for all commands), but only die when the
command tries to use the work tree (by calling setup_work_tree).
So we now get:

$ git status
warning: core.bare and core.worktree do not make sense
fatal: unable to set up work tree using invalid config

$ git config --unset core.worktree
warning: core.bare and core.worktree do not make sense

We have to update t1510 to accomodate this; it uses
symbolic-ref to check whether the configuration works or
not, but of course that command does not use the working
tree. Instead, we switch it to use `git status`, as it
requires a work-tree, does not need any special setup, and
is read-only (so a failure will not adversely affect further
tests).

In addition, we add a new test that checks the desired
behavior (i.e., that running "git config" with the bogus
config does in fact work).

Reported-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: silence perl/PM.stamp recipeJeff King Fri, 29 May 2015 07:26:48 +0000 (03:26 -0400)

Makefile: silence perl/PM.stamp recipe

Every time we run "make", we update perl/PM.stamp, which
contains a list of all of the perl module files (if it's
updated, we need to rebuild perl/perl.mak, since the
Makefile will not otherwise know about the new files).

This means that every time "make" is run, we see:

GEN perl/PM.stamp

in the output, even though it is not likely to have changed.
Let's make this recipe completely silent, as we do for other
auto-generated dependency files (e.g., GIT-CFLAGS).

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

Makefile: avoid timestamp updates to GIT-BUILD-OPTIONSJeff King Fri, 29 May 2015 07:26:30 +0000 (03:26 -0400)

Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS

We force the GIT-BUILD-OPTIONS recipe to run every time
"make" is invoked. We must do this to catch new options
which may have come from the command-line or environment.

However, we actually update the file's timestamp each time
the recipe is run, whether anything changed or not. As a
result, any files which depend on it (for example, all of
the perl scripts, which need to know whether NO_PERL was
set) will be re-built every time.

Let's do our usual trick of writing to a tempfile, then
doing a "cmp || mv" to update the file only when something
changed.

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

Makefile: drop dependency between git-instaweb and... Jeff King Fri, 29 May 2015 07:25:45 +0000 (03:25 -0400)

Makefile: drop dependency between git-instaweb and gitweb

The rule for "git-instaweb" depends on "gitweb". This makes
no sense, because:

1. git-instaweb has no build-time dependency on gitweb; it
is a run-time dependency

2. gitweb is a directory that we want to recursively make
in. As a result, its recipe is marked .PHONY, which
causes "make" to rebuild git-instaweb every time it is
run.

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

t5520: check reflog action in fast-forward mergePaul Tan Fri, 29 May 2015 11:44:45 +0000 (19:44 +0800)

t5520: check reflog action in fast-forward merge

When testing a fast-forward merge with git-pull, check to see if the
reflog action is "pull" with the arguments passed to git-pull.

While we are in the vicinity, remove the empty line as well.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5521: test --dry-run does not make any changesPaul Tan Fri, 29 May 2015 11:44:44 +0000 (19:44 +0800)

t5521: test --dry-run does not make any changes

Test that when --dry-run is provided to git-pull, it does not make any
changes, namely:

* --dry-run gets passed to git-fetch, so no FETCH_HEAD will be created
and no refs will be fetched.

* The index and work tree will not be modified.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5520: test --rebase failure on unborn branch with... Paul Tan Fri, 29 May 2015 11:44:43 +0000 (19:44 +0800)

t5520: test --rebase failure on unborn branch with index

Commit 19a7fcb (allow pull --rebase on branch yet to be born,
2009-08-11) special cases git-pull on an unborn branch in a different
code path such that git-pull --rebase is still valid even though there
is no HEAD yet.

This code path still ensures that there is no index in order not to lose
any staged changes. Implement a test to ensure that this check is
triggered.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5520: test --rebase with multiple branchesPaul Tan Fri, 29 May 2015 11:44:42 +0000 (19:44 +0800)

t5520: test --rebase with multiple branches

Since rebasing on top of multiple upstream branches does not make sense,
since 51b2ead (disallow providing multiple upstream branches to rebase,
pull --rebase, 2009-02-18), git-pull explicitly disallowed specifying
multiple branches in the rebase case.

Implement tests to ensure that git-pull fails and prints out the
user-friendly error message in such a case.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5520: test work tree fast-forward when fetch updates... Paul Tan Fri, 29 May 2015 11:44:41 +0000 (19:44 +0800)

t5520: test work tree fast-forward when fetch updates head

Since b10ac50 (Fix pulling into the same branch., 2005-08-25), git-pull,
upon detecting that git-fetch updated the current head, will
fast-forward the working tree to the updated head commit.

Implement tests to ensure that the fast-forward occurs in such a case,
as well as to ensure that the user-friendly advice is printed upon
failure.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5520: test for failure if index has unresolved entriesPaul Tan Fri, 29 May 2015 11:44:40 +0000 (19:44 +0800)

t5520: test for failure if index has unresolved entries

Commit d38a30d (Be more user-friendly when refusing to do something
because of conflict., 2010-01-12) introduced code paths to git-pull
which will error out with user-friendly advices if the user is in the
middle of a merge or has unmerged files.

Implement tests to ensure that git-pull will not run, and will print
these advices, if the user is in the middle of a merge or has unmerged
files in the index.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

submodule doc: reorder introductory paragraphsStefan Beller Wed, 27 May 2015 19:48:01 +0000 (12:48 -0700)

submodule doc: reorder introductory paragraphs

It's better to start the man page with a description of what
submodules actually are, instead of saying what they are not.

Reorder the paragraphs such that

- the first short paragraph introduces the submodule concept,
- the second paragraph highlights the usage of the submodule command,
- the third paragraph giving background information, and finally
- the fourth paragraph discusing alternatives such as subtrees and
remotes, which we don't want to be confused with.

This ordering deepens the knowledge on submodules with each paragraph.
First the basic questions like "How/what" will be answered, while the
underlying concepts will be taught at a later time.

Making sure it is not confused with subtrees and remotes is not really
enhancing knowledge of submodules itself, but rather painting the big
picture of git concepts, so you could also argue to have it as the second
paragraph. Personally I think this may confuse readers, specially
newcomers though.

Additionally to reordering the paragraphs, they have been slightly
reworded.

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

Documentation: include 'merge.branchdesc' for merge... SZEDER Gábor Wed, 27 May 2015 21:52:23 +0000 (23:52 +0200)

Documentation: include 'merge.branchdesc' for merge and config as well

'merge.branchdesc' is only mentioned in the docs of 'git fmt-merge-msg'.

The description of 'merge.log' is already duplicated between
'merge-config.txt' and 'git-fmt-merge-msg.txt'; instead of duplicating the
description of another config variable, extract the descriptions of both
of these variables from 'git-fmt-merge-msg.txt' into a separate file and
include it there and in 'merge-config.txt'.

Leave 'merge.summary' only in git-fmt-merge-msg.txt, as it is marked
as deprecated.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

xmmap(): drop "Out of memory?"Junio C Hamano Wed, 27 May 2015 20:30:29 +0000 (13:30 -0700)

xmmap(): drop "Out of memory?"

We show that message with die_errno(), but the OS is ought to know
why mmap(2) failed much better than we do. There is no reason for
us to say "Out of memory?" here.

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

config.c: rewrite ENODEV into EISDIR when mmap failsJeff King Thu, 28 May 2015 08:03:01 +0000 (04:03 -0400)

config.c: rewrite ENODEV into EISDIR when mmap fails

If we try to mmap a directory, we'll get ENODEV. This
translates to "no such device" for the user, which is not
very helpful. Since we've just fstat()'d the file, we can
easily check whether the problem was a directory to give a
better message.

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

config.c: avoid xmmap error messagesJeff King Thu, 28 May 2015 07:56:15 +0000 (03:56 -0400)

config.c: avoid xmmap error messages

The config-writing code uses xmmap to map the existing
config file, which will die if the map fails. This has two
downsides:

1. The error message is not very helpful, as it lacks any
context about the file we are mapping:

$ mkdir foo
$ git config --file=foo some.key value
fatal: Out of memory? mmap failed: No such device

2. We normally do not die in this code path; instead, we'd
rather report the error and return an appropriate exit
status (which is part of the public interface
documented in git-config.1).

This patch introduces a "gentle" form of xmmap which lets us
produce our own error message. We do not want to use mmap
directly, because we would like to use the other
compatibility elements of xmmap (e.g., handling 0-length
maps portably).

The end result is:

$ git.compile config --file=foo some.key value
error: unable to mmap 'foo': No such device
$ echo $?
3

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

config.c: fix mmap leak when writing configJeff King Thu, 28 May 2015 07:54:43 +0000 (03:54 -0400)

config.c: fix mmap leak when writing config

We mmap the existing config file, but fail to unmap it if we
hit an error. The function already has a shared exit path,
so we can fix this by moving the mmap pointer to the
function scope and clearing it in the shared exit.

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

read-cache.c: drop PROT_WRITE from mmap of indexJeff King Thu, 28 May 2015 07:54:00 +0000 (03:54 -0400)

read-cache.c: drop PROT_WRITE from mmap of index

Once upon a time, git's in-memory representation of a cache
entry actually pointed to the mmap'd on-disk data. So in
520fc24 (Allow writing to the private index file mapping.,
2005-04-26), we specified PROT_WRITE so that we could tweak
the entries while we run (in our own MAP_PRIVATE copy-on-write
version, of course).

Later, 7a51ed6 (Make on-disk index representation separate
from in-core one, 2008-01-14) stopped doing this; we copy
the data into our in-core representation, and then drop the
mmap immediately. We can therefore drop the PROT_WRITE flag.
It's probably not hurting anything as it is, but it's
potentially confusing.

Note that we could also mark the mapping as "const" to
verify that we never write to it. However, we don't
typically do that for our other maps, as it then requires
casting to munmap() it.

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

p4: retrieve the right revision of the file in UTF... Miguel Torroja Wed, 27 May 2015 23:14:39 +0000 (01:14 +0200)

p4: retrieve the right revision of the file in UTF-16 codepath

Fixing bug with UTF-16 files when they are retrieved by git-p4. It
was always getting the tip version of the file and the history of
the file was lost.

Signed-off-by: Miguel Torroja <miguel.torroja@gmail.com>
Acked-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ref_transaction_commit(): do not capitalize error messagesMichael Haggerty Fri, 22 May 2015 23:34:57 +0000 (01:34 +0200)

ref_transaction_commit(): do not capitalize error messages

Our convention is for error messages to start with a lower-case
letter.

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

verify_lock(): do not capitalize error messagesMichael Haggerty Fri, 22 May 2015 23:34:56 +0000 (01:34 +0200)

verify_lock(): do not capitalize error messages

Our convention is for error messages to start with a lower-case
letter.

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

verify_lock(): report errors via a strbufMichael Haggerty Fri, 22 May 2015 23:34:55 +0000 (01:34 +0200)

verify_lock(): report errors via a strbuf

Instead of writing error messages directly to stderr, write them to
a "strbuf *err". The caller, lock_ref_sha1_basic(), uses this error
reporting convention with all the other callees, and reports its
error this way to its callers.

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

diff.h: rename DIFF_PLAIN color slot to DIFF_CONTEXTJeff King Wed, 27 May 2015 20:48:46 +0000 (16:48 -0400)

diff.h: rename DIFF_PLAIN color slot to DIFF_CONTEXT

The latter is a much more descriptive name (and we support
"color.diff.context" now). This also updates the name of any
local variables which were used to store the color.

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

diff: accept color.diff.context as a synonym for "plain"Jeff King Wed, 27 May 2015 07:22:19 +0000 (03:22 -0400)

diff: accept color.diff.context as a synonym for "plain"

The term "plain" is a bit ambiguous; let's allow the more
specific "context", but keep "plain" around for
compatibility.

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

Merge branch 'nd/untracked-cache'Junio C Hamano Wed, 27 May 2015 20:14:38 +0000 (13:14 -0700)

Merge branch 'nd/untracked-cache'

* nd/untracked-cache:
t7063: hide stderr from setup inside prereq

t7063: hide stderr from setup inside prereqJeff King Wed, 27 May 2015 09:34:58 +0000 (05:34 -0400)

t7063: hide stderr from setup inside prereq

When t7063 starts, it runs "update-index --untracked-cache"
to see if we support the untracked cache. Its output goes
straight to stderr, even if the test is not run with "-v".
Let's wrap it in a prereq that will hide the output by
default, but show it with "-v".

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

t9001: write $HOME/, not ~/, to help shells without... Junio C Hamano Sat, 23 May 2015 18:07:50 +0000 (11:07 -0700)

t9001: write $HOME/, not ~/, to help shells without tilde expansion

Even though it is in POSIX, we do not have to use it, only to hurt
shells that may lack the support.

The .mailrc test tries to define an alias in .mailrc in the home
directory by shell redirection, and then tries to see ~/.mailrc in
config is tilde-expanded by Git without help from shell. So the
creation should become $HOME/ to be portable for shells that may
lack tilde expansion but the reference should be done as "~/.mailrc".

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

send-email: add sendmail email aliases formatAllen Hubbe Tue, 26 May 2015 21:32:03 +0000 (17:32 -0400)

send-email: add sendmail email aliases format

Teach send-email to read aliases in the sendmail aliases format, i.e.

<alias>: <address|alias>[, <address|alias>...]

Examples:

alice: Alice W Land <awol@example.com>
bob: Robert Bobbyton <bob@example.com>
# this is a comment
# this is also a comment
chloe: chloe@example.com
abgroup: alice, bob
bcgrp: bob, chloe, Other <o@example.com>

- Quoted aliases and quoted addresses are not supported.
- Line continuations are not supported.

Warnings are printed for explicitly unsupported constructs, and any
other lines that are not matched by the parser.

Signed-off-by: Allen Hubbe <allenbh@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

verify_lock(): on errors, let the caller unlock the... Michael Haggerty Fri, 22 May 2015 23:34:54 +0000 (01:34 +0200)

verify_lock(): on errors, let the caller unlock the lock

The caller already knows how to do it, so always do it in the same
place.

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

verify_lock(): return 0/-1 rather than struct ref_lock *Michael Haggerty Fri, 22 May 2015 23:34:53 +0000 (01:34 +0200)

verify_lock(): return 0/-1 rather than struct ref_lock *

Its return value wasn't conveying any extra information, but it made
the reader wonder whether the ref_lock that it returned might be
different than the one that was passed to it. So change the function
to the traditional "return 0 on success or a negative value on error".

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

clone: reorder --dissociate and --reference optionsJeff King Thu, 21 May 2015 04:16:04 +0000 (00:16 -0400)

clone: reorder --dissociate and --reference options

These options are intimately related, so it makes sense to
list them nearby in the "-h" output (they are already
adjacent in the manpage).

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

clone: use OPT_STRING_LIST for --referenceJeff King Thu, 21 May 2015 04:15:19 +0000 (00:15 -0400)

clone: use OPT_STRING_LIST for --reference

Not only does this save us having to implement a custom
callback, but it handles "--no-reference" in the usual way
(to clear the list).

The generic callback does copy the string, which we don't
technically need, but that should not hurt anything.

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

diff.c: --ws-error-highlight=<kind> optionJunio C Hamano Tue, 26 May 2015 17:11:28 +0000 (10:11 -0700)

diff.c: --ws-error-highlight=<kind> option

Traditionally, we only cared about whitespace breakages introduced
in new lines. Some people want to paint whitespace breakages on old
lines, too. When they see a whitespace breakage on a new line, they
can spot the same kind of whitespace breakage on the corresponding
old line and want to say "Ah, those breakages are there but they
were inherited from the original, so let's not touch them for now."

Introduce `--ws-error-highlight=<kind>` option, that lets them pass
a comma separated list of `old`, `new`, and `context` to specify
what lines to highlight whitespace errors on.

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

diff.c: add emit_del_line() and emit_context_line()Junio C Hamano Tue, 26 May 2015 16:56:33 +0000 (09:56 -0700)

diff.c: add emit_del_line() and emit_context_line()

Traditionally, we only had emit_add_line() helper, which knows how
to find and paint whitespace breakages on the given line, because we
only care about whitespace breakages introduced in new lines. The
context lines and old (i.e. deleted) lines are emitted with a
simpler emit_line_0() that paints the entire line in plain or old
colors.

Identify callers of emit_line_0() that show deleted lines and
context lines, have them call new helpers, emit_del_line() and
emit_context_line(), so that we can later tweak what is done to
these two classes of lines.

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

Sync with 2.4.2Junio C Hamano Tue, 26 May 2015 20:50:39 +0000 (13:50 -0700)

Sync with 2.4.2

Git 2.4.2 v2.4.2Junio C Hamano Tue, 26 May 2015 20:49:59 +0000 (13:49 -0700)

Git 2.4.2

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

Merge branch 'jk/still-interesting' into maintJunio C Hamano Tue, 26 May 2015 20:49:26 +0000 (13:49 -0700)

Merge branch 'jk/still-interesting' into maint

"git rev-list --objects $old --not --all" to see if everything that
is reachable from $old is already connected to the existing refs
was very inefficient.

* jk/still-interesting:
limit_list: avoid quadratic behavior from still_interesting

Merge branch 'jc/hash-object' into maintJunio C Hamano Tue, 26 May 2015 20:49:24 +0000 (13:49 -0700)

Merge branch 'jc/hash-object' into maint

"hash-object --literally" introduced in v2.2 was not prepared to
take a really long object type name.

* jc/hash-object:
write_sha1_file(): do not use a separate sha1[] array
t1007: add hash-object --literally tests
hash-object --literally: fix buffer overrun with extra-long object type
git-hash-object.txt: document --literally option

Merge branch 'jk/rebase-quiet-noop' into maintJunio C Hamano Tue, 26 May 2015 20:49:23 +0000 (13:49 -0700)

Merge branch 'jk/rebase-quiet-noop' into maint

"git rebase --quiet" was not quite quiet when there is nothing to
do.

* jk/rebase-quiet-noop:
rebase: silence "git checkout" for noop rebase

Merge branch 'sg/complete-decorate-full-not-long' into... Junio C Hamano Tue, 26 May 2015 20:49:22 +0000 (13:49 -0700)

Merge branch 'sg/complete-decorate-full-not-long' into maint

The completion for "log --decorate=" parameter value was incorrect.

* sg/complete-decorate-full-not-long:
completion: fix and update 'git log --decorate=' options

Merge branch 'jk/filter-branch-use-of-sed-on-incomplete... Junio C Hamano Tue, 26 May 2015 20:49:20 +0000 (13:49 -0700)

Merge branch 'jk/filter-branch-use-of-sed-on-incomplete-line' into maint

"filter-branch" corrupted commit log message that ends with an
incomplete line on platforms with some "sed" implementations that
munge such a line. Work it around by avoiding to use "sed".

* jk/filter-branch-use-of-sed-on-incomplete-line:
filter-branch: avoid passing commit message through sed

Merge branch 'jc/daemon-no-ipv6-for-2.4.1' into maintJunio C Hamano Tue, 26 May 2015 20:49:19 +0000 (13:49 -0700)

Merge branch 'jc/daemon-no-ipv6-for-2.4.1' into maint

"git daemon" fails to build from the source under NO_IPV6
configuration (regression in 2.4).

* jc/daemon-no-ipv6-for-2.4.1:
daemon: unbreak NO_IPV6 build regression

Merge branch 'jk/stash-require-clean-index' into maintJunio C Hamano Tue, 26 May 2015 20:49:19 +0000 (13:49 -0700)

Merge branch 'jk/stash-require-clean-index' into maint

"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

Merge branch 'jk/git-no-more-argv0-path-munging' into... Junio C Hamano Tue, 26 May 2015 20:49:18 +0000 (13:49 -0700)

Merge branch 'jk/git-no-more-argv0-path-munging' into maint

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

Fifth batch for 2.5 cycleJunio C Hamano Tue, 26 May 2015 20:33:35 +0000 (13:33 -0700)

Fifth batch for 2.5 cycle

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

Merge branch 'nd/untracked-cache'Junio C Hamano Tue, 26 May 2015 20:24:45 +0000 (13:24 -0700)

Merge branch 'nd/untracked-cache'

Teach the index to optionally remember already seen untracked files
to speed up "git status" in a working tree with tons of cruft.

* nd/untracked-cache: (24 commits)
git-status.txt: advertisement for untracked cache
untracked cache: guard and disable on system changes
mingw32: add uname()
t7063: tests for untracked cache
update-index: test the system before enabling untracked cache
update-index: manually enable or disable untracked cache
status: enable untracked cache
untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
untracked cache: mark index dirty if untracked cache is updated
untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
untracked cache: avoid racy timestamps
read-cache.c: split racy stat test to a separate function
untracked cache: invalidate at index addition or removal
untracked cache: load from UNTR index extension
untracked cache: save to an index extension
ewah: add convenient wrapper ewah_serialize_strbuf()
untracked cache: don't open non-existent .gitignore
untracked cache: mark what dirs should be recursed/saved
untracked cache: record/validate dir mtime and reuse cached output
untracked cache: make a wrapper around {open,read,close}dir()
...

Merge branch 'rs/plug-leak-in-pack-bitmaps'Junio C Hamano Tue, 26 May 2015 20:24:44 +0000 (13:24 -0700)

Merge branch 'rs/plug-leak-in-pack-bitmaps'

The code to read pack-bitmap wanted to allocate a few hundred
pointers to a structure, but by mistake allocated and leaked memory
enough to hold that many actual structures. Correct the allocation
size and also have it on stack, as it is small enough.

* rs/plug-leak-in-pack-bitmaps:
pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps

Merge branch 'pt/pull-ff-vs-merge-ff'Junio C Hamano Tue, 26 May 2015 20:24:43 +0000 (13:24 -0700)

Merge branch 'pt/pull-ff-vs-merge-ff'

The pull.ff configuration was supposed to override the merge.ff
configuration, but it didn't.

* pt/pull-ff-vs-merge-ff:
pull: parse pull.ff as a bool or string
pull: make pull.ff=true override merge.ff

Merge branch 'pt/pull-log-n'Junio C Hamano Tue, 26 May 2015 20:24:43 +0000 (13:24 -0700)

Merge branch 'pt/pull-log-n'

"git pull --log" and "git pull --no-log" worked as expected, but
"git pull --log=20" did not.

* pt/pull-log-n:
pull: handle --log=<n>

Merge branch 'jk/rerere-forget-check-enabled'Junio C Hamano Tue, 26 May 2015 20:24:42 +0000 (13:24 -0700)

Merge branch 'jk/rerere-forget-check-enabled'

"git rerere forget" in a repository without rerere enabled gave a
cryptic error message; it should be a silent no-op instead.

* jk/rerere-forget-check-enabled:
rerere: exit silently on "forget" when rerere is disabled

git-p4: tests: use test-chmtime in place of touchLuke Diamand Tue, 19 May 2015 22:23:18 +0000 (23:23 +0100)

git-p4: tests: use test-chmtime in place of touch

Using "touch" for P4EDITOR means that the tests can be a bit
racy, since git-p4 checks the timestamp has been updated and
fails if the timestamp is not updated.

Use test-chmtime instead, which is designed for this.

Signed-off-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4015: separate common setup and per-test expectationJunio C Hamano Tue, 26 May 2015 18:43:08 +0000 (11:43 -0700)

t4015: separate common setup and per-test expectation

The last two tests in the script were to

- set up color.diff.* slots
- set up an expectation for a single test
- run that test and check the result

but split in a wrong way. It did the first two in the first test
and the third one in the second test. The latter two belong to each
other. This matters when you plan to add more of these tests that
share the common coloring.

While at it, make sure we use a color different from old, which is
also red.

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

t4015: modernise styleJunio C Hamano Tue, 26 May 2015 18:19:52 +0000 (11:19 -0700)

t4015: modernise style

Move the preparatory steps that create the expected output inside
the test bodies, remove unnecessary blank lines before and after the
test bodies, and drop SP between redirection operator and its target.

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

Merge branch 'jk/http-backend-deadlock-2.3' into jk... Junio C Hamano Tue, 26 May 2015 03:44:42 +0000 (20:44 -0700)

Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock

* jk/http-backend-deadlock-2.3:
http-backend: spool ref negotiation requests to buffer
t5551: factor out tag creation
http-backend: fix die recursion with custom handler

Merge branch 'jk/http-backend-deadlock-2.2' into jk... Junio C Hamano Tue, 26 May 2015 03:44:04 +0000 (20:44 -0700)

Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3

* jk/http-backend-deadlock-2.2:
http-backend: spool ref negotiation requests to buffer
t5551: factor out tag creation
http-backend: fix die recursion with custom handler

http-backend: spool ref negotiation requests to bufferJeff King Wed, 20 May 2015 07:37:09 +0000 (03:37 -0400)

http-backend: spool ref negotiation requests to buffer

When http-backend spawns "upload-pack" to do ref
negotiation, it streams the http request body to
upload-pack, who then streams the http response back to the
client as it reads. In theory, git can go full-duplex; the
client can consume our response while it is still sending
the request. In practice, however, HTTP is a half-duplex
protocol. Even if our client is ready to read and write
simultaneously, we may have other HTTP infrastructure in the
way, including the webserver that spawns our CGI, or any
intermediate proxies.

In at least one documented case[1], this leads to deadlock
when trying a fetch over http. What happens is basically:

1. Apache proxies the request to the CGI, http-backend.

2. http-backend gzip-inflates the data and sends
the result to upload-pack.

3. upload-pack acts on the data and generates output over
the pipe back to Apache. Apache isn't reading because
it's busy writing (step 1).

This works fine most of the time, because the upload-pack
output ends up in a system pipe buffer, and Apache reads
it as soon as it finishes writing. But if both the request
and the response exceed the system pipe buffer size, then we
deadlock (Apache blocks writing to http-backend,
http-backend blocks writing to upload-pack, and upload-pack
blocks writing to Apache).

We need to break the deadlock by spooling either the input
or the output. In this case, it's ideal to spool the input,
because Apache does not start reading either stdout _or_
stderr until we have consumed all of the input. So until we
do so, we cannot even get an error message out to the
client.

The solution is fairly straight-forward: we read the request
body into an in-memory buffer in http-backend, freeing up
Apache, and then feed the data ourselves to upload-pack. But
there are a few important things to note:

1. We limit the in-memory buffer to prevent an obvious
denial-of-service attack. This is a new hard limit on
requests, but it's unlikely to come into play. The
default value is 10MB, which covers even the ridiculous
100,000-ref negotation in the included test (that
actually caps out just over 5MB). But it's configurable
on the off chance that you don't mind spending some
extra memory to make even ridiculous requests work.

2. We must take care only to buffer when we have to. For
pushes, the incoming packfile may be of arbitrary
size, and we should connect the input directly to
receive-pack. There's no deadlock problem here, though,
because we do not produce any output until the whole
packfile has been read.

For upload-pack's initial ref advertisement, we
similarly do not need to buffer. Even though we may
generate a lot of output, there is no request body at
all (i.e., it is a GET, not a POST).

[1] http://article.gmane.org/gmane.comp.version-control.git/269020

Test-adapted-from: Dennis Kaarsemaker <dennis@kaarsemaker.net>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

struct ref_lock: convert old_sha1 member to object_idMichael Haggerty Mon, 25 May 2015 18:39:22 +0000 (18:39 +0000)

struct ref_lock: convert old_sha1 member 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>

warn_if_dangling_symref(): convert local variable ... Michael Haggerty Mon, 25 May 2015 18:39:21 +0000 (18:39 +0000)

warn_if_dangling_symref(): convert local variable "junk" 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>

each_ref_fn_adapter(): remove adapterMichael Haggerty Mon, 25 May 2015 18:39:20 +0000 (18:39 +0000)

each_ref_fn_adapter(): remove adapter

All of the callers of the for_each_ref family of functions have now
been rewritten to work with object_ids, so this adapter is no longer
needed.

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>

rev_list_insert_ref(): remove unneeded argumentsMichael Haggerty Mon, 25 May 2015 18:39:19 +0000 (18:39 +0000)

rev_list_insert_ref(): remove unneeded arguments

Now that the function is not being used as an each_ref_sha1_fn, we can
delete the unused arguments in its signature.

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>

rev_list_insert_ref_oid(): new function, taking an... Michael Haggerty Mon, 25 May 2015 18:39:18 +0000 (18:39 +0000)

rev_list_insert_ref_oid(): new function, taking an object_oid

This function can be used with for_each_ref() without having to be
wrapped.

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>

mark_complete(): remove unneeded argumentsMichael Haggerty Mon, 25 May 2015 18:39:17 +0000 (18:39 +0000)

mark_complete(): remove unneeded arguments

Now that the function is not being used as an each_ref_sha1_fn, we can
delete the unused arguments in its signature.

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>

mark_complete_oid(): new function, taking an object_oidMichael Haggerty Mon, 25 May 2015 18:39:16 +0000 (18:39 +0000)

mark_complete_oid(): new function, taking an object_oid

This function can be used with for_each_ref() without having to be
wrapped.

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>

clear_marks(): rewrite to take an object_id argumentMichael Haggerty Mon, 25 May 2015 18:39:15 +0000 (18:39 +0000)

clear_marks(): 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>

mark_complete(): rewrite to take an object_id argumentMichael Haggerty Mon, 25 May 2015 18:39:14 +0000 (18:39 +0000)

mark_complete(): 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>

send_ref(): convert local variable "peeled" to object_idMichael 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>

upload-pack: rewrite functions to take object_id argumentsMichael 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>

find_symref(): convert local variable "unused" to object_idMichael 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>

find_symref(): rewrite to take an object_id argumentMichael 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>

write_one_ref(): rewrite to take an object_id argumentMichael 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>

write_refs_to_temp_dir(): convert local variable sha1... 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>

submodule: rewrite to take an object_id argumentMichael 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>

shallow: rewrite functions to take object_id argumentsMichael 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>

handle_one_ref(): rewrite to take an object_id argumentMichael 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>

add_info_ref(): rewrite to take an object_id argumentMichael 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>

handle_one_reflog(): rewrite to take an object_id argumentMichael 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>

register_replace_ref(): rewrite to take an object_id... 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>

remote: rewrite functions to take object_id argumentsMichael 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>

add_one_ref(): rewrite to take an object_id argumentMichael 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>

string_list_add_one_ref(): rewrite to take an object_id... 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>

add_ref_decoration(): convert local variable original_s... 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>

add_ref_decoration(): rewrite to take an object_id... 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>

show_head_ref(): convert local variable "unused" to... 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>

http-backend: rewrite to take an object_id argumentMichael 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>

append_similar_ref(): rewrite to take an object_id... 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>

builtin/show-ref: rewrite to take an object_id argumentMichael 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>

show_ref(): convert local variable peeled to object_idMichael 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>

builtin/show-ref: rewrite to use object_idMichael 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>

fsck: change functions to use object_idMichael 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>

cmd_show_branch(): fix error messageMichael 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>

builtin/show-branch: rewrite functions to work with... 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>

append_one_rev(): rewrite to work with object_idMichael 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>

builtin/show-branch: rewrite functions to take object_i... 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>

append_matching_ref(): rewrite to take an object_id... 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>

show_reference(): rewrite to take an object_id argumentMichael 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>

builtin/remote: rewrite functions to take object_id... 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>

add_branch_for_removal(): don't set "util" field of... 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>

add_branch_for_removal(): rewrite to take an object_id... 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>