git.git
12 years agoMALLOC_CHECK: enable it, unless disabled explicitly
René Scharfe [Wed, 26 Sep 2012 20:16:39 +0000 (22:16 +0200)]
MALLOC_CHECK: enable it, unless disabled explicitly

The malloc checks in tests are currently disabled.  Actually evaluate
the variable for turning them off and enable them if it's unset.

Also use this opportunity to give it the more descriptive and
consistent name TEST_NO_MALLOC_CHECK.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: Fixes to Swedish translation
Peter Krefting [Wed, 26 Sep 2012 07:06:36 +0000 (08:06 +0100)]
l10n: Fixes to Swedish translation

Fix bad translation of "Receiving objects".
Make translation of push.default message narrower, to make it fit 80
columns even when prefixed.

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
12 years agosubmodule: if $command was not matched, don't parse other args
Ramkumar Ramachandra [Sat, 22 Sep 2012 11:27:59 +0000 (16:57 +0530)]
submodule: if $command was not matched, don't parse other args

"git submodule" command DWIMs the command line and assumes a
unspecified action word for 'status' action.  This is a UI mistake
that leads to a confusing behaviour.  A mistyped command name is
instead treated as a request for 'status' of the submodule with that
name, e.g.

    $ git submodule show
    error: pathspec 'show' did not match any file(s) known to git.
    Did you forget to 'git add'?

Stop DWIMming an unknown or mistyped subcommand name as pathspec
given to unspelled "status" subcommand.  "git submodule" without any
argument is still interpreted as "git submodule status", but its
value is questionable.

Adjust t7400 to match, and stop advertising the default subcommand
being 'status' which does not help much in practice, other than
promoting laziness and confusion.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agograph.c: infinite loop in git whatchanged --graph -m
Michał Kiedrowicz [Fri, 24 Jul 2009 23:45:00 +0000 (01:45 +0200)]
graph.c: infinite loop in git whatchanged --graph -m

Running "whatchanged --graph -m" on a simple two-head merges
can fall into infinite loop.

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.8.0
Junio C Hamano [Tue, 25 Sep 2012 17:44:32 +0000 (10:44 -0700)]
Update draft release notes to 1.8.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'rr/test-make-sure-we-have-git'
Junio C Hamano [Tue, 25 Sep 2012 17:40:24 +0000 (10:40 -0700)]
Merge branch 'rr/test-make-sure-we-have-git'

Only the first test t0000 in the test suite made sure we have built
Git to be tested; move the check to test-lib so that it applies to
all tests equally.

* rr/test-make-sure-we-have-git:
  t/test-lib: make sure Git has already been built

12 years agoMerge branch 'js/hp-nonstop'
Junio C Hamano [Tue, 25 Sep 2012 17:40:21 +0000 (10:40 -0700)]
Merge branch 'js/hp-nonstop'

Port to HP NonStop aka Tandem.

* js/hp-nonstop:
  Port to HP NonStop

12 years agoMerge branch 'js/poll-emu'
Junio C Hamano [Tue, 25 Sep 2012 17:40:18 +0000 (10:40 -0700)]
Merge branch 'js/poll-emu'

* js/poll-emu:
  make poll() work on platforms that can't recv() on a non-socket
  poll() exits too early with EFAULT if 1st arg is NULL
  fix some win32 specific dependencies in poll.c
  make poll available for other platforms lacking it

12 years agoMerge branch 'ep/malloc-check-perturb'
Junio C Hamano [Tue, 25 Sep 2012 17:40:14 +0000 (10:40 -0700)]
Merge branch 'ep/malloc-check-perturb'

Run our test scripts with MALLOC_CHECK_ and MALLOC_PERTURB_, the
built-in memory access checking facility GNU libc has.

* ep/malloc-check-perturb:
  MALLOC_CHECK: various clean-ups
  Add MALLOC_CHECK_ and MALLOC_PERTURB_ libc env to the test suite for detecting heap corruption

12 years agoMerge branch 'aj/xfuncname-ada'
Junio C Hamano [Tue, 25 Sep 2012 17:40:11 +0000 (10:40 -0700)]
Merge branch 'aj/xfuncname-ada'

* aj/xfuncname-ada:
  Add userdiff patterns for Ada

12 years agoMerge branch 'jc/maint-mailinfo-mime-attr'
Junio C Hamano [Tue, 25 Sep 2012 17:39:56 +0000 (10:39 -0700)]
Merge branch 'jc/maint-mailinfo-mime-attr'

When "git am" is fed an input that has multiple "Content-type: ..."
header, it did not grok charset= attribute correctly.

* jc/maint-mailinfo-mime-attr:
  mailinfo: do not concatenate charset= attribute values from mime headers

12 years agoMerge branch 'po/maint-docs'
Junio C Hamano [Tue, 25 Sep 2012 17:39:52 +0000 (10:39 -0700)]
Merge branch 'po/maint-docs'

Various documentation fixups.

* po/maint-docs:
  Doc branch: show -vv option and alternative
  Doc clean: add See Also link
  Doc add: link gitignore
  Doc: separate gitignore pattern sources
  Doc: shallow clone deepens _to_ new depth

12 years agoMerge branch 'db/doc-custom-xmlto'
Junio C Hamano [Tue, 25 Sep 2012 17:39:48 +0000 (10:39 -0700)]
Merge branch 'db/doc-custom-xmlto'

* db/doc-custom-xmlto:
  Documentation/Makefile: Allow custom XMLTO binary

12 years agoMerge branch 'maint'
Junio C Hamano [Tue, 25 Sep 2012 17:25:52 +0000 (10:25 -0700)]
Merge branch 'maint'

* maint:
  Revert "completion: fix shell expansion of items"

12 years agotest-lib: use $SHELL_PATH, not $SHELL
Ramkumar Ramachandra [Sat, 22 Sep 2012 04:55:10 +0000 (10:25 +0530)]
test-lib: use $SHELL_PATH, not $SHELL

The codepath for handling "--tee" ends up relaunching the test
script under a shell, and that one has to be a Bourne.  But we
incorrectly used $SHELL, which could be a non-Bourne (e.g. zsh or
csh); we have the Makefile variable $SHELL_PATH for exactly that,
so use it instead.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agomergetool--lib: Allow custom commands to override built-ins
David Aguilar [Tue, 25 Sep 2012 07:48:11 +0000 (00:48 -0700)]
mergetool--lib: Allow custom commands to override built-ins

Allow users to override the default commands provided by the
mergetools/* scriptlets.

Users occasionally run into problems where they expect to be
able to override the built-in tool names.  The documentation
does not explicitly mention that built-ins cannot be overridden,
so it's easy to assume that it should work.

Lift this restriction so that built-in tools are handled the
same way as user-configured tools.  Add tests to guarantee this
behavior.

A nice benefit of this change is that it protects users from
having future versions of git trump their custom configuration
with a new built-in tool.

C.f.:

http://stackoverflow.com/questions/7435002/mergetool-from-gitconfig-being-ignored
http://thread.gmane.org/gmane.comp.version-control.msysgit/13188
http://thread.gmane.org/gmane.comp.version-control.git/148267

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoRevert "completion: fix shell expansion of items"
Jeff King [Tue, 25 Sep 2012 04:31:19 +0000 (00:31 -0400)]
Revert "completion: fix shell expansion of items"

This reverts commit 25ae7cfd19c8f21721363c64163cd5d9d1135b20.

That patch does fix expansion of weird variables in some
simple tests, but it also seems to break other things, like
expansion of refs by "git checkout".

While we're sorting out the correct solution, we are much
better with the original bug (people with metacharacters in
their completions occasionally see an error message) than
the current bug (ref completion does not work at all).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoSync with maint
Junio C Hamano [Mon, 24 Sep 2012 19:50:36 +0000 (12:50 -0700)]
Sync with maint

12 years agoStart preparation for 1.7.12.2
Junio C Hamano [Mon, 24 Sep 2012 19:50:00 +0000 (12:50 -0700)]
Start preparation for 1.7.12.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jc/maint-blame-no-such-path' into maint
Junio C Hamano [Mon, 24 Sep 2012 19:40:02 +0000 (12:40 -0700)]
Merge branch 'jc/maint-blame-no-such-path' into maint

Even during a conflicted merge, "git blame $path" always meant to
blame uncommitted changes to the "working tree" version; make it
more useful by showing cleanly merged parts as coming from the other
branch that is being merged.

This incidentally fixes an unrelated problem on a case insensitive
filesystem, where "git blame MAKEFILE" run in a history that has
"Makefile" but not "MAKEFILE" did not say "No such file MAKEFILE in
HEAD" but pretended as if "MAKEFILE" was a newly added file.

* jc/maint-blame-no-such-path:
  blame: allow "blame file" in the middle of a conflicted merge
  blame $path: avoid getting fooled by case insensitive filesystems

12 years agoMerge branch 'dj/fetch-all-tags' into maint
Junio C Hamano [Mon, 24 Sep 2012 19:39:21 +0000 (12:39 -0700)]
Merge branch 'dj/fetch-all-tags' into maint

"git fetch --all", when passed "--no-tags", did not honor the
"--no-tags" option while fetching from individual remotes (the same
issue existed with "--tags", but combination "--all --tags" makes
much less sense than "--all --no-tags").

* dj/fetch-all-tags:
  fetch --all: pass --tags/--no-tags through to each remote
  submodule: use argv_array instead of hand-building arrays
  fetch: use argv_array instead of hand-building arrays
  argv-array: fix bogus cast when freeing array
  argv-array: add pop function

12 years agoImprove the description of GIT_PS1_SHOWUPSTREAM
Jonathan "Duke" Leto [Mon, 24 Sep 2012 17:41:26 +0000 (10:41 -0700)]
Improve the description of GIT_PS1_SHOWUPSTREAM

Describe what '=' means in the output of __git_ps1 when using
GIT_PS1_SHOWUPSTREAM, which was not previously described.

Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-zip: write extended timestamp
René Scharfe [Mon, 24 Sep 2012 15:56:23 +0000 (17:56 +0200)]
archive-zip: write extended timestamp

File modification times in ZIP files are encoded in DOS format: local
time with a granularity of two seconds.  Add an extra field to all
archive entries to also record the mtime in Unix' fashion, as UTC with
a granularity of one second.

This has the desirable side-effect of convincing Info-ZIP unzip 6.00
to respect general purpose flag 11, which is used to indicate that a
file name is encoded in UTF-8.  Any extra field would do, actually,
but the extended timestamp is a reasonably small one (22 bytes per
entry).  Archives created by Info-ZIP zip 3.0 contain it, too (but
with ctime and atime as well).

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocommit: pay attention to submodule.$name.ignore in .gitmodules
Orgad Shaneh [Sun, 23 Sep 2012 07:37:47 +0000 (09:37 +0200)]
commit: pay attention to submodule.$name.ignore in .gitmodules

"git status" does not list a submodule with uncommitted working tree
files as modified when "submodule.$name.ignore" is set to "dirty" in
in-tree ".gitmodules" file.  Both status and commit honor the setting
in $GIT_DIR/config, but "commit" does not pick it up from .gitmodules,
which is inconsistent.

Teach "git commit" to pay attention to the setting in .gitmodules as
well.

Signed-off-by: Orgad Shaneh <orgads@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogitk: Work around empty back and forward images when buttons are disabled
Stefan Haller [Sat, 22 Sep 2012 07:46:48 +0000 (09:46 +0200)]
gitk: Work around empty back and forward images when buttons are disabled

On Mac, the back and forward buttons show an empty rectange instead of
a grayed-out arrow when they are disabled. The reason is a Tk bug on Mac
that causes disabled images not to draw correctly (not to draw at all,
that is); see
<https://groups.google.com/forum/?fromgroups=#!topic/comp.lang.tcl/V-nW1JBq0eU>.

To work around this, we explicitly provide gray images for the disabled
state; I think this looks better than the default stipple effect that you
get on Windows as well, but that may be a matter of taste.

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Highlight first search result immediately on incremental search
Stefan Haller [Sat, 22 Sep 2012 07:40:25 +0000 (09:40 +0200)]
gitk: Highlight first search result immediately on incremental search

When typing in the "Search" field, select the current search result (so
that it gets highlighted in orange). This makes it easier to understand
what will happen if you then type Ctrl-S.

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Highlight current search hit in orange
Stefan Haller [Sat, 22 Sep 2012 07:40:24 +0000 (09:40 +0200)]
gitk: Highlight current search hit in orange

When searching for text in the diff, and there are multiple occurrences
of the search string, the current one is highlighted in orange, and the
other ones in yellow. This makes it much easier to understand what happens
when you then click the Search button or hit Ctrl-S repeatedly.

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Synchronize highlighting in file view when scrolling diff
Stefan Haller [Wed, 19 Sep 2012 18:17:27 +0000 (20:17 +0200)]
gitk: Synchronize highlighting in file view when scrolling diff

Whenever the diff pane scrolls, highlight the corresponding file in the
file list on the right.  For a large commit with many files and long
per-file diffs, this makes it easier to keep track of what you're looking
at.

This allows simplifying the prevfile and nextfile functions, because
all they have to do is scroll the diff pane.

In some situations we want to suppress this mechanism, for example when
clicking on a file in the file list to select it, or when searching in the
diff, in which case we want to highlight based on the current search hit
and not the top line visible. In these cases it's not sufficient to set
a "suppress" flag before scrolling and reset it afterwards, because the
scrolltext notification is sent deferred from a timer or some such; so we
need to remember the scroll position for which we want to suppress the
auto-highlighting until the next call to scrolltext; a bit ugly, but does
the job.

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agoblame: pay attention to --no-follow
Junio C Hamano [Fri, 21 Sep 2012 20:52:25 +0000 (13:52 -0700)]
blame: pay attention to --no-follow

If you know your history did not have renames, or if you care only
about the history after a large rename that happened some time ago,
"git blame --no-follow $path" is a way to tell the command not to
bother about renames.

When you use -C, the lines that came from the renamed file will
still be found without the whole-file rename detection, so it is not
all that interesting either way, though.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff: accept --no-follow option
Junio C Hamano [Fri, 21 Sep 2012 20:49:18 +0000 (13:49 -0700)]
diff: accept --no-follow option

Once you do

$ alias glogone git log --follow

there is no way to say

$ glogone --no-follow ...

Not that "log --follow" is all that useful, but it is cheap to
support the common "you can defeat an undesirable option with a
'no-' variant of it later on the command line" pattern.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit blame: document that it always follows origin across whole-file renames
Junio C Hamano [Fri, 21 Sep 2012 19:09:42 +0000 (12:09 -0700)]
git blame: document that it always follows origin across whole-file renames

Make it clear to people who (rightly or wrongly) think that the
"--follow" option should follow origin across while-file renames
that we already do so.  That would explain the output that they see
when they do give the "--follow" option to the command.

We may or may not want to do a "--no-follow" patch as a follow-up,
but that is a separate topic.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'mh/fetch-filter-refs'
Junio C Hamano [Fri, 21 Sep 2012 18:17:00 +0000 (11:17 -0700)]
Merge branch 'mh/fetch-filter-refs'

Finishing touch to update documentation of string-list to make sure
the earlier rewrite of ref-list match logic that depends on its sort
order will not get broken.

* mh/fetch-filter-refs:
  string_list API: document what "sorted" means

12 years agoMerge branch 'jc/maint-log-grep-all-match-1'
Junio C Hamano [Fri, 21 Sep 2012 18:14:49 +0000 (11:14 -0700)]
Merge branch 'jc/maint-log-grep-all-match-1'

A finishing touch to make two symbols that were meant to be file-scope
static really so.

* jc/maint-log-grep-all-match-1:
  grep.c: make two symbols really file-scope static this time

12 years agoremote-curl: let users turn off smart http
Jeff King [Thu, 20 Sep 2012 21:30:58 +0000 (17:30 -0400)]
remote-curl: let users turn off smart http

Usually there is no need for users to specify whether an
http remote is smart or dumb; the protocol is designed so
that a single initial request is made, and the client can
determine the server's capability from the response.

However, some misconfigured dumb-only servers may not like
the initial request by a smart client, as it contains a
query string. Until recently, commit 703e6e7 worked around
this by making a second request. However, that commit was
recently reverted due to its side effect of masking the
initial request's error code.

Since git has had that workaround for several years, we
don't know exactly how many such misconfigured servers are
out there. The reversion of 703e6e7 assumes they are rare
enough not to worry about. Still, that reversion leaves
somebody who does run into such a server with no escape
hatch at all. Let's give them an environment variable they
can tweak to perform the "dumb" request.

This is intentionally not a documented interface. It's
overly simple and is really there for debugging in case
somebody does complain about git not working with their
server. A real user-facing interface would entail a
per-remote or per-URL config variable.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoreceive-pack: drop "n/a" on unpacker errors
Jeff King [Fri, 21 Sep 2012 05:38:46 +0000 (01:38 -0400)]
receive-pack: drop "n/a" on unpacker errors

The output from git push currently looks like this:

  $ git push dest HEAD
  fatal: [some message from index-pack]
  error: unpack failed: index-pack abnormal exit
  To dest
   ! [remote rejected] HEAD -> master (n/a (unpacker error))

That n/a is meant to be "the per-ref status is not
available" but the nested parentheses just make it look
ugly. Let's turn the final line into just:

   ! [remote rejected] HEAD -> master (unpacker error)

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoreceive-pack: send pack-processing stderr over sideband
Jeff King [Fri, 21 Sep 2012 05:34:55 +0000 (01:34 -0400)]
receive-pack: send pack-processing stderr over sideband

Receive-pack invokes either unpack-objects or index-pack to
handle the incoming pack. However, we do not redirect the
stderr of the sub-processes at all, so it is never seen by
the client. From the initial thread adding sideband support,
which is here:

  http://thread.gmane.org/gmane.comp.version-control.git/139471

it is clear that some messages are specifically kept off the
sideband (with the assumption that they are of interest only
to an administrator, not the client). The stderr of the
subprocesses is mentioned in the thread, but it's unclear if
they are included in that group, or were simply forgotten.

However, there are a few good reasons to show them to the
client:

  1. In many cases, they are directly about the incoming
     packfile (e.g., fsck warnings with --strict, corruption
     in the packfile, etc). Without these messages, the
     client just gets "unpacker error" with no extra useful
     diagnosis.

  2. No matter what the cause, we are probably better off
     showing the errors to the client. If the client and the
     server admin are not the same entity, it is probably
     much easier for the client to cut-and-paste the errors
     they see than for the admin to try to dig them out of a
     log and correlate them with a particular session.

  3. Users of the ssh transport typically already see these
     stderr messages, as the remote's stderr is copied
     literally by ssh. This brings other transports (http,
     and push-over-git if you are crazy enough to enable it)
     more in line with ssh. As a bonus for ssh users,
     because the messages are now fed through the sideband
     and printed by the local git, they will have "remote:"
     prepended and be properly interleaved with any local
     output to stderr.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoreceive-pack: redirect unpack-objects stdout to /dev/null
Jeff King [Fri, 21 Sep 2012 05:32:52 +0000 (01:32 -0400)]
receive-pack: redirect unpack-objects stdout to /dev/null

The unpack-objects command should not generally produce any
output on stdout. However, if it's given extra input after
the packfile, it will spew the remainder to stdout. When
called by receive-pack, this means we will break protocol,
since our stdout is connected to the remote send-pack.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate Swedish translation (1967t0f0u)
Peter Krefting [Fri, 21 Sep 2012 14:54:42 +0000 (15:54 +0100)]
Update Swedish translation (1967t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
12 years agoMerge branch 'maint'
Junio C Hamano [Thu, 20 Sep 2012 22:55:47 +0000 (15:55 -0700)]
Merge branch 'maint'

* maint:
  Documentation: Document signature showing options
  completion: fix shell expansion of items

12 years agoMerge branch 'nd/maint-diffstat-summary' into maint
Junio C Hamano [Thu, 20 Sep 2012 22:55:31 +0000 (15:55 -0700)]
Merge branch 'nd/maint-diffstat-summary' into maint

* nd/maint-diffstat-summary:
  Revert diffstat back to English

12 years agoMerge branch 'jw/doc-commit-title' into maint
Junio C Hamano [Thu, 20 Sep 2012 22:55:22 +0000 (15:55 -0700)]
Merge branch 'jw/doc-commit-title' into maint

* jw/doc-commit-title:
  Documentation: describe subject more precisely

12 years agoMerge branch 'dg/run-command-child-cleanup' into maint
Junio C Hamano [Thu, 20 Sep 2012 22:55:12 +0000 (15:55 -0700)]
Merge branch 'dg/run-command-child-cleanup' into maint

* dg/run-command-child-cleanup:
  run-command.c: fix broken list iteration in clear_child_for_cleanup

12 years agoMerge branch 'jc/mailinfo-RE' into maint
Junio C Hamano [Thu, 20 Sep 2012 22:55:03 +0000 (15:55 -0700)]
Merge branch 'jc/mailinfo-RE' into maint

* jc/mailinfo-RE:
  mailinfo: strip "RE: " prefix

12 years agoMerge branch 'sn/ls-remote-get-url-doc' into maint
Junio C Hamano [Thu, 20 Sep 2012 22:54:57 +0000 (15:54 -0700)]
Merge branch 'sn/ls-remote-get-url-doc' into maint

* sn/ls-remote-get-url-doc:
  ls-remote: document the '--get-url' option

12 years agoMerge branch 'nd/log-n-doc' into maint
Junio C Hamano [Thu, 20 Sep 2012 22:54:43 +0000 (15:54 -0700)]
Merge branch 'nd/log-n-doc' into maint

* nd/log-n-doc:
  doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt

12 years agoMerge branch 'nd/maint-remote-remove' into maint
Junio C Hamano [Thu, 20 Sep 2012 22:53:31 +0000 (15:53 -0700)]
Merge branch 'nd/maint-remote-remove' into maint

* nd/maint-remote-remove:
  remote: prefer subcommand name 'remove' to 'rm'

12 years agogrep.c: make two symbols really file-scope static this time
Junio C Hamano [Thu, 20 Sep 2012 21:20:09 +0000 (14:20 -0700)]
grep.c: make two symbols really file-scope static this time

Adding a declaration at the beginning is not sufficient for obvious
reasons. The definition has to be made static.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoclone --single: limit the fetch refspec to fetched branch
Ralf Thielow [Thu, 20 Sep 2012 18:04:08 +0000 (20:04 +0200)]
clone --single: limit the fetch refspec to fetched branch

After running "git clone --single", the resulting repository has the
usual default "+refs/heads/*:refs/remotes/origin/*" wildcard fetch
refspec installed, which means that a subsequent "git fetch" will
end up grabbing all the other branches.

Update the fetch refspec to cover only the singly cloned ref instead
to correct this.

That means:
If "--single" is used without "--branch" or "--mirror", the
fetch refspec covers the branch on which remote's HEAD points to.
If "--single" is used with "--branch", it'll cover only the branch
specified in the "--branch" option.
If "--single" is combined with "--mirror", then it'll cover all
refs of the cloned repository.
If "--single" is used with "--branch" that specifies a tag, then
it'll cover only the ref for this tag.

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote-curl: rename is_http variable
Jeff King [Thu, 20 Sep 2012 17:00:22 +0000 (13:00 -0400)]
remote-curl: rename is_http variable

We don't actually care whether the connection is http or
not; what we care about is whether it might be smart http.
Rename the variable to be more accurate, which will make it
easier to later make smart-http optional.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation: Document signature showing options
Stephen Boyd [Thu, 20 Sep 2012 08:10:38 +0000 (01:10 -0700)]
Documentation: Document signature showing options

The pretty formats for GPG signatures were introduced but never
documented. Use the documentation from the commit that introduced them.
Do the same for the --show-signature option added to git log and
friends.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoEnable info/refs gzip decompression in HTTP client
Shawn O. Pearce [Wed, 19 Sep 2012 23:12:02 +0000 (16:12 -0700)]
Enable info/refs gzip decompression in HTTP client

Some HTTP servers try to use gzip compression on the /info/refs
request to save transfer bandwidth. Repositories with many tags
may find the /info/refs request can be gzipped to be 50% of the
original size due to the few but often repeated bytes used (hex
SHA-1 and commonly digits in tag names).

For most HTTP requests enable "Accept-Encoding: gzip" ensuring
the /info/refs payload can use this encoding format.

Only request gzip encoding from servers. Although deflate is
supported by libcurl, most servers have standardized on gzip
encoding for compression as that is what most browsers support.
Asking for deflate increases request sizes by a few bytes, but is
unlikely to ever be used by a server.

Disable the Accept-Encoding header on probe RPCs as response bodies
are supposed to be exactly 4 bytes long, "0000". The HTTP headers
requesting and indicating compression use more space than the data
transferred in the body.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoRevert "retry request without query when info/refs?query fails"
Shawn O. Pearce [Thu, 20 Sep 2012 05:58:00 +0000 (22:58 -0700)]
Revert "retry request without query when info/refs?query fails"

This reverts commit 703e6e76a14825e5b0c960d525f34e607154b4f7.

Retrying without the query parameter was added as a workaround
for a single broken HTTP server at git.debian.org[1]. The server
was misconfigured to route every request with a query parameter
into gitweb.cgi. Admins fixed the server's configuration within
16 hours of the bug report to the Git mailing list, but we still
patched Git with this fallback and have been paying for it since.

Most Git hosting services configure the smart HTTP protocol and the
retry logic confuses users when there is a transient HTTP error as
Git dropped the real error from the smart HTTP request. Removing the
retry makes root causes easier to identify.

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

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocompletion: fix shell expansion of items
Felipe Contreras [Thu, 20 Sep 2012 02:15:15 +0000 (04:15 +0200)]
completion: fix shell expansion of items

As reported by Jeroen Meijer[1]; the current code doesn't deal properly
with items (tags, branches, etc.) that have ${} in them because they get
expaned by bash while using compgen.

A simple solution is to quote the items so they get expanded properly
(\$\{\}).

In order to achieve that I took bash-completion's quote() function,
which is rather simple, and renamed it to __git_quote() as per Jeff
King's suggestion.

Solves the original problem for me.

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

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoPort to HP NonStop
Joachim Schmitz [Wed, 19 Sep 2012 10:03:30 +0000 (12:03 +0200)]
Port to HP NonStop

Includes the addition of some new defines and their description for others to use.

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation/Makefile: Allow custom XMLTO binary
Dave Borowitz [Wed, 19 Sep 2012 17:06:37 +0000 (10:06 -0700)]
Documentation/Makefile: Allow custom XMLTO binary

Signed-off-by: Dave Borowitz <dborowitz@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorebase -i: suggest using --edit-todo to fix an unknown instruction
Johannes Sixt [Wed, 19 Sep 2012 06:43:54 +0000 (08:43 +0200)]
rebase -i: suggest using --edit-todo to fix an unknown instruction

We have now an explicit UI to edit the todo sheet and need not disclose
the name of the file.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDoc branch: show -vv option and alternative
Philip Oakley [Tue, 18 Sep 2012 23:25:34 +0000 (00:25 +0100)]
Doc branch: show -vv option and alternative

Indicate that the -v option can be given twice in the short options.
Without it users pass over the option. Also indicate the alternate
'git remote show' method.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDoc clean: add See Also link
Philip Oakley [Tue, 18 Sep 2012 23:25:33 +0000 (00:25 +0100)]
Doc clean: add See Also link

'git clean' is controlled by gitignore. Provide See Also link for it.

Use of core.excludesfile is implied.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDoc add: link gitignore
Philip Oakley [Tue, 18 Sep 2012 23:25:32 +0000 (00:25 +0100)]
Doc add: link gitignore

Use a gitignore link rather than the gitrepository-
layout link.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDoc: separate gitignore pattern sources
Philip Oakley [Tue, 18 Sep 2012 23:25:31 +0000 (00:25 +0100)]
Doc: separate gitignore pattern sources

Use separate bulleted paragraphs for the three different gitignore
pattern sources.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDoc: shallow clone deepens _to_ new depth
Philip Oakley [Tue, 18 Sep 2012 23:25:28 +0000 (00:25 +0100)]
Doc: shallow clone deepens _to_ new depth

Clarify that 'depth=' specifies the new depth from the remote's
branch tip. It does not add the depth to the existing shallow clone.
(details from pack-protocol.txt).
Clarify that tags are not fetched. (details from shallow.txt)

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.8.0
Junio C Hamano [Tue, 18 Sep 2012 21:43:12 +0000 (14:43 -0700)]
Update draft release notes to 1.8.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jc/maint-log-grep-all-match'
Junio C Hamano [Tue, 18 Sep 2012 21:37:53 +0000 (14:37 -0700)]
Merge branch 'jc/maint-log-grep-all-match'

Fix a long-standing bug in "git log --grep" when multiple "--grep"
are used together with "--all-match" and "--author" or "--committer".

* jc/maint-log-grep-all-match:
  t7810-grep: test --all-match with multiple --grep and --author options
  t7810-grep: test interaction of multiple --grep and --author options
  t7810-grep: test multiple --author with --all-match
  t7810-grep: test multiple --grep with and without --all-match
  t7810-grep: bring log --grep tests in common form
  grep.c: mark private file-scope symbols as static
  log: document use of multiple commit limiting options
  log --grep/--author: honor --all-match honored for multiple --grep patterns
  grep: show --debug output only once
  grep: teach --debug option to dump the parse tree

12 years agoMerge branch 'jc/make-static'
Junio C Hamano [Tue, 18 Sep 2012 21:37:46 +0000 (14:37 -0700)]
Merge branch 'jc/make-static'

Turn many file-scope private symbols to static to reduce the
global namespace contamination.

* jc/make-static:
  sequencer.c: mark a private file-scope symbol as static
  ident.c: mark private file-scope symbols as static
  trace.c: mark a private file-scope symbol as static
  wt-status.c: mark a private file-scope symbol as static
  read-cache.c: mark a private file-scope symbol as static
  strbuf.c: mark a private file-scope symbol as static
  sha1-array.c: mark a private file-scope symbol as static
  symlinks.c: mark private file-scope symbols as static
  notes.c: mark a private file-scope symbol as static
  rerere.c: mark private file-scope symbols as static
  graph.c: mark private file-scope symbols as static
  diff.c: mark a private file-scope symbol as static
  commit.c: mark a file-scope private symbol as static
  builtin/notes.c: mark file-scope private symbols as static

12 years agoMerge branch 'pw/p4-submit-conflicts'
Junio C Hamano [Tue, 18 Sep 2012 21:36:17 +0000 (14:36 -0700)]
Merge branch 'pw/p4-submit-conflicts'

Add '--conflict' option to git-p4 subcommand to specify what action
to take when conflicts are found during 'p4 submit'.

* pw/p4-submit-conflicts:
  git-p4: add submit --conflict option and config varaiable
  git p4: add submit --prepare-p4-only option
  git p4: add submit --dry-run option
  git p4: accept -v for --verbose
  git p4: revert deleted files after submit cancel
  git p4: rearrange submit template construction
  git p4: test clean-up after failed submit, fix added files
  git p4: standardize submit cancel due to unchanged template
  git p4: move conflict prompt into run, add [q]uit input
  git p4: remove submit failure options [a]pply and [w]rite
  git p4: gracefully fail if some commits could not be applied
  git p4 test: remove bash-ism of combined export/assignment

12 years agoMerge branch 'mv/cherry-pick-s'
Junio C Hamano [Tue, 18 Sep 2012 21:36:00 +0000 (14:36 -0700)]
Merge branch 'mv/cherry-pick-s'

After "git cherry-pick -s" gave control back to the user asking
help to resolve conflicts, concluding "git commit" needs to be run
with "-s" if the user wants to sign it off, but the command should
be able to remember that.

* mv/cherry-pick-s:
  cherry-pick: don't forget -s on failure

12 years agoMerge branch 'nd/fetch-status-alignment'
Junio C Hamano [Tue, 18 Sep 2012 21:35:54 +0000 (14:35 -0700)]
Merge branch 'nd/fetch-status-alignment'

The status report from "git fetch", when messages like 'up-to-date'
are translated, did not align the branch names well.

* nd/fetch-status-alignment:
  fetch: align per-ref summary report in UTF-8 locales

12 years agoSync with 1.7.12.1
Junio C Hamano [Tue, 18 Sep 2012 21:35:03 +0000 (14:35 -0700)]
Sync with 1.7.12.1

12 years agoGit 1.7.12.1 v1.7.12.1
Junio C Hamano [Tue, 18 Sep 2012 21:34:31 +0000 (14:34 -0700)]
Git 1.7.12.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'er/doc-fast-import-done' into maint
Junio C Hamano [Tue, 18 Sep 2012 21:33:52 +0000 (14:33 -0700)]
Merge branch 'er/doc-fast-import-done' into maint

* er/doc-fast-import-done:
  fast-import: document the --done option

12 years agoMerge branch 'jk/config-warn-on-inaccessible-paths' into maint
Junio C Hamano [Tue, 18 Sep 2012 21:24:06 +0000 (14:24 -0700)]
Merge branch 'jk/config-warn-on-inaccessible-paths' into maint

The attribute system may be asked for a path that itself or its
leading directories no longer exists in the working tree, and it is
fine if we cannot open .gitattribute file in such a case.  Failure
to open per-directory .gitattributes with error status other than
ENOENT and ENOTDIR should be diagnosed.

* jk/config-warn-on-inaccessible-paths:
  attr: failure to open a .gitattributes file is OK with ENOTDIR
  warn_on_inaccessible(): a helper to warn on inaccessible paths
  attr: warn on inaccessible attribute files
  gitignore: report access errors of exclude files
  config: warn on inaccessible files

12 years agot/test-lib: make sure Git has already been built
Ramkumar Ramachandra [Mon, 17 Sep 2012 17:06:19 +0000 (22:36 +0530)]
t/test-lib: make sure Git has already been built

When tests were run without building git, they stopped with:

    .: 54: Can't open /path/to/git/source/t/../GIT-BUILD-OPTIONS

Move the check that makes sure that git has already been built from
t0000 to test-lib, so that any test will do so before it runs.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDoc: Improve shallow depth wording
Philip Oakley [Sun, 16 Sep 2012 10:57:58 +0000 (11:57 +0100)]
Doc: Improve shallow depth wording

Avoid confusion in compound sentence about the start of the commit set
and the depth measure. Use two sentences.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-zip: support UTF-8 paths
René Scharfe [Tue, 18 Sep 2012 19:46:56 +0000 (21:46 +0200)]
archive-zip: support UTF-8 paths

Set general purpose flag 11 if we encounter a path that contains
non-ASCII characters.  We assume that all paths are given as UTF-8; no
conversion is done.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoRevert "archive-zip: support UTF-8 paths"
Junio C Hamano [Tue, 18 Sep 2012 20:32:39 +0000 (13:32 -0700)]
Revert "archive-zip: support UTF-8 paths"

This reverts commit 2162bd8cc461d6c3a12ab81c5db5a44bf5ecabc3; a
two-patch series to replace it will follow.

12 years agorebase -i: fix misleading error message after 'exec no-such' instruction
Johannes Sixt [Tue, 18 Sep 2012 11:15:26 +0000 (13:15 +0200)]
rebase -i: fix misleading error message after 'exec no-such' instruction

When the todo sheet of interactive rebase instructs to run a non-existing
command, the operation stops with the following error:

  Execution failed: no-such
  You can fix the problem, and then run

          git rebase --continue

  fatal: 'rebase' appears to be a git command, but we were not
  able to execute it. Maybe git-rebase is broken?

The reason is that the shell that attempted to run the command exits with
code 127. rebase--interactive just forwards this code to the caller (the
git wrapper). But our smart run-command infrastructure detects this
special exit code and turns it into ENOENT, which in turn is interpreted
by the git wrapper as if the external command that it just executed did
not exist. This is finally translated to the misleading last two lines in
error message cited above.

Fix it by translating the error code before it is forwarded.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation/git-filter-branch: Move note about effect of removing commits
Andreas Schwab [Tue, 18 Sep 2012 15:55:08 +0000 (17:55 +0200)]
Documentation/git-filter-branch: Move note about effect of removing commits

The note that explains that changes introduced by removed commits are
preserved should be placed directly after the paragraph that describes
such commits removal.  Otherwise the reference to "the commits" appears
out of context.

Also the big example that follows "Consider this history" is about
rewriting part of the history DAG.  Move the paragraph that
describes the operation close to it.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agostring_list API: document what "sorted" means
Michael Haggerty [Mon, 17 Sep 2012 15:21:07 +0000 (17:21 +0200)]
string_list API: document what "sorted" means

The recent work on using string_list to represent the list of refs
that matched with the refs on the other side during fetch heavily
depends on the sort order by string_list's implementation, and
changing string_list will break it.  Document that it uses strcmp()
order, at least for now.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMALLOC_CHECK: various clean-ups
Junio C Hamano [Sat, 15 Sep 2012 03:38:24 +0000 (20:38 -0700)]
MALLOC_CHECK: various clean-ups

The most important in this change is to avoid affecting anything
when test-lib is used from perf-lib.  It also limits the effect of
the MALLOC_CHECK only to what is run inside the actual test, and
uses a fixed MALLOC_PERTURB_ in order to avoid hurting repeatability
of the tests.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorebase -i: Add tests for "--edit-todo"
Andrew Wong [Tue, 18 Sep 2012 01:28:10 +0000 (21:28 -0400)]
rebase -i: Add tests for "--edit-todo"

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorebase -i: Teach "--edit-todo" action
Andrew Wong [Tue, 18 Sep 2012 01:28:09 +0000 (21:28 -0400)]
rebase -i: Teach "--edit-todo" action

This allows users to edit the todo file while they're stopped in the
middle of an interactive rebase. When this action is executed, all
comments from the original todo file are stripped, and new help messages
are appended to the end.

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorebase -i: Refactor help messages for todo file
Andrew Wong [Tue, 18 Sep 2012 01:28:08 +0000 (21:28 -0400)]
rebase -i: Refactor help messages for todo file

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorebase usage: subcommands can not be combined with -i
Martin von Zweigbergk [Tue, 18 Sep 2012 01:28:07 +0000 (21:28 -0400)]
rebase usage: subcommands can not be combined with -i

Since 95135b0 (rebase: stricter check of standalone sub command,
2011-02-06), git-rebase has not allowed to use -i together with e.g.
--continue. Yet, when rebase started using OPTIONS_SPEC in 45e2acf
(rebase: define options in OPTIONS_SPEC, 2011-02-28), the usage message
included

git-rebase [-i] --continue | --abort | --skip

Remove the "[-i]" from this line.

Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com>
Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoThe seventh batch for 1.8.0
Junio C Hamano [Mon, 17 Sep 2012 23:00:39 +0000 (16:00 -0700)]
The seventh batch for 1.8.0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Mon, 17 Sep 2012 22:59:34 +0000 (15:59 -0700)]
Merge branch 'maint'

* maint:
  t/perf: add "trash directory" to .gitignore
  Add missing -z to git check-attr usage text for consistency with man page
  git-jump: ignore (custom) prefix in diff mode
  Documentation: indent-with-non-tab uses "equivalent tabs" not 8
  completion: add --no-edit to git-commit

12 years agoMerge branch 'mh/fetch-filter-refs'
Junio C Hamano [Mon, 17 Sep 2012 22:58:49 +0000 (15:58 -0700)]
Merge branch 'mh/fetch-filter-refs'

Code simplification and clarification.

* mh/fetch-filter-refs:
  test-string-list.c: Fix some sparse warnings
  fetch-pack: eliminate spurious error messages
  cmd_fetch_pack(): simplify computation of return value
  fetch-pack: report missing refs even if no existing refs were received
  cmd_fetch_pack(): return early if finish_connect() fails
  filter_refs(): simplify logic
  filter_refs(): build refs list as we go
  filter_refs(): delete matched refs from sought list
  fetch_pack(): update sought->nr to reflect number of unique entries
  filter_refs(): do not check the same sought_pos twice
  Change fetch_pack() and friends to take string_list arguments
  fetch_pack(): reindent function decl and defn
  Rename static function fetch_pack() to http_fetch_pack()
  t5500: add tests of fetch-pack --all --depth=N $URL $REF
  t5500: add tests of error output for missing refs

12 years agoMerge branch 'nd/maint-diffstat-summary'
Junio C Hamano [Mon, 17 Sep 2012 22:57:22 +0000 (15:57 -0700)]
Merge branch 'nd/maint-diffstat-summary'

Earlier we made the diffstat summary line that shows the number of
lines added/deleted localizable, but it was found irritating having
to see them in various languages on a list whose discussion language
is English.

The original had trivial thinko in reverting Q_(), which has been
fixed.

* nd/maint-diffstat-summary:
  Revert diffstat back to English

12 years agoMerge branch 'jk/config-warn-on-inaccessible-paths'
Junio C Hamano [Mon, 17 Sep 2012 22:55:41 +0000 (15:55 -0700)]
Merge branch 'jk/config-warn-on-inaccessible-paths'

The attribute system may be asked for a path that itself or its
leading directories no longer exists in the working tree.  Failure
to open per-directory .gitattributes with error status other than
ENOENT and ENOTDIR are diagnosed.

* jk/config-warn-on-inaccessible-paths:
  attr: failure to open a .gitattributes file is OK with ENOTDIR

12 years agoMerge branch 'jw/doc-commit-title'
Junio C Hamano [Mon, 17 Sep 2012 22:53:39 +0000 (15:53 -0700)]
Merge branch 'jw/doc-commit-title'

Update parts of document that talked about "first line of commit
log" to say "title of commit" with definition of what that "title"
is.

* jw/doc-commit-title:
  Documentation: describe subject more precisely

12 years agoMerge branch 'mh/string-list'
Junio C Hamano [Mon, 17 Sep 2012 22:53:31 +0000 (15:53 -0700)]
Merge branch 'mh/string-list'

* mh/string-list:
  api-string-list.txt: initialize the string_list the easy way
  string_list: add a function string_list_longest_prefix()
  string_list: add a new function, string_list_remove_duplicates()
  string_list: add a new function, filter_string_list()
  string_list: add two new functions for splitting strings
  string_list: add function string_list_append_nodup()

12 years agoMerge branch 'jc/maint-blame-no-such-path'
Junio C Hamano [Mon, 17 Sep 2012 22:52:32 +0000 (15:52 -0700)]
Merge branch 'jc/maint-blame-no-such-path'

"git blame MAKEFILE" run in a history that has "Makefile" but not
"MAKEFILE" should say "No such file MAKEFILE in HEAD", but got
confused on a case insensitive filesystem and failed to do so.

Even during a conflicted merge, "git blame $path" always meant to
blame uncommitted changes to the "working tree" version; make it
more useful by showing cleanly merged parts as coming from the other
branch that is being merged.

* jc/maint-blame-no-such-path:
  blame: allow "blame file" in the middle of a conflicted merge
  blame $path: avoid getting fooled by case insensitive filesystems

12 years agomake poll() work on platforms that can't recv() on a non-socket
Joachim Schmitz [Mon, 17 Sep 2012 21:24:42 +0000 (23:24 +0200)]
make poll() work on platforms that can't recv() on a non-socket

This way it just got added to gnulib too the other day.

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agopoll() exits too early with EFAULT if 1st arg is NULL
Joachim Schmitz [Mon, 17 Sep 2012 21:23:17 +0000 (23:23 +0200)]
poll() exits too early with EFAULT if 1st arg is NULL

If poll() is used as a milli-second sleep, like in help.c, by passing a NULL
in the 1st and a 0 in the 2nd arg, it exits with EFAULT.

As per Paolo Bonzini, the original author, this is a bug and to be fixed
Like in this commit, which is not to exit if the 2nd arg is 0. It got fixed
In gnulib in the same manner the other day.

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agofix some win32 specific dependencies in poll.c
Joachim Schmitz [Mon, 17 Sep 2012 21:18:27 +0000 (23:18 +0200)]
fix some win32 specific dependencies in poll.c

In order for non-win32 platforms to be able to use poll.c, #ifdef the
inclusion of two header files properly

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agomake poll available for other platforms lacking it
Joachim Schmitz [Mon, 17 Sep 2012 21:16:39 +0000 (23:16 +0200)]
make poll available for other platforms lacking it

move poll.[ch] out of compat/win32/ into compat/poll/ and adjust
Makefile with the changed paths. Adding comments to Makefile about
how/when to enable it and add logic for this

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agomailinfo: do not concatenate charset= attribute values from mime headers
Junio C Hamano [Mon, 17 Sep 2012 21:17:58 +0000 (14:17 -0700)]
mailinfo: do not concatenate charset= attribute values from mime headers

"Content-type: text/plain; charset=UTF-8" header should not appear
twice in the input, but it is always better to gracefully deal with
such a case.  The current code concatenates the value to the values
we have seen previously, producing nonsense such as "utf8UTF-8".

Instead of concatenating, forget the previous value and use the last
value we see.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot/perf: add "trash directory" to .gitignore
Ramkumar Ramachandra [Mon, 17 Sep 2012 17:06:18 +0000 (22:36 +0530)]
t/perf: add "trash directory" to .gitignore

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoAdd missing -z to git check-attr usage text for consistency with man page
Adam Spiers [Mon, 17 Sep 2012 11:38:51 +0000 (12:38 +0100)]
Add missing -z to git check-attr usage text for consistency with man page

Signed-off-by: Adam Spiers <git@adamspiers.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit-jump: ignore (custom) prefix in diff mode
Mischa POSLAWSKY [Mon, 17 Sep 2012 01:21:55 +0000 (03:21 +0200)]
git-jump: ignore (custom) prefix in diff mode

Matching the default file prefix b/ does not yield any results if config
option diff.noprefix or diff.mnemonicprefix is enabled.

Signed-off-by: Mischa POSLAWSKY <git@shiar.nl>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation: indent-with-non-tab uses "equivalent tabs" not 8
Wesley J. Landaker [Mon, 17 Sep 2012 14:22:15 +0000 (08:22 -0600)]
Documentation: indent-with-non-tab uses "equivalent tabs" not 8

Update the documentation of the core.whitespace option
"indent-with-non-tab" to correctly reflect that it catches the use of
spaces instead of the equivalent tabs, rather than a fixed number.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>