Commit Graph

38233 Commits (23c0956441a101b2e8eca7e063e71bdc69a0c415)

Author SHA1 Message Date
Junio C Hamano 23c0956441 Merge branch 'jk/push-simple'
Git 2.0 was supposed to make the "simple" mode for the default of
"git push", but it didn't.

* jk/push-simple:
  push: truly use "simple" as default, not "upstream"
2014-12-12 14:31:40 -08:00
Junio C Hamano 0ddedd4d6b Merge branch 'da/difftool-mergetool-simplify-reporting-status'
Code simplification.

* da/difftool-mergetool-simplify-reporting-status:
  mergetools: stop setting $status in merge_cmd()
  mergetool: simplify conditionals
  difftool--helper: add explicit exit statement
  mergetool--lib: remove use of $status global
  mergetool--lib: remove no-op assignment to $status from setup_user_tool
2014-12-12 14:31:39 -08:00
Junio C Hamano e886efdb34 Merge branch 'jk/colors-fix'
* jk/colors-fix:
  t4026: test "normal" color
  config: fix parsing of "git config --get-color some.key -1"
  docs: describe ANSI 256-color mode
2014-12-12 14:31:39 -08:00
Junio C Hamano bb87344a74 Merge branch 'rt/push-recurse-submodule-usage-string'
* rt/push-recurse-submodule-usage-string:
  builtin/push.c: fix description of --recurse-submodules option
2014-12-12 14:31:38 -08:00
Junio C Hamano 974df59986 Merge branch 'jk/rebuild-perl-scripts-with-no-perl-seting-change'
The build procedure did not bother fixing perl and python scripts
when NO_PERL and NO_PYTHON build-time configuration changed.

* jk/rebuild-perl-scripts-with-no-perl-seting-change:
  Makefile: have python scripts depend on NO_PYTHON setting
  Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros
  Makefile: have perl scripts depend on NO_PERL setting
2014-12-12 14:31:37 -08:00
Junio C Hamano f54629e7b6 Merge branch 'jk/no-perl-tests'
Some tests that depend on perl lacked PERL prerequisite to protect
them, breaking build with NO_PERL configuration.

* jk/no-perl-tests:
  t960[34]: mark cvsimport tests as requiring perl
  t0090: mark add-interactive test with PERL prerequisite
2014-12-12 14:31:36 -08:00
Junio C Hamano aa6bdbb62f Merge branch 'sv/typofix-apply-error-message'
* sv/typofix-apply-error-message:
  apply: fix typo in an error message
2014-12-12 14:31:35 -08:00
Junio C Hamano b690b87ce3 Merge branch 'po/everyday-doc'
* po/everyday-doc:
  Documentation: change "gitlink" typo in git-push
2014-12-12 14:31:34 -08:00
Junio C Hamano 11078d66d9 Merge branch 'mh/config-copy-string-from-git-path'
* mh/config-copy-string-from-git-path:
  cmd_config(): make a copy of path obtained from git_path()
2014-12-12 14:31:33 -08:00
Junio C Hamano c09988ad94 Merge branch 'jc/unpack-trees-plug-leak'
* jc/unpack-trees-plug-leak:
  unpack_trees: plug leakage of o->result
2014-12-12 14:31:33 -08:00
Junio C Hamano c18b867341 First batch for 2.3 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-05 12:03:57 -08:00
Junio C Hamano a633732440 Merge branch 'mh/config-flip-xbit-back-after-checking'
* mh/config-flip-xbit-back-after-checking:
  create_default_files(): don't set u+x bit on $GIT_DIR/config
2014-12-05 11:43:10 -08:00
Junio C Hamano 0b0cd37920 Merge branch 'jk/gitweb-with-newer-cgi-multi-param'
* jk/gitweb-with-newer-cgi-multi-param:
  gitweb: hack around CGI's list-context param() handling
2014-12-05 11:42:56 -08:00
Junio C Hamano 0e0252b755 Merge branch 'rs/receive-pack-use-labs'
* rs/receive-pack-use-labs:
  use labs() for variables of type long instead of abs()
2014-12-05 11:42:54 -08:00
Junio C Hamano 8aae35f658 Merge branch 'rs/maint-config-use-labs'
* rs/maint-config-use-labs:
  use labs() for variables of type long instead of abs()
2014-12-05 11:42:50 -08:00
Junio C Hamano 2528ff079c Merge branch 'js/windows-open-eisdir-error'
* js/windows-open-eisdir-error:
  Windows: correct detection of EISDIR in mingw_open()
2014-12-05 11:42:35 -08:00
Junio C Hamano 9b144d869f Merge branch 'jh/empty-notes'
A request to store an empty note via "git notes" meant to remove
note from the object but with --allow-empty we will store a (surprise!)
note that is empty.  In the longer run, we might want to deprecate
the somewhat unintuitive "emptying means deletion" behaviour.

* jh/empty-notes:
  t3301: modernize style
  notes: empty notes should be shown by 'git log'
  builtin/notes: add --allow-empty, to allow storing empty notes
  builtin/notes: split create_note() to clarify add vs. remove logic
  builtin/notes: simplify early exit code in add()
  builtin/notes: refactor note file path into struct note_data
  builtin/notes: improve naming
  t3301: verify that 'git notes' removes empty notes by default
  builtin/notes: fix premature failure when trying to add the empty blob
2014-12-05 11:42:29 -08:00
Junio C Hamano 7f2186cadf Merge branch 'sv/get-builtin'
* sv/get-builtin:
  builtin: move builtin retrieval to get_builtin()
2014-12-05 11:42:26 -08:00
Junio C Hamano c21df07886 Merge branch 'jk/checkout-from-tree'
"git checkout $treeish $path", when $path in the index and the
working tree already matched what is in $treeish at the $path,
still overwrote the $path unnecessarily.

* jk/checkout-from-tree:
  checkout $tree: do not throw away unchanged index entries
2014-12-05 11:41:33 -08:00
Junio C Hamano 09d60d785c Merge branch 'tq/git-ssh-command'
Allow passing extra set of arguments when ssh is invoked to create
an encrypted & authenticated connection by introducing a new environment
variable GIT_SSH_COMMAND, whose contents is interpreted by shells.

This is not possible with existing GIT_SSH mechanism whose
invocation bypasses shells, which was designed more to match what
other programs with similar variables did, not necessarily to be
more useful.

* tq/git-ssh-command:
  git_connect: set ssh shell command in GIT_SSH_COMMAND
2014-12-05 11:39:25 -08:00
Junio C Hamano 05d7fb6290 Merge branch 'rs/env-array-in-child-process'
* rs/env-array-in-child-process:
  use args member of struct child_process
2014-12-05 11:39:21 -08:00
Junio C Hamano 8213d87a83 Merge branch 'maint' of git://github.com/git-l10n/git-po into maint
* 'maint' of git://github.com/git-l10n/git-po:
  l10n: de.po: fix typos
2014-12-05 11:38:24 -08:00
Junio C Hamano 1b74f643f6 Start post 2.2 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-05 11:38:19 -08:00
Jeff King 00a6fa0720 push: truly use "simple" as default, not "upstream"
The plan for the push.default transition had all along been
to use the "simple" method rather than "upstream" as a
default if the user did not specify their own push.default
value. Commit 11037ee (push: switch default from "matching"
to "simple", 2013-01-04) tried to implement that by moving
PUSH_DEFAULT_UNSPECIFIED in our switch statement to
fall-through to the PUSH_DEFAULT_SIMPLE case.

When the commit that became 11037ee was originally written,
that would have been enough. We would fall through to
calling setup_push_upstream() with the "simple" parameter
set to 1. However, it was delayed for a while until we were
ready to make the transition in Git 2.0.

And in the meantime, commit ed2b182 (push: change `simple`
to accommodate triangular workflows, 2013-06-19) threw a
monkey wrench into the works. That commit drops the "simple"
parameter to setup_push_upstream, and instead checks whether
the global "push_default" is PUSH_DEFAULT_SIMPLE. This is
right when the user has explicitly configured push.default
to simple, but wrong when we are a fall-through for the
"unspecified" case.

We never noticed because our push.default tests do not cover
the case of the variable being totally unset; they only
check the "simple" behavior itself.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-30 18:11:25 -08:00
Jiang Xin ff51f5619d Merge branch 'master' of https://github.com/ralfth/git-po-de
* 'master' of https://github.com/ralfth/git-po-de:
  l10n: de.po: fix typos
2014-11-29 10:44:48 +08:00
Hartmut Henkel ae1dcc52c1 l10n: de.po: fix typos
Signed-off-by: Hartmut Henkel <hartmut_henkel@gmx.de>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2014-11-28 19:08:50 +01:00
Junio C Hamano b260d265e1 Git 2.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-26 13:18:34 -08:00
Marc Branchaud a2b450d6fd RelNotes: spelling & grammar tweaks
Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-26 13:18:04 -08:00
Junio C Hamano 652e759330 Git 2.2.0-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-21 12:10:56 -08:00
David Aguilar 1e86d5b11d mergetools: stop setting $status in merge_cmd()
No callers rely on $status so there's don't need to set
it during merge_cmd() for diffmerge, emerge, and kdiff3.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-21 11:27:53 -08:00
David Aguilar 98a260220c mergetool: simplify conditionals
Combine the $last_status checks into a single conditional.
Replace $last_status and $rollup_status with a single variable.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-21 11:27:53 -08:00
David Aguilar c41d3fedd8 difftool--helper: add explicit exit statement
git-difftool--helper returns a zero exit status unless
--trust-exit-code is in effect.  Add an explicit exit statement
to make this clearer.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-21 11:27:53 -08:00
David Aguilar 1b6a53431c mergetool--lib: remove use of $status global
Remove return statements and rework check_unchanged() so that the exit
status from the last evaluated expression bubbles up to the callers.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-21 11:27:53 -08:00
Junio C Hamano e00e13e2aa mergetool--lib: remove no-op assignment to $status from setup_user_tool
Even though setup_user_tool assigns the exit status from "eval
$merge_tool_cmd" to $status, the variable is overwritten by the
function it calls next, check_unchanged, without ever getting looked
at by anybody.  And "return $status" at the end of this function
returns the value check_unchanged assigned to it (which is the same
as the value the function returns).  Which makes the assignment a
no-op.

Remove it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-21 11:27:37 -08:00
Jeff King cb357221a4 t4026: test "normal" color
If the user specifiers "normal" for a foreground color, this
should be a noop (while this may sound useless, it is the
only way to specify an unchanged foreground color followed
by a specific background color).

We also check that color "-1" does the same thing. This is
not documented, but has worked forever, so let's make sure
we keep supporting it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-20 10:54:10 -08:00
Jeff King d0e08d6233 config: fix parsing of "git config --get-color some.key -1"
Most of git-config's command line options use OPT_BIT to
choose an action, and then parse the non-option arguments
in a context-dependent way. However, --get-color and
--get-colorbool are unlike the rest of the options, in that
they are OPT_STRING, taking the option name as a parameter.

This generally works, because we then use the presence of
those strings to set an action bit anyway. But it does mean
that the option-parser will continue looking for options
even after the key (because it is not a non-option; it is an
argument to an option). And running:

  git config --get-color some.key -1

(to use "-1" as the default color spec) will barf, claiming
that "-1" is not an option. Instead, we should treat
--get-color and --get-colorbool as action bits, just like
--add, --get, and all the other actions, and then check that
the non-option arguments we got are sane. This fixes the
weirdness above, and makes those two options like all the
others.

This "fixes" a test in t4026, which checked that feeding
"-2" as a color should fail (it does fail, but prior to this
patch, because parseopt barfed, not because we actually ever
tried to parse the color).

This also catches other errors, like:

  git config --get-color some.key black blue

which previously silently ignored "blue" (and now will
complain that you gave too many arguments).

There are some possible regressions, though. We now disallow
these, which currently do what you would expect:

  # specifying other options after the action
  git config --get-color some.key --file whatever

  # using long-arg syntax
  git config --get-color=some.key

However, we have never advertised these in the
documentation, and in fact they did not work in some older
versions of git. The behavior was apparently switched as an
accidental side effect of d64ec16 (git config: reorganize to
use parseopt, 2009-02-21).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-20 10:52:23 -08:00
Jeff King 0edad17d67 docs: describe ANSI 256-color mode
Our color specifications have supported the 256-color ANSI
extension for years, but we never documented it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-20 10:13:25 -08:00
Jiang Xin 7ba2ba7d12 l10n: remove a superfluous translation for push.c
Ralf reported that '--recurse-submodules' option in push.c should not be
translated [1].  Before his commit is merged, remove superfluous
translations for push.c.

[1] http://www.spinics.net/lists/git/msg241964.html

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2014-11-20 16:23:43 +08:00
Ralf Thielow e6c1c391a8 l10n: de.po: translate 2 messages
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2014-11-20 07:16:18 +01:00
Ralf Thielow 388a439ca9 l10n: de.po: translate 2 new messages
Signed-off-by: Phillip Sz <phillip.szelat@gmail.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2014-11-20 07:16:18 +01:00
Jiang Xin 9aeb4c2b57 l10n: batch updates for one trivial change
In order to catch up with the release of Git 2.2.0 final, make a batch
l10n update for the new l10n change brought by commit d52adf1 (trailer:
display a trailer without its trailing newline).

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2014-11-20 10:53:48 +08:00
Jiang Xin e3f9cab742 l10n: git.pot: v2.2.0 round 2 (1 updated)
Generate po/git.pot from v2.2.0-rc2-23-gca0107e for git v2.2.0 l10n
round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2014-11-20 10:03:10 +08:00
Junio C Hamano ca0107e279 Merge branch 'sv/submitting-final-patch'
* sv/submitting-final-patch:
  SubmittingPatches: final submission is To: maintainer and CC: list
2014-11-19 13:48:01 -08:00
Junio C Hamano eeb92d7e60 Merge branch 'sn/tutorial-status-output-example'
* sn/tutorial-status-output-example:
  gittutorial: fix output of 'git status'
2014-11-19 13:47:59 -08:00
Junio C Hamano bfd6b53aab Merge branch 'mh/doc-remote-helper-xref'
* mh/doc-remote-helper-xref:
  doc: add some crossrefs between manual pages
2014-11-19 13:47:56 -08:00
Junio C Hamano f00e081a9a Merge branch 'tb/no-relative-file-url'
* tb/no-relative-file-url:
  t5705: the file:// URL should be absolute
2014-11-19 13:47:53 -08:00
Junio C Hamano d4c4f18090 Merge branch 'cc/interpret-trailers'
Small fixes to a new experimental command already in 'master'.

* cc/interpret-trailers:
  trailer: display a trailer without its trailing newline
  trailer: ignore comment lines inside the trailers
2014-11-19 13:47:52 -08:00
Jeff King 13dbf46a39 gitweb: hack around CGI's list-context param() handling
As of CGI.pm's 4.08 release, the behavior to call
CGI::param() in a list context is deprecated (because it can
be potentially unsafe if called inside a hash constructor).
This causes gitweb to issue a warning for some of our code,
which in turn causes the tests to fail.

Our use is in fact _not_ one of the dangerous cases, as we
are intentionally using a list context. The recommended
route by 4.08 is to use the new CGI::multi_param() call to
make it explicit that we know what we are doing.
However, that function is only available in 4.08, which is
about a month old; we cannot rely on having it.

One option would be to set $CGI::LIST_CONTEXT_WARN globally,
which turns off the warning. However, that would eliminate
the protection these newer releases are trying to provide.
We want to annotate each site as OK using the new function.

So instead, let's check whether CGI provides the
multi_param() function, and if not, provide an
implementation that just wraps param(). That will work on
both old and new versions of CGI. Sadly, we cannot just
check defined(\&CGI::multi_param), because CGI uses the
autoload feature, which claims that all functions are
defined. Instead, we just do a version check.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-18 11:23:10 -08:00
Ralf Thielow eedc4be54f builtin/push.c: fix description of --recurse-submodules option
The description of the option for argument "recurse-submodules"
is marked for translation even if it expects the untranslated
string and it's missing the option "on-demand" which was introduced
in eb21c73 (2014-03-29, push: teach --recurse-submodules the on-demand
option). Fix this by unmark the string for translation and add the
missing option.

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-18 11:19:16 -08:00
Jonathan Nieder ca2051d6e3 Makefile: have python scripts depend on NO_PYTHON setting
Like the perl scripts, python scripts need a dependency to ensure they
are rebuilt when switching between the "dummy" versions that run
without Python and the real thing.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-18 11:15:50 -08:00