git.git
11 years agoUse __VA_ARGS__ for all of error's arguments
Matt Kraai [Fri, 8 Feb 2013 15:09:28 +0000 (07:09 -0800)]
Use __VA_ARGS__ for all of error's arguments

QNX 6.3.2 uses GCC 2.95.3 by default, and GCC 2.95.3 doesn't remove the
comma if the error macro's variable argument is left out.

Instead of testing for a sufficiently recent version of GCC, make
__VA_ARGS__ match all of the arguments.

Signed-off-by: Matt Kraai <matt.kraai@amo.abbott.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agosilence some -Wuninitialized false positives
Jeff King [Sat, 15 Dec 2012 17:42:10 +0000 (12:42 -0500)]
silence some -Wuninitialized false positives

There are a few error functions that simply wrap error() and
provide a standardized message text. Like error(), they
always return -1; knowing that can help the compiler silence
some false positive -Wuninitialized warnings.

One strategy would be to just declare these as inline in the
header file so that the compiler can see that they always
return -1. However, gcc does not always inline them (e.g.,
it will not inline opterror, even with -O3), which renders
our change pointless.

Instead, let's follow the same route we did with error() in
the last patch, and define a macro that makes the constant
return value obvious to the compiler.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomake error()'s constant return value more visible
Jeff King [Sat, 15 Dec 2012 17:37:36 +0000 (12:37 -0500)]
make error()'s constant return value more visible

When git is compiled with "gcc -Wuninitialized -O3", some
inlined calls provide an additional opportunity for the
compiler to do static analysis on variable initialization.
For example, with two functions like this:

  int get_foo(int *foo)
  {
if (something_that_might_fail() < 0)
return error("unable to get foo");
*foo = 0;
return 0;
  }

  void some_fun(void)
  {
  int foo;
  if (get_foo(&foo) < 0)
  return -1;
  printf("foo is %d\n", foo);
  }

If get_foo() is not inlined, then when compiling some_fun,
gcc sees only that a pointer to the local variable is
passed, and must assume that it is an out parameter that
is initialized after get_foo returns.

However, when get_foo() is inlined, the compiler may look at
all of the code together and see that some code paths in
get_foo() do not initialize the variable. As a result, it
prints a warning. But what the compiler can't see is that
error() always returns -1, and therefore we know that either
we return early from some_fun, or foo ends up initialized,
and the code is safe.  The warning is a false positive.

If we can make the compiler aware that error() will always
return -1, it can do a better job of analysis. The simplest
method would be to inline the error() function. However,
this doesn't work, because gcc will not inline a variadc
function. We can work around this by defining a macro. This
relies on two gcc extensions:

  1. Variadic macros (these are present in C99, but we do
     not rely on that).

  2. Gcc treats the "##" paste operator specially between a
     comma and __VA_ARGS__, which lets our variadic macro
     work even if no format parameters are passed to
     error().

Since we are using these extra features, we hide the macro
behind an #ifdef. This is OK, though, because our goal was
just to help gcc.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-testsvn: fix unitialized variable
Jeff King [Fri, 14 Dec 2012 22:11:44 +0000 (17:11 -0500)]
remote-testsvn: fix unitialized variable

In remote-test-svn, there is a parse_rev_note function to
parse lines of the form "Revision-number" from notes. If it
finds such a line and parses it, it returns 0, copying the
value into a "struct rev_note". If it finds an entry that is
garbled or out of range, it returns -1 to signal an error.

However, if it does not find any "Revision-number" line at
all, it returns success but does not put anything into the
rev_note. So upon a successful return, the rev_note may or
may not be initialized, and the caller has no way of
knowing.

gcc does not usually catch the use of the unitialized
variable because the conditional assignment happens in a
separate function from the point of use. However, when
compiling with -O3, gcc will inline parse_rev_note and
notice the problem.

We can fix it by returning "-1" when no note is found (so on
a zero return, we always found a valid value).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Thu, 13 Dec 2012 19:13:56 +0000 (11:13 -0800)]
Merge branch 'maint'

11 years agoFix sizeof usage in get_permutations
Matthew Daley [Thu, 13 Dec 2012 13:36:30 +0000 (02:36 +1300)]
Fix sizeof usage in get_permutations

Currently it gets the size of an otherwise unrelated, unused variable
instead of the expected struct size.

Signed-off-by: Matthew Daley <mattjd@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'mh/doc-remote-helpers'
Junio C Hamano [Thu, 13 Dec 2012 19:00:15 +0000 (11:00 -0800)]
Merge branch 'mh/doc-remote-helpers'

* mh/doc-remote-helpers:
  git-remote-helpers.txt: clarify options & ref list attributes
  git-remote-helpers.txt: clarify command <-> capability correspondences
  git-remote-helpers.txt: rearrange description of capabilities
  git-remote-helpers.txt: minor grammar fix
  git-remote-helpers.txt: document missing capabilities
  git-remote-helpers.txt: document invocation before input format

11 years agogit.txt: add missing info about --git-dir command-line option
Manlio Perillo [Thu, 13 Dec 2012 17:57:19 +0000 (18:57 +0100)]
git.txt: add missing info about --git-dir command-line option

Unlike other environment variables (e.g. GIT_WORK_TREE, GIT_NAMESPACE),
the Documentation/git.txt file did not mention that the GIT_DIR
environment variable can also be set using the --git-dir command line
option.

Signed-off-by: Manlio Perillo <manlio.perillo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit(1): show link to contributor summary page
Junio C Hamano [Wed, 12 Dec 2012 18:06:24 +0000 (10:06 -0800)]
git(1): show link to contributor summary page

We earlier removed a link to list of contributors that pointed to a
defunct page; let's use a working one from Ohloh.net to replace it
instead.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'so/prompt-command'
Junio C Hamano [Wed, 12 Dec 2012 19:08:13 +0000 (11:08 -0800)]
Merge branch 'so/prompt-command'

* so/prompt-command:
  git-prompt.sh: update PROMPT_COMMAND documentation

11 years agogit-prompt.sh: update PROMPT_COMMAND documentation
Junio C Hamano [Tue, 11 Dec 2012 23:04:36 +0000 (15:04 -0800)]
git-prompt.sh: update PROMPT_COMMAND documentation

The description of __git_ps1 function operating in two-arg mode was
not very clear.  It said "set PROMPT_COMMAND=__git_ps1" which is not
the right usage for this mode, followed by "To customize the prompt,
do this", giving a false impression that those who do not want to
customize it can get away with no-arg form, which was incorrect.

Make it clear that this mode always takes two arguments, pre and
post, with an example.

The straight-forward one should be listed as the primary usage, and
the confusing one should be an alternate for advanced users.  Swap
the order of these two.

Acked-by: Simon Oosthoek <s.oosthoek@xs4all.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoAdd file completion to tcsh git completion.
Marc Khouzam [Tue, 11 Dec 2012 21:36:57 +0000 (21:36 +0000)]
Add file completion to tcsh git completion.

For bash completion, the option '-o bashdefault' is used to indicate
that when no other choices are available, file completion should be
performed.  Since this option is not available in tcsh, no file
completion is ever performed.  Therefore, commands like 'git add ',
'git send-email ', etc, require the user to manually type out
the file name.  This can be quite annoying.

To improve the user experience we try to simulate file completion
directly in this script (although not perfectly).

The known issues with the file completion simulation are:
- Possible completions are shown with their directory prefix.
- Completions containing shell variables are not handled.
- Completions with ~ as the first character are not handled.

Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ef/mingw-rmdir'
Junio C Hamano [Tue, 11 Dec 2012 23:51:14 +0000 (15:51 -0800)]
Merge branch 'ef/mingw-rmdir'

MinGW has a workaround when rmdir unnecessarily fails to retry with
a prompt, but the logic was kicking in when the rmdir failed with
ENOTEMPTY, i.e. was expected to fail and there is no point retrying.

* ef/mingw-rmdir:
  mingw_rmdir: do not prompt for retry when non-empty

11 years agoMerge branch 'ef/mingw-tty-getpass'
Junio C Hamano [Tue, 11 Dec 2012 23:51:09 +0000 (15:51 -0800)]
Merge branch 'ef/mingw-tty-getpass'

Update getpass() emulation for MinGW.

* ef/mingw-tty-getpass:
  mingw: get rid of getpass implementation
  mingw: reuse tty-version of git_terminal_prompt
  compat/terminal: separate input and output handles
  compat/terminal: factor out echo-disabling
  mingw: make fgetc raise SIGINT if apropriate
  mingw: correct exit-code for SIGALRM's SIG_DFL

11 years agoMerge branch 'maint'
Junio C Hamano [Tue, 11 Dec 2012 23:50:10 +0000 (15:50 -0800)]
Merge branch 'maint'

* maint:
  git-prompt: Document GIT_PS1_DESCRIBE_STYLE

11 years agogit-prompt: Document GIT_PS1_DESCRIBE_STYLE
Anders Kaseorg [Tue, 11 Dec 2012 23:20:24 +0000 (18:20 -0500)]
git-prompt: Document GIT_PS1_DESCRIBE_STYLE

GIT_PS1_DESCRIBE_STYLE was introduced in v1.6.3.2~35.  Document it in the
header comments.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSync with 1.8.0.2
Junio C Hamano [Mon, 10 Dec 2012 21:07:12 +0000 (13:07 -0800)]
Sync with 1.8.0.2

* maint:
  Git 1.8.0.2
  Documentation/git-stash.txt: add a missing verb
  git(1): remove a defunct link to "list of authors"

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.0.2
Junio C Hamano [Mon, 10 Dec 2012 21:05:47 +0000 (13:05 -0800)]
Git 1.8.0.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMakefile: whitespace style fixes in macro definitions
Stefano Lattarini [Sun, 9 Dec 2012 10:36:17 +0000 (11:36 +0100)]
Makefile: whitespace style fixes in macro definitions

Consistently use a single space before and after the "=" (or ":=", "+=",
etc.) in assignments to make macros.  Granted, this was not a big deal,
but I did find the needless inconsistency quite distracting.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomingw_rmdir: do not prompt for retry when non-empty
Erik Faye-Lund [Mon, 10 Dec 2012 14:42:27 +0000 (15:42 +0100)]
mingw_rmdir: do not prompt for retry when non-empty

in ab1a11be ("mingw_rmdir: set errno=ENOTEMPTY when appropriate"),
a check was added to prevent us from retrying to delete a directory
that is both in use and non-empty.

However, this logic was slightly flawed; since we didn't return
immediately, we end up falling out of the retry-loop, but right into
the prompting-loop.

Fix this by setting errno, and guarding the prompting-loop with an
errno-check.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/git-stash.txt: add a missing verb
Sébastien Loriot [Mon, 10 Dec 2012 07:22:34 +0000 (08:22 +0100)]
Documentation/git-stash.txt: add a missing verb

Signed-off-by: Sébastien Loriot <sloriot.ml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit(1): remove a defunct link to "list of authors"
Junio C Hamano [Fri, 7 Dec 2012 17:54:50 +0000 (09:54 -0800)]
git(1): remove a defunct link to "list of authors"

The linked page has not been showing the promised "more complete
list" for more than 6 months by now, and nobody has resurrected
the list there nor elsewhere since then.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.1-rc1
Junio C Hamano [Fri, 7 Dec 2012 22:18:55 +0000 (14:18 -0800)]
Git 1.8.1-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/diff-config: work around AsciiDoc misfortune
Junio C Hamano [Fri, 7 Dec 2012 23:15:59 +0000 (15:15 -0800)]
Documentation/diff-config: work around AsciiDoc misfortune

The line that happens to begin with indent followed by "3. " was
interpreted as if it was an enumerated list; just wrap the lines
differently to work it around for now.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Fri, 7 Dec 2012 22:16:52 +0000 (14:16 -0800)]
Merge branch 'maint'

* maint:
  Update draft release notes to 1.8.0.2

11 years agoUpdate draft release notes to 1.8.0.2
Junio C Hamano [Fri, 7 Dec 2012 22:16:38 +0000 (14:16 -0800)]
Update draft release notes to 1.8.0.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jc/doc-push-satellite' into maint
Junio C Hamano [Fri, 7 Dec 2012 22:11:21 +0000 (14:11 -0800)]
Merge branch 'jc/doc-push-satellite' into maint

* jc/doc-push-satellite:
  Documentation/git-push.txt: clarify the "push from satellite" workflow

11 years agoMerge branch 'jc/same-encoding' into maint
Junio C Hamano [Fri, 7 Dec 2012 22:10:56 +0000 (14:10 -0800)]
Merge branch 'jc/same-encoding' into maint

Various codepaths checked if two encoding names are the same using
ad-hoc code and some of them ended up asking iconv() to convert
between "utf8" and "UTF-8".  The former is not a valid way to spell
the encoding name, but often people use it by mistake, and we
equated them in some but not all codepaths. Introduce a new helper
function to make these codepaths consistent.

* jc/same-encoding:
  reencode_string(): introduce and use same_encoding()

11 years agoMerge branch 'lt/diff-stat-show-0-lines' into maint
Junio C Hamano [Fri, 7 Dec 2012 22:10:17 +0000 (14:10 -0800)]
Merge branch 'lt/diff-stat-show-0-lines' into maint

"git diff --stat" miscounted the total number of changed lines when
binary files were involved and hidden beyond --stat-count.  It also
miscounted the total number of changed files when there were
unmerged paths.

* lt/diff-stat-show-0-lines:
  t4049: refocus tests
  diff --shortstat: do not count "unmerged" entries
  diff --stat: do not count "unmerged" entries
  diff --stat: move the "total count" logic to the last loop
  diff --stat: use "file" temporary variable to refer to data->files[i]
  diff --stat: status of unmodified pair in diff-q is not zero
  test: add failing tests for "diff --stat" to t4049
  Fix "git diff --stat" for interesting - but empty - file changes

11 years agogit-remote-helpers.txt: clarify options & ref list attributes
Max Horn [Tue, 27 Nov 2012 23:03:26 +0000 (00:03 +0100)]
git-remote-helpers.txt: clarify options & ref list attributes

The documentation was misleading in that it gave the impression that
'for-push' could be used as a ref attribute in the output of the
'list' command. That is wrong.

Also, explicitly point out the connection between the commands
'list' and 'options' on the one hand, and the sections
'REF LIST ATTRIBUTES' and 'OPTIONS' on the other hand.

Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-remote-helpers.txt: clarify command <-> capability correspondences
Max Horn [Tue, 27 Nov 2012 23:03:25 +0000 (00:03 +0100)]
git-remote-helpers.txt: clarify command <-> capability correspondences

In particular, document 'list for-push' separately from 'list', as
the former needs only be supported for the push/export
capabilities, and the latter only for fetch/import. Indeed, a
hypothetically 'push-only' helper would only need to support the
former, not the latter.

Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-remote-helpers.txt: rearrange description of capabilities
Max Horn [Tue, 27 Nov 2012 23:03:24 +0000 (00:03 +0100)]
git-remote-helpers.txt: rearrange description of capabilities

This also remove some duplication in the descriptions
(e.g. refspec was explained twice with similar level of detail).

Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-remote-helpers.txt: minor grammar fix
Max Horn [Tue, 27 Nov 2012 23:03:23 +0000 (00:03 +0100)]
git-remote-helpers.txt: minor grammar fix

Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-remote-helpers.txt: document missing capabilities
Max Horn [Tue, 27 Nov 2012 23:03:22 +0000 (00:03 +0100)]
git-remote-helpers.txt: document missing capabilities

Specifically, document the 'export' and '(im|ex)port-marks'
capabilities as well as the export command, which were
undocumented (but in active use).

Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-remote-helpers.txt: document invocation before input format
Max Horn [Tue, 27 Nov 2012 23:03:21 +0000 (00:03 +0100)]
git-remote-helpers.txt: document invocation before input format

In the distant past, the order things were documented was
'Invocation', 'Commands', 'Capabilities', ...

Then it was decided that before giving a list of Commands, there
should be an overall description of the 'Input format', which was
a wise decision. However, this description was put as the very
first thing, with the rationale that any implementor would want
to know that first.

However, it seems an implementor would actually first need to
know how the remote helper will be invoked, so moving
'Invocation' to the front again seems logical. Moreover, we now
don't switch from discussing the input format to the invocation
style and then back to input related stuff.

Signed-off-by: Max Horn <max@quendi.de>
Acked-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
Junio C Hamano [Fri, 7 Dec 2012 18:32:22 +0000 (10:32 -0800)]
Merge branch 'master' of git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
  l10n: de.po: translate 22 new messages
  l10n: de.po: translate 825 new messages
  l10n: Update Swedish translation (1979t0f0u)
  l10n: vi.po: update to git-v1.8.0.1-347-gf94c3
  l10n: Update git.pot (5 new, 1 removed messages)

11 years agoMerge branch 'rr/t4041-cleanup'
Junio C Hamano [Fri, 7 Dec 2012 18:31:19 +0000 (10:31 -0800)]
Merge branch 'rr/t4041-cleanup'

* rr/t4041-cleanup:
  t4041 (diff-submodule-option): modernize style
  t4041 (diff-submodule-option): rewrite add_file() routine
  t4041 (diff-submodule-option): parse digests sensibly
  t4041 (diff-submodule-option): don't hardcode SHA-1 in expected outputs

11 years agoMerge branch git://github.com/ralfth/git-po-de
Jiang Xin [Fri, 7 Dec 2012 09:28:58 +0000 (17:28 +0800)]
Merge branch git://github.com/ralfth/git-po-de

* 'rt/de-l10n-updates-for-1.8.1' of git://github.com/ralfth/git-po-de:
  l10n: de.po: translate 22 new messages
  l10n: de.po: translate 825 new messages

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
11 years agol10n: de.po: translate 22 new messages
Ralf Thielow [Sun, 2 Dec 2012 15:57:38 +0000 (16:57 +0100)]
l10n: de.po: translate 22 new messages

Translate 22 new messages came from git.pot
updates in 9306b5b (l10n: Update git.pot (3 new,
6 removed messages)), fe52cd6 (l10n: Update git.pot
(14 new, 3 removed messages)) and f9472e3
(l10n: Update git.pot (5 new, 1 removed messages)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Reviewed-by: Michael J Gruber <git@drmicha.warpmail.net>
11 years agol10n: de.po: translate 825 new messages
Ralf Thielow [Sun, 16 Sep 2012 11:15:34 +0000 (13:15 +0200)]
l10n: de.po: translate 825 new messages

Translate 825 new messages came from git.pot update in
cc76011 ("l10n: Update git.pot (825 new, 24 removed messages)").

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Reviewed-by: Thomas Rast <trast@student.ethz.ch>
Helped-by: Michael J Gruber <git@drmicha.warpmail.net>
11 years agoMerge branch 'mm/status-push-pull-advise'
Junio C Hamano [Tue, 4 Dec 2012 21:34:10 +0000 (13:34 -0800)]
Merge branch 'mm/status-push-pull-advise'

* mm/status-push-pull-advise:
  document that statusHints affects git checkout

11 years agomingw: get rid of getpass implementation
Erik Faye-Lund [Tue, 4 Dec 2012 08:10:42 +0000 (09:10 +0100)]
mingw: get rid of getpass implementation

There's no remaining call-sites, and as pointed out in the
previous commit message, it's not quite ideal. So let's just
lose it.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomingw: reuse tty-version of git_terminal_prompt
Erik Faye-Lund [Tue, 4 Dec 2012 08:10:41 +0000 (09:10 +0100)]
mingw: reuse tty-version of git_terminal_prompt

The getpass-implementation we use on Windows isn't at all ideal;
it works in raw-mode (as opposed to cooked mode), and as a result
does not deal correcly with deletion, arrow-keys etc.

Instead, use cooked mode to read a line at the time, allowing the
C run-time to process the input properly.

Since we set files to be opened in binary-mode by default on
Windows, introduce a FORCE_TEXT macro that expands to the "t"
modifier that forces the terminal to be opened in text-mode so we
do not have to deal with CRLF issues.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompat/terminal: separate input and output handles
Erik Faye-Lund [Tue, 4 Dec 2012 08:10:40 +0000 (09:10 +0100)]
compat/terminal: separate input and output handles

On Windows, the terminal cannot be opened in read-write mode, so
we need distinct pairs for reading and writing. Since this works
fine on other platforms as well, always open them in pairs.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompat/terminal: factor out echo-disabling
Erik Faye-Lund [Tue, 4 Dec 2012 08:10:39 +0000 (09:10 +0100)]
compat/terminal: factor out echo-disabling

By moving the echo-disabling code to a separate function, we can
implement OS-specific versions of it for non-POSIX platforms.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomingw: make fgetc raise SIGINT if apropriate
Erik Faye-Lund [Tue, 4 Dec 2012 08:10:38 +0000 (09:10 +0100)]
mingw: make fgetc raise SIGINT if apropriate

Set a control-handler to prevent the process from terminating, and
simulate SIGINT so it can be handled by a signal-handler as usual.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomingw: correct exit-code for SIGALRM's SIG_DFL
Erik Faye-Lund [Tue, 4 Dec 2012 08:10:37 +0000 (09:10 +0100)]
mingw: correct exit-code for SIGALRM's SIG_DFL

Make sure SIG_DFL for SIGALRM exits with 128 + SIGALRM so other
processes can diagnose why it exits.

While we're at it, make sure we only write to stderr if it's a
terminal, and  change the output to match that of Linux.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodocument that statusHints affects git checkout
Matthieu Moy [Tue, 4 Dec 2012 09:15:03 +0000 (10:15 +0100)]
document that statusHints affects git checkout

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.1-rc0
Junio C Hamano [Mon, 3 Dec 2012 17:49:51 +0000 (09:49 -0800)]
Git 1.8.1-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'mm/status-push-pull-advise'
Junio C Hamano [Mon, 3 Dec 2012 17:27:29 +0000 (09:27 -0800)]
Merge branch 'mm/status-push-pull-advise'

Finishing touch to allow the new advice message squelched
with an advice.* configuration variable.

* mm/status-push-pull-advise:
  status: respect advice.statusHints for ahead/behind advice

11 years agostatus: respect advice.statusHints for ahead/behind advice
Jeff King [Mon, 3 Dec 2012 06:16:57 +0000 (01:16 -0500)]
status: respect advice.statusHints for ahead/behind advice

If the user has unset advice.statusHints, we already
suppress the "use git reset to..." hints in each stanza. The
new "use git push to publish..." hint is the same type of
hint. Let's respect statusHints for it, rather than making
the user set yet another advice flag.

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot4041 (diff-submodule-option): modernize style
Ramkumar Ramachandra [Fri, 30 Nov 2012 11:37:36 +0000 (17:07 +0530)]
t4041 (diff-submodule-option): modernize style

- Enclose tests in single quotes as opposed to double quotes.  This is
  the prevalent style in other tests.
- Remove the unused variable $head4_full.
- Indent the expected output so that it lines up with the rest of the
  test text.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot4041 (diff-submodule-option): rewrite add_file() routine
Ramkumar Ramachandra [Fri, 30 Nov 2012 11:37:35 +0000 (17:07 +0530)]
t4041 (diff-submodule-option): rewrite add_file() routine

Instead of "cd there and then come back", use the "cd there in a
subshell" pattern.  Also fix '&&' chaining in one place.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot4041 (diff-submodule-option): parse digests sensibly
Ramkumar Ramachandra [Fri, 30 Nov 2012 11:37:34 +0000 (17:07 +0530)]
t4041 (diff-submodule-option): parse digests sensibly

`git rev-list --max-count=1 HEAD` is a roundabout way of saying `git
rev-parse --verify HEAD`; replace a bunch of instances of the former
with the latter.  Also, don't unnecessarily `cut -c1-7` the rev-parse
output when the `--short` option is available.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agol10n: Update Swedish translation (1979t0f0u)
Peter Krefting [Fri, 30 Nov 2012 09:51:14 +0000 (10:51 +0100)]
l10n: Update Swedish translation (1979t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
11 years agol10n: vi.po: update to git-v1.8.0.1-347-gf94c3
Tran Ngoc Quan [Fri, 30 Nov 2012 06:43:11 +0000 (13:43 +0700)]
l10n: vi.po: update to git-v1.8.0.1-347-gf94c3

 * updated all new messages (1979t0f0u)

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
11 years agol10n: Update git.pot (5 new, 1 removed messages)
Jiang Xin [Fri, 30 Nov 2012 04:41:47 +0000 (12:41 +0800)]
l10n: Update git.pot (5 new, 1 removed messages)

L10n for git 1.8.1 round 2: Generate po/git.pot from v1.8.0.1-347-gf94c3.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
11 years agoUpdate draft release notes to 1.8.1
Junio C Hamano [Thu, 29 Nov 2012 21:57:09 +0000 (13:57 -0800)]
Update draft release notes to 1.8.1

11 years agoMerge branch 'pw/p4-various-fixes'
Junio C Hamano [Thu, 29 Nov 2012 21:44:28 +0000 (13:44 -0800)]
Merge branch 'pw/p4-various-fixes'

* pw/p4-various-fixes:
  git p4: remove unneeded cmd initialization
  git p4: fix labelDetails typo in exception
  git p4 test: display unresolvable host error
  git p4: catch p4 errors when streaming file contents
  git p4: handle servers without move support
  git p4: catch p4 describe errors

11 years agoMerge branch 'lt/diff-stat-show-0-lines'
Junio C Hamano [Thu, 29 Nov 2012 20:53:54 +0000 (12:53 -0800)]
Merge branch 'lt/diff-stat-show-0-lines'

"git diff --stat" miscounted the total number of changed lines when
binary files were involved and hidden beyond --stat-count.  It also
miscounted the total number of changed files when there were
unmerged paths.

* lt/diff-stat-show-0-lines:
  t4049: refocus tests
  diff --shortstat: do not count "unmerged" entries
  diff --stat: do not count "unmerged" entries
  diff --stat: move the "total count" logic to the last loop
  diff --stat: use "file" temporary variable to refer to data->files[i]
  diff --stat: status of unmodified pair in diff-q is not zero
  test: add failing tests for "diff --stat" to t4049

11 years agoMerge branch 'fc/remote-hg'
Junio C Hamano [Thu, 29 Nov 2012 20:53:50 +0000 (12:53 -0800)]
Merge branch 'fc/remote-hg'

New remote helper for hg.

* fc/remote-hg: (22 commits)
  remote-hg: fix for older versions of python
  remote-hg: fix for files with spaces
  remote-hg: avoid bad refs
  remote-hg: try the 'tip' if no checkout present
  remote-hg: fix compatibility with older versions of hg
  remote-hg: add missing config for basic tests
  remote-hg: the author email can be null
  remote-hg: add option to not track branches
  remote-hg: add extra author test
  remote-hg: add tests to compare with hg-git
  remote-hg: add bidirectional tests
  test-lib: avoid full path to store test results
  remote-hg: add basic tests
  remote-hg: fake bookmark when there's none
  remote-hg: add compat for hg-git author fixes
  remote-hg: add support for hg-git compat mode
  remote-hg: match hg merge behavior
  remote-hg: make sure the encoding is correct
  remote-hg: add support to push URLs
  remote-hg: add support for remote pushing
  ...

11 years agoMerge branch 'mk/complete-tcsh'
Junio C Hamano [Thu, 29 Nov 2012 20:53:38 +0000 (12:53 -0800)]
Merge branch 'mk/complete-tcsh'

Finishing touches for tcsh completion.

* mk/complete-tcsh:
  Support for git aliasing for tcsh completion

11 years agoMerge branch 'jc/doc-push-satellite'
Junio C Hamano [Thu, 29 Nov 2012 20:52:54 +0000 (12:52 -0800)]
Merge branch 'jc/doc-push-satellite'

* jc/doc-push-satellite:
  Documentation/git-push.txt: clarify the "push from satellite" workflow

11 years agoMerge branch 'km/send-email-remove-cruft-in-address'
Junio C Hamano [Thu, 29 Nov 2012 20:52:49 +0000 (12:52 -0800)]
Merge branch 'km/send-email-remove-cruft-in-address'

* km/send-email-remove-cruft-in-address:
  git-send-email: allow edit invalid email address
  git-send-email: ask what to do with an invalid email address
  git-send-email: remove invalid addresses earlier
  git-send-email: fix fallback code in extract_valid_address()
  git-send-email: remove garbage after email address

11 years agoMerge branch 'jk/send-email-sender-prompt'
Junio C Hamano [Thu, 29 Nov 2012 20:52:45 +0000 (12:52 -0800)]
Merge branch 'jk/send-email-sender-prompt'

General clean-ups in various areas, originally written to support a
patch that later turned out to be unneeded.

* jk/send-email-sender-prompt:
  t9001: check send-email behavior with implicit sender
  t: add tests for "git var"
  ident: keep separate "explicit" flags for author and committer
  ident: make user_ident_explicitly_given static
  t7502: factor out autoident prerequisite
  test-lib: allow negation of prerequisites

11 years agoMerge branch 'fc/send-email-no-sender-prompt'
Junio C Hamano [Thu, 29 Nov 2012 20:52:42 +0000 (12:52 -0800)]
Merge branch 'fc/send-email-no-sender-prompt'

* fc/send-email-no-sender-prompt:
  send-email: avoid questions when user has an ident

11 years agoMerge branch 'er/doc-add-new-commands'
Junio C Hamano [Thu, 29 Nov 2012 20:52:36 +0000 (12:52 -0800)]
Merge branch 'er/doc-add-new-commands'

* er/doc-add-new-commands:
  Documentation: how to add a new command

11 years agoMerge branch 'jl/submodule-rm'
Junio C Hamano [Thu, 29 Nov 2012 20:52:30 +0000 (12:52 -0800)]
Merge branch 'jl/submodule-rm'

Finishing touches to "git rm $submodule" that removes the working
tree of a submodule.

* jl/submodule-rm:
  Teach rm to remove submodules when given with a trailing '/'

11 years agoMerge branch 'pp/gitweb-config-underscore'
Junio C Hamano [Thu, 29 Nov 2012 20:52:16 +0000 (12:52 -0800)]
Merge branch 'pp/gitweb-config-underscore'

The key "gitweb.remote_heads" is not legal git config; this maps it to
"gitweb.remoteheads".

* pp/gitweb-config-underscore:
  gitweb: make remote_heads config setting work

11 years agoMerge branch 'fc/completion-test-simplification'
Junio C Hamano [Thu, 29 Nov 2012 20:52:10 +0000 (12:52 -0800)]
Merge branch 'fc/completion-test-simplification'

Clean up completion tests.  Use of conslidated helper may make
instrumenting one particular test during debugging of the test
itself, but I think that issue should be addressed in some other
way (e.g. making sure individual tests in 9902 can be skipped).

* fc/completion-test-simplification:
  completion: simplify __gitcomp() test helper
  completion: refactor __gitcomp related tests
  completion: consolidate test_completion*() tests
  completion: simplify tests using test_completion_long()
  completion: standardize final space marker in tests
  completion: add comment for test_completion()

11 years agoMerge branch 'maint'
Junio C Hamano [Thu, 29 Nov 2012 20:21:17 +0000 (12:21 -0800)]
Merge branch 'maint'

* maint:
  git-fast-import.txt: improve documentation for quoted paths
  git-remote-mediawiki: escape ", \, and LF in file names

11 years agogit-fast-import.txt: improve documentation for quoted paths
Matthieu Moy [Thu, 29 Nov 2012 19:11:32 +0000 (20:11 +0100)]
git-fast-import.txt: improve documentation for quoted paths

The documentation mentioned only newlines and double quotes as
characters needing escaping, but the backslash also needs it. Also, the
documentation was not clearly saying that double quotes around the file
name were required (double quotes in the examples could be interpreted as
part of the sentence, not part of the actual string).

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-remote-mediawiki: escape ", \, and LF in file names
Matthieu Moy [Thu, 29 Nov 2012 17:00:55 +0000 (18:00 +0100)]
git-remote-mediawiki: escape ", \, and LF in file names

A mediawiki page can contain, and even start with a " character, we have
to escape it when generating the fast-export stream, as well as \
character. While we're there, also escape newlines, but I don't think we
can get them from MediaWiki pages.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
Junio C Hamano [Thu, 29 Nov 2012 18:05:51 +0000 (10:05 -0800)]
Merge branch 'master' of git://github.com/git-l10n/git-po

Further l10n updates.

* 'master' of git://github.com/git-l10n/git-po:
  l10n: vi.po: Update follow git-v1.8.0-273-g2d242

11 years agot4049: refocus tests
Junio C Hamano [Thu, 29 Nov 2012 17:46:30 +0000 (09:46 -0800)]
t4049: refocus tests

The primary thing Linus's patch wanted to change was to make sure
that 0-line change appears for a mode-only change.  Update the
first test to chmod a file that we can see in the output (limited
by --stat-count) to demonstrate it.  Also make sure to use test_chmod
and compare the index and the tree, so that we can run this test
even on a filesystem without permission bits.

Later two tests are about fixes to separate issues that were
introduced and/or uncovered by Linus's patch as a side effect, but
the issues are not related to mode-only changes.  Remove chmod from
the tests.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: fix warning for zsh
Felipe Contreras [Thu, 29 Nov 2012 08:20:57 +0000 (09:20 +0100)]
completion: fix warning for zsh

Otherwise the user might get something like:

  git-completion.sh:2466: command not found: compdef

If this script is loaded before compinit. The script would work either
way, but let's not be more annoying to the user.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://github.com/vnwildman/git
Jiang Xin [Thu, 29 Nov 2012 08:25:40 +0000 (16:25 +0800)]
Merge git://github.com/vnwildman/git

* git://github.com/vnwildman/git:
  l10n: vi.po: Update follow git-v1.8.0-273-g2d242

11 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
Junio C Hamano [Thu, 29 Nov 2012 05:58:27 +0000 (21:58 -0800)]
Merge branch 'master' of git://github.com/git-l10n/git-po

Update the localization string up to 2d242fb (Update draft release
notes for 1.8.1, 2012-11-21)

* 'master' of git://github.com/git-l10n/git-po:
  l10n: Update Swedish translation (1975t0f0u)
  l10n: vi.po: update to git-v1.7.12-437-g1084f
  l10n: Update git.pot (14 new, 3 removed messages)

11 years agoMerge branch 'maint'
Junio C Hamano [Wed, 28 Nov 2012 21:49:33 +0000 (13:49 -0800)]
Merge branch 'maint'

11 years agoUpdate draft release notes to 1.8.1
Junio C Hamano [Wed, 28 Nov 2012 21:49:10 +0000 (13:49 -0800)]
Update draft release notes to 1.8.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/zsh-completion'
Junio C Hamano [Wed, 28 Nov 2012 21:42:36 +0000 (13:42 -0800)]
Merge branch 'fc/zsh-completion'

* fc/zsh-completion:
  completion: start moving to the new zsh completion
  completion: add new zsh completion

11 years agoMerge branch 'mm/status-push-pull-advise'
Junio C Hamano [Wed, 28 Nov 2012 21:42:30 +0000 (13:42 -0800)]
Merge branch 'mm/status-push-pull-advise'

* mm/status-push-pull-advise:
  status: add advice on how to push/pull to tracking branch

11 years agoMerge branch 'jk/pickaxe-textconv'
Junio C Hamano [Wed, 28 Nov 2012 21:42:24 +0000 (13:42 -0800)]
Merge branch 'jk/pickaxe-textconv'

Use textconv filters when searching with "log -S".

* jk/pickaxe-textconv:
  pickaxe: use textconv for -S counting
  pickaxe: hoist empty needle check

11 years agoStart preparing for 1.8.0.2
Junio C Hamano [Wed, 28 Nov 2012 21:40:02 +0000 (13:40 -0800)]
Start preparing for 1.8.0.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot9001: check send-email behavior with implicit sender
Jeff King [Wed, 28 Nov 2012 20:06:26 +0000 (15:06 -0500)]
t9001: check send-email behavior with implicit sender

We allow send-email to use an implicitly-defined identity
for the sender (because there is still a confirmation step),
but we abort when we cannot generate such an identity. Let's
make sure that we test this.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'rh/maint-gitweb-highlight-ext' into maint
Junio C Hamano [Wed, 28 Nov 2012 20:05:30 +0000 (12:05 -0800)]
Merge branch 'rh/maint-gitweb-highlight-ext' into maint

Syntax highlighting in "gitweb" was not quite working.

* rh/maint-gitweb-highlight-ext:
  gitweb.perl: fix %highlight_ext mappings

11 years agoMerge branch 'pw/maint-p4-rcs-expansion-newline' into maint
Junio C Hamano [Wed, 28 Nov 2012 20:04:32 +0000 (12:04 -0800)]
Merge branch 'pw/maint-p4-rcs-expansion-newline' into maint

"git p4" used to try expanding malformed "$keyword$" that spans
across multiple lines.

* pw/maint-p4-rcs-expansion-newline:
  git p4: RCS expansion should not span newlines

11 years agocompletion: add options --single-branch and --branch to "git clone"
Ralf Thielow [Wed, 28 Nov 2012 18:27:02 +0000 (19:27 +0100)]
completion: add options --single-branch and --branch to "git clone"

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/send-email-no-sender-prompt' into jk/send-email-sender-prompt
Junio C Hamano [Wed, 28 Nov 2012 18:50:20 +0000 (10:50 -0800)]
Merge branch 'fc/send-email-no-sender-prompt' into jk/send-email-sender-prompt

* fc/send-email-no-sender-prompt:
  send-email: avoid questions when user has an ident

11 years agot: add tests for "git var"
Jeff King [Wed, 28 Nov 2012 18:26:43 +0000 (13:26 -0500)]
t: add tests for "git var"

We do not currently have any explicit tests for "git var" at
all (though we do exercise it to some degree as a part of
other tests). Let's add a few basic sanity checks.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/git-push.txt: clarify the "push from satellite" workflow
Junio C Hamano [Tue, 27 Nov 2012 23:52:27 +0000 (15:52 -0800)]
Documentation/git-push.txt: clarify the "push from satellite" workflow

The context of the example to push into refs/remotes/satellite/
hierarchy of the other repository needs to be spelled out explicitly
for the value of this example to be fully appreciated.  Make it so.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: fix for older versions of python
Felipe Contreras [Wed, 28 Nov 2012 01:01:33 +0000 (02:01 +0100)]
remote-hg: fix for older versions of python

As Amit Bakshi reported, older versions of python (< 2.7) don't have
subprocess.check_output, so let's use subprocess.Popen directly as
suggested.

Suggested-by: Amit Bakshi <ambakshi@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoremote-hg: fix for files with spaces
Felipe Contreras [Wed, 28 Nov 2012 01:01:32 +0000 (02:01 +0100)]
remote-hg: fix for files with spaces

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiff --shortstat: do not count "unmerged" entries
Junio C Hamano [Tue, 27 Nov 2012 22:19:36 +0000 (14:19 -0800)]
diff --shortstat: do not count "unmerged" entries

Fix the same issue as the previous one for "git diff --stat";
unmerged entries was doubly-counted.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Tue, 27 Nov 2012 21:29:08 +0000 (13:29 -0800)]
Merge branch 'maint'

11 years agoMerge branch 'nd/maint-compat-fnmatch-fix' into maint
Junio C Hamano [Tue, 27 Nov 2012 21:29:00 +0000 (13:29 -0800)]
Merge branch 'nd/maint-compat-fnmatch-fix' into maint

* nd/maint-compat-fnmatch-fix:
  compat/fnmatch: fix off-by-one character class's length check

11 years agoMerge branch 'jh/update-ref-d-through-symref' into maint
Junio C Hamano [Tue, 27 Nov 2012 21:28:45 +0000 (13:28 -0800)]
Merge branch 'jh/update-ref-d-through-symref' into maint

* jh/update-ref-d-through-symref:
  Fix failure to delete a packed ref through a symref
  t1400-update-ref: Add test verifying bug with symrefs in delete_ref()

11 years agoMerge branch 'esr/maint-doc-fast-import' into maint
Junio C Hamano [Tue, 27 Nov 2012 21:28:31 +0000 (13:28 -0800)]
Merge branch 'esr/maint-doc-fast-import' into maint

* esr/maint-doc-fast-import:
  doc/fast-import: clarify how content states are built

11 years agoMerge branch 'wtk/submodule-doc-fixup' into maint
Junio C Hamano [Tue, 27 Nov 2012 21:28:18 +0000 (13:28 -0800)]
Merge branch 'wtk/submodule-doc-fixup' into maint

* wtk/submodule-doc-fixup:
  git-submodule: wrap branch option with "<>" in usage strings.

11 years agodiff --stat: do not count "unmerged" entries
Junio C Hamano [Tue, 27 Nov 2012 20:05:10 +0000 (12:05 -0800)]
diff --stat: do not count "unmerged" entries

Even though we show a separate *UNMERGED* entry in the patch and
diffstat output (or in the --raw format, for that matter) in
addition to and separately from the diff against the specified stage
(defaulting to #2) for unmerged paths, they should not be counted in
the total number of files affected---that would lead to counting the
same path twice.

The separation done by the previous step makes this fix simple and
straightforward.  Among the filepairs in diff_queue, paths that
weren't modified, and the extra "unmerged" entries do not count as
total number of files.

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