OSDN Git Service

git-core/git.git
9 years agoMerge branch 'jc/push-to-checkout'
Junio C Hamano [Wed, 11 Feb 2015 21:43:56 +0000 (13:43 -0800)]
Merge branch 'jc/push-to-checkout'

Extending the js/push-to-deploy topic, the behaviour of "git push"
when updating the working tree and the index with an update to the
branch that is checked out can be tweaked by push-to-checkout hook.

* jc/push-to-checkout:
  receive-pack: support push-to-checkout hook
  receive-pack: refactor updateInstead codepath

9 years agoMerge branch 'sb/atomic-push'
Junio C Hamano [Wed, 11 Feb 2015 21:43:50 +0000 (13:43 -0800)]
Merge branch 'sb/atomic-push'

"git push" has been taught a "--atomic" option that makes push to
update more than one ref an "all-or-none" affair.

* sb/atomic-push:
  Document receive.advertiseatomic
  t5543-atomic-push.sh: add basic tests for atomic pushes
  push.c: add an --atomic argument
  send-pack.c: add --atomic command line argument
  send-pack: rename ref_update_to_be_sent to check_to_send_update
  receive-pack.c: negotiate atomic push support
  receive-pack.c: add execute_commands_atomic function
  receive-pack.c: move transaction handling in a central place
  receive-pack.c: move iterating over all commands outside execute_commands
  receive-pack.c: die instead of error in case of possible future bug
  receive-pack.c: shorten the execute_commands loop over all commands

9 years agoMerge branch 'mh/reflog-expire'
Junio C Hamano [Wed, 11 Feb 2015 21:43:38 +0000 (13:43 -0800)]
Merge branch 'mh/reflog-expire'

Restructure "reflog expire" to fit the reflogs better with the
recently updated ref API.

Looked reasonable (except that some shortlog entries stood out like
a sore thumb).

* mh/reflog-expire: (24 commits)
  refs.c: let fprintf handle the formatting
  refs.c: don't expose the internal struct ref_lock in the header file
  lock_any_ref_for_update(): inline function
  refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
  reflog_expire(): new function in the reference API
  expire_reflog(): treat the policy callback data as opaque
  Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
  expire_reflog(): move rewrite to flags argument
  expire_reflog(): move verbose to flags argument
  expire_reflog(): pass flags through to expire_reflog_ent()
  struct expire_reflog_cb: a new callback data type
  Rename expire_reflog_cb to expire_reflog_policy_cb
  expire_reflog(): move updateref to flags argument
  expire_reflog(): move dry_run to flags argument
  expire_reflog(): add a "flags" argument
  expire_reflog(): extract two policy-related functions
  Extract function should_expire_reflog_ent()
  expire_reflog(): use a lock_file for rewriting the reflog file
  expire_reflog(): return early if the reference has no reflog
  expire_reflog(): rename "ref" parameter to "refname"
  ...

9 years agoMerge branch 'cj/log-invert-grep'
Junio C Hamano [Wed, 11 Feb 2015 21:42:39 +0000 (13:42 -0800)]
Merge branch 'cj/log-invert-grep'

"git log --invert-grep --grep=WIP" will show only commits that do
not have the string "WIP" in their messages.

* cj/log-invert-grep:
  log: teach --invert-grep option

9 years agoMerge branch 'km/gettext-n'
Junio C Hamano [Wed, 11 Feb 2015 21:42:00 +0000 (13:42 -0800)]
Merge branch 'km/gettext-n'

* km/gettext-n:
  gettext.h: add parentheses around N_ expansion if supported

9 years agoMerge branch 'bc/http-fallback-to-password-after-krb-fails'
Junio C Hamano [Wed, 11 Feb 2015 21:41:55 +0000 (13:41 -0800)]
Merge branch 'bc/http-fallback-to-password-after-krb-fails'

After attempting and failing a password-less authentication
(e.g. kerberos), libcURL refuses to fall back to password based
Basic authentication without a bit of help/encouragement.

* bc/http-fallback-to-password-after-krb-fails:
  remote-curl: fall back to Basic auth if Negotiate fails

9 years agoMerge branch 'dk/format-patch-ignore-diff-submodule'
Junio C Hamano [Wed, 11 Feb 2015 21:41:51 +0000 (13:41 -0800)]
Merge branch 'dk/format-patch-ignore-diff-submodule'

Setting diff.submodule to 'log' made "git format-patch" produce
broken patches.

* dk/format-patch-ignore-diff-submodule:
  format-patch: ignore diff.submodule setting
  t4255: test am submodule with diff.submodule

9 years agoMerge branch 'jn/rerere-fail-on-auto-update-failure'
Junio C Hamano [Wed, 11 Feb 2015 21:41:44 +0000 (13:41 -0800)]
Merge branch 'jn/rerere-fail-on-auto-update-failure'

"git rerere" (invoked internally from many mergy operations) did
not correctly signal errors when told to update the working tree
files and failed to do so for whatever reason.

* jn/rerere-fail-on-auto-update-failure:
  rerere: error out on autoupdate failure

9 years agoMerge branch 'jk/blame-commit-label'
Junio C Hamano [Wed, 11 Feb 2015 21:39:50 +0000 (13:39 -0800)]
Merge branch 'jk/blame-commit-label'

"git blame HEAD -- missing" failed to correctly say "HEAD" when it
tried to say "No such path 'missing' in HEAD".

* jk/blame-commit-label:
  blame.c: fix garbled error message
  use xstrdup_or_null to replace ternary conditionals
  builtin/commit.c: use xstrdup_or_null instead of envdup
  builtin/apply.c: use xstrdup_or_null instead of null_strdup
  git-compat-util: add xstrdup_or_null helper

9 years agoMerge branch 'ld/p4-submit-hint'
Junio C Hamano [Wed, 11 Feb 2015 21:39:44 +0000 (13:39 -0800)]
Merge branch 'ld/p4-submit-hint'

* ld/p4-submit-hint:
  git-p4: correct --prepare-p4-only instructions

9 years agoMerge branch 'ld/p4-exclude-in-sync'
Junio C Hamano [Wed, 11 Feb 2015 21:38:41 +0000 (13:38 -0800)]
Merge branch 'ld/p4-exclude-in-sync'

Like the "clone" subcommand, allow excluding subdirectories in the
"sync" subcommand.

* ld/p4-exclude-in-sync:
  git-p4: support excluding paths on sync

9 years agogit-p4: support excluding paths on sync
Luke Diamand [Sat, 17 Jan 2015 20:56:38 +0000 (20:56 +0000)]
git-p4: support excluding paths on sync

The clone subcommand has long had support for excluding
subdirectories, but sync has not. This is a nuisance,
since as soon as you do a sync, any changed files that
were initially excluded start showing up.

Move the "exclude" command-line option into the parent
class; the actual behavior was already present there so
it simply had to be exposed.

Signed-off-by: Luke Diamand <luke@diamand.org>
Reviewed-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'jc/coding-guidelines'
Junio C Hamano [Wed, 11 Feb 2015 21:37:42 +0000 (13:37 -0800)]
Merge branch 'jc/coding-guidelines'

* jc/coding-guidelines:
  CodingGuidelines: clarify C #include rules

9 years agoMerge branch 'ak/typofixes'
Junio C Hamano [Wed, 11 Feb 2015 21:37:38 +0000 (13:37 -0800)]
Merge branch 'ak/typofixes'

* ak/typofixes:
  t/lib-terminal.sh: fix typo
  pack-bitmap: fix typo

9 years agoGit 2.3 v2.3.0
Junio C Hamano [Thu, 5 Feb 2015 21:23:56 +0000 (13:23 -0800)]
Git 2.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Mon, 2 Feb 2015 20:05:56 +0000 (12:05 -0800)]
Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
  l10n: ca.po: Fix trailing whitespace

9 years agol10n: ca.po: Fix trailing whitespace
Alex Henrie [Fri, 30 Jan 2015 22:02:34 +0000 (15:02 -0700)]
l10n: ca.po: Fix trailing whitespace

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
9 years agoGit 2.3.0-rc2 v2.3.0-rc2
Junio C Hamano [Tue, 27 Jan 2015 22:39:53 +0000 (14:39 -0800)]
Git 2.3.0-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Tue, 27 Jan 2015 19:01:05 +0000 (11:01 -0800)]
Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
  l10n: de.po: correct singular form
  l10n: de.po: translate "leave behind" correctly
  l10n: de.po: fix typo
  l10n: ca.po: update translation

9 years agoMerge branch 'master' of git://github.com/alexhenrie/git-po
Jiang Xin [Tue, 27 Jan 2015 07:00:48 +0000 (15:00 +0800)]
Merge branch 'master' of git://github.com/alexhenrie/git-po

* 'master' of git://github.com/alexhenrie/git-po:
  l10n: ca.po: update translation

9 years agol10n: de.po: correct singular form
Michael J Gruber [Mon, 26 Jan 2015 15:34:32 +0000 (16:34 +0100)]
l10n: de.po: correct singular form

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
9 years agol10n: de.po: translate "leave behind" correctly
Michael J Gruber [Mon, 26 Jan 2015 15:34:31 +0000 (16:34 +0100)]
l10n: de.po: translate "leave behind" correctly

This message is about leaving orphaned commits behind, not about
behind an upstream branch. Try to make this clear.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
9 years agol10n: de.po: fix typo
Benedikt Heine [Sun, 25 Jan 2015 11:00:04 +0000 (12:00 +0100)]
l10n: de.po: fix typo

Signed-off-by: Benedikt Heine <bebe@bebehei.de>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
9 years agol10n: ca.po: update translation
Alex Henrie [Mon, 26 Jan 2015 17:12:50 +0000 (10:12 -0700)]
l10n: ca.po: update translation

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
9 years agogit-p4: correct --prepare-p4-only instructions
Luke Diamand [Fri, 23 Jan 2015 09:15:12 +0000 (09:15 +0000)]
git-p4: correct --prepare-p4-only instructions

If you use git-p4 with the "--prepare-p4-only" option, then
it prints the p4 command line to use. However, the command
line was incorrect: the changelist specification must be
supplied on standard input, not as an argument to p4.

Signed-off-by: Luke Diamand <luke@diamand.org>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'js/t1050'
Junio C Hamano [Thu, 22 Jan 2015 21:46:45 +0000 (13:46 -0800)]
Merge branch 'js/t1050'

* js/t1050:
  t1050-large: generate large files without dd

9 years agoMerge branch 'ak/cat-file-clean-up'
Junio C Hamano [Thu, 22 Jan 2015 21:46:38 +0000 (13:46 -0800)]
Merge branch 'ak/cat-file-clean-up'

* ak/cat-file-clean-up:
  cat-file: use "type" and "size" from outer scope

9 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Thu, 22 Jan 2015 21:45:07 +0000 (13:45 -0800)]
Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
  l10n: correct indentation of show-branch usage
  l10n: de.po: translate 3 messages
  l10n: zh_CN: various fixes on command arguments
  l10n: vi.po(2298t): Updated 3 new strings
  l10n: sv.po: Update Swedish translation (2298t0f0u)
  l10n: fr.po v2.3.0 round 2
  l10n: git.pot: v2.3.0 round 2 (3 updated)
  l10n: de.po: translate 13 new messages
  l10n: de.po: fix typo
  l10n: de.po: translate "track" as "versionieren"
  l10n: zh_CN: translations for git v2.3.0-rc0
  l10n: sv.po: Update Swedish translation (2298t0f0u)
  l10n: fr.po v2.3.0 round 1
  l10n: vi.po(2298t): Updated and change Plural-Forms
  l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)
  l10n: ca.po: various fixes

9 years agoMerge branch 'sh/asciidoc-git-version-fix'
Junio C Hamano [Thu, 22 Jan 2015 21:44:47 +0000 (13:44 -0800)]
Merge branch 'sh/asciidoc-git-version-fix'

* sh/asciidoc-git-version-fix:
  Documentation: fix version numbering

9 years agoDocumentation: fix version numbering
Sven van Haastregt [Thu, 22 Jan 2015 19:32:33 +0000 (19:32 +0000)]
Documentation: fix version numbering

Version numbers in asciidoc-generated content (such as man pages)
went missing as of da8a366 (Documentation: refactor common operations
into variables).  Fix by putting the underscore back in the variable
name.

Signed-off-by: Sven van Haastregt <svenvh@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'jh/empty-notes'
Junio C Hamano [Thu, 22 Jan 2015 21:42:37 +0000 (13:42 -0800)]
Merge branch 'jh/empty-notes'

* jh/empty-notes:
  Fix unclosed here document in t3301.sh

9 years agoFix unclosed here document in t3301.sh
Kacper Kornet [Thu, 22 Jan 2015 11:59:36 +0000 (12:59 +0100)]
Fix unclosed here document in t3301.sh

Commit 908a3203632a02568df230c0fccf9a2cd8da24e6 introduced  indentation
to here documents in t3301.sh. However in one place <<-EOF was missing
-, which broke this test when run with mksh-50d. This commit fixes it.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agot/lib-terminal.sh: fix typo
Alexander Kuleshov [Wed, 21 Jan 2015 09:14:01 +0000 (15:14 +0600)]
t/lib-terminal.sh: fix typo

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agopack-bitmap: fix typo
Alexander Kuleshov [Wed, 21 Jan 2015 09:13:51 +0000 (15:13 +0600)]
pack-bitmap: fix typo

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agol10n: correct indentation of show-branch usage
Jiang Xin [Wed, 21 Jan 2015 07:05:03 +0000 (15:05 +0800)]
l10n: correct indentation of show-branch usage

An indentation error was found right after we started l10n round 2, and
commit d6589d1 (show-branch: fix indentation of usage string) and this
update would fix it.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
9 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
Jiang Xin [Wed, 21 Jan 2015 06:20:53 +0000 (14:20 +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 3 messages
  l10n: zh_CN: various fixes on command arguments
  l10n: vi.po(2298t): Updated 3 new strings
  l10n: sv.po: Update Swedish translation (2298t0f0u)
  l10n: fr.po v2.3.0 round 2
  l10n: git.pot: v2.3.0 round 2 (3 updated)
  l10n: de.po: translate 13 new messages
  l10n: de.po: fix typo
  l10n: de.po: translate "track" as "versionieren"
  l10n: zh_CN: translations for git v2.3.0-rc0
  l10n: sv.po: Update Swedish translation (2298t0f0u)
  l10n: fr.po v2.3.0 round 1
  l10n: vi.po(2298t): Updated and change Plural-Forms
  l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)
  l10n: ca.po: various fixes

9 years agoGit 2.3.0-rc1 v2.3.0-rc1
Junio C Hamano [Wed, 21 Jan 2015 00:54:58 +0000 (16:54 -0800)]
Git 2.3.0-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'jk/http-push-symref-fix'
Junio C Hamano [Wed, 21 Jan 2015 01:31:50 +0000 (17:31 -0800)]
Merge branch 'jk/http-push-symref-fix'

* jk/http-push-symref-fix:
  http-push: trim trailing newline from remote symref

9 years agoMerge branch 'ak/show-branch-usage-string'
Junio C Hamano [Wed, 21 Jan 2015 00:16:09 +0000 (16:16 -0800)]
Merge branch 'ak/show-branch-usage-string'

* ak/show-branch-usage-string:
  show-branch: fix indentation of usage string

9 years agoshow-branch: fix indentation of usage string
Ralf Thielow [Tue, 20 Jan 2015 19:30:28 +0000 (20:30 +0100)]
show-branch: fix indentation of usage string

Noticed-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'jk/colors'
Junio C Hamano [Tue, 20 Jan 2015 23:57:22 +0000 (15:57 -0800)]
Merge branch 'jk/colors'

* jk/colors:
  parse_color: fix return value for numeric color values 0-8

9 years agoparse_color: fix return value for numeric color values 0-8
Jeff King [Tue, 20 Jan 2015 22:14:48 +0000 (17:14 -0500)]
parse_color: fix return value for numeric color values 0-8

When commit 695d95d refactored the color parsing, it missed
a "return 0" when parsing literal numbers 0-8 (which
represent basic ANSI colors), leading us to report these
colors as an error.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agol10n: de.po: translate 3 messages
Ralf Thielow [Mon, 19 Jan 2015 06:15:29 +0000 (07:15 +0100)]
l10n: de.po: translate 3 messages

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
9 years agol10n: zh_CN: various fixes on command arguments
Jiang Xin [Sun, 18 Jan 2015 12:37:57 +0000 (20:37 +0800)]
l10n: zh_CN: various fixes on command arguments

Updated translations for Git 2.3.0 l10n round 2, and fixed various
translations for command arguments.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
9 years agoMerge branch 'v2.3.0' of git://github.com/jnavila/git
Jiang Xin [Mon, 19 Jan 2015 02:12:46 +0000 (10:12 +0800)]
Merge branch 'v2.3.0' of git://github.com/jnavila/git

* 'v2.3.0' of git://github.com/jnavila/git:
  l10n: fr.po v2.3.0 round 2

9 years agoMerge branch 'master' of git://github.com/nafmo/git-l10n-sv
Jiang Xin [Mon, 19 Jan 2015 02:10:57 +0000 (10:10 +0800)]
Merge branch 'master' of git://github.com/nafmo/git-l10n-sv

* 'master' of git://github.com/nafmo/git-l10n-sv:
  l10n: sv.po: Update Swedish translation (2298t0f0u)

9 years agol10n: vi.po(2298t): Updated 3 new strings
Tran Ngoc Quan [Mon, 19 Jan 2015 00:20:28 +0000 (07:20 +0700)]
l10n: vi.po(2298t): Updated 3 new strings

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
9 years agol10n: sv.po: Update Swedish translation (2298t0f0u)
Peter Krefting [Sun, 18 Jan 2015 19:30:18 +0000 (20:30 +0100)]
l10n: sv.po: Update Swedish translation (2298t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
9 years agol10n: fr.po v2.3.0 round 2
Jean-Noel Avila [Sun, 18 Jan 2015 16:03:27 +0000 (17:03 +0100)]
l10n: fr.po v2.3.0 round 2

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
9 years agol10n: git.pot: v2.3.0 round 2 (3 updated)
Jiang Xin [Sun, 18 Jan 2015 03:26:57 +0000 (11:26 +0800)]
l10n: git.pot: v2.3.0 round 2 (3 updated)

Generate po/git.pot from v2.3.0-rc0-44-ga94655d for git v2.3.0 l10n
round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
9 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
Jiang Xin [Sun, 18 Jan 2015 03:24:00 +0000 (11:24 +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 13 new messages
  l10n: de.po: fix typo
  l10n: de.po: translate "track" as "versionieren"
  l10n: zh_CN: translations for git v2.3.0-rc0
  l10n: sv.po: Update Swedish translation (2298t0f0u)
  l10n: fr.po v2.3.0 round 1
  l10n: vi.po(2298t): Updated and change Plural-Forms
  l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)
  l10n: ca.po: various fixes

9 years agol10n: de.po: translate 13 new messages
Ralf Thielow [Wed, 31 Dec 2014 19:06:51 +0000 (20:06 +0100)]
l10n: de.po: translate 13 new messages

Translate 13 new messages came from git.pot update in
beb691f (l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
9 years agol10n: de.po: fix typo
Ralf Thielow [Wed, 31 Dec 2014 19:16:35 +0000 (20:16 +0100)]
l10n: de.po: fix typo

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
9 years agol10n: de.po: translate "track" as "versionieren"
Ralf Thielow [Sat, 6 Dec 2014 19:16:49 +0000 (20:16 +0100)]
l10n: de.po: translate "track" as "versionieren"

Suggested-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
9 years agol10n: zh_CN: translations for git v2.3.0-rc0
Jiang Xin [Sun, 4 Jan 2015 04:27:38 +0000 (12:27 +0800)]
l10n: zh_CN: translations for git v2.3.0-rc0

Translate 13 new messages (2298t0f0u) for git v2.3.0-rc0.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
9 years agoCodingGuidelines: clarify C #include rules
Junio C Hamano [Thu, 15 Jan 2015 23:20:09 +0000 (15:20 -0800)]
CodingGuidelines: clarify C #include rules

Even though "advice.h" includes "git-compat-util.h", it is not
sensible to have it as the first #include and indirectly satisify
the "You must give git-compat-util.h a clean environment to set up
feature test macros before including any of the system headers are
included", which is the real requirement.

Because:

 - A command that interacts with the object store, config subsystem,
   the index, or the working tree cannot do anything without using
   what is declared in "cache.h";

 - A built-in command must be declared in "builtin.h", so anything
   in builtin/*.c must include it;

 - These two headers both include "git-compat-util.h" as the first
   thing; and

 - Almost all our *.c files (outside compat/ and borrowed files in
   xdiff/) need some Git-ness from "cache.h" to do something
   Git-ish.

let's explicitly specify that one of these three header files must
be the first thing that is included.

Any of our *.c file should include the header file that directly
declares what it uses, instead of relying on the fact that some *.h
file it includes happens to include another *.h file that declares
the necessary function or type.  Spell it out as another guideline
item.

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agogit-svn: make it play nicely with submodules
Ramkumar Ramachandra [Sat, 10 Jan 2015 14:55:11 +0000 (09:55 -0500)]
git-svn: make it play nicely with submodules

It's a simple matter of opening the directory specified in the gitfile.

[ew: tweaked check to avoid open() on directories]

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
9 years agoGit::SVN: handle missing ref_id case correctly
Ramkumar Ramachandra [Sat, 10 Jan 2015 14:35:10 +0000 (09:35 -0500)]
Git::SVN: handle missing ref_id case correctly

ref_id should not match "refs/remotes/".

[ew: dropped initial hunk for GIT_SVN_ID at Ramkumar's request]

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
9 years agol10n: sv.po: Update Swedish translation (2298t0f0u)
Peter Krefting [Wed, 14 Jan 2015 21:55:49 +0000 (22:55 +0100)]
l10n: sv.po: Update Swedish translation (2298t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
9 years agot1050-large: generate large files without dd
Johannes Sixt [Wed, 14 Jan 2015 20:28:56 +0000 (21:28 +0100)]
t1050-large: generate large files without dd

For some unknown reason, the dd on my Windows box segfaults randomly,
but since recently, it does so much more often than it used to, which
makes running the test suite burdensome.

Use printf to write large files instead of dd. To emphasize that three
of the large blobs are exact copies, use cp to allocate them.

The new code makes the files a bit smaller, and they are not sparse
anymore, but the tests do not depend on these properties. We do not want
to use test-genrandom here (which is used to generate large files
elsewhere in t1050), so that the files can be compressed well (which
keeps the run-time short).

The files are now large text files, not binary files. But since they
are larger than core.bigfilethreshold they are diagnosed as binary
by Git. For this reason, the 'git diff' tests that check the output
for "Binary files differ" still pass.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoFifth batch for 2.3 cycle
Junio C Hamano [Wed, 14 Jan 2015 20:44:03 +0000 (12:44 -0800)]
Fifth batch for 2.3 cycle

Hopefully this will be the final feature update for 2.3-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'po/doc-core-ignorestat'
Junio C Hamano [Wed, 14 Jan 2015 20:41:38 +0000 (12:41 -0800)]
Merge branch 'po/doc-core-ignorestat'

* po/doc-core-ignorestat:
  doc: core.ignoreStat update, and clarify the --assume-unchanged effect
  doc: core.ignoreStat clarify the --assume-unchanged effect

9 years agoMerge branch 'rc/for-each-ref-tracking'
Junio C Hamano [Wed, 14 Jan 2015 20:39:02 +0000 (12:39 -0800)]
Merge branch 'rc/for-each-ref-tracking'

* rc/for-each-ref-tracking:
  for-each-ref: always check stat_tracking_info()'s return value

9 years agoMerge branch 'rh/autoconf-rhel3'
Junio C Hamano [Wed, 14 Jan 2015 20:37:21 +0000 (12:37 -0800)]
Merge branch 'rh/autoconf-rhel3'

Build update for older RHEL.

* rh/autoconf-rhel3:
  configure.ac: check for HMAC_CTX_cleanup
  configure.ac: check for clock_gettime and CLOCK_MONOTONIC
  configure.ac: check 'tv_nsec' field in 'struct stat'

9 years agoMerge branch 'ak/fewer-includes'
Junio C Hamano [Wed, 14 Jan 2015 20:37:19 +0000 (12:37 -0800)]
Merge branch 'ak/fewer-includes'

* ak/fewer-includes:
  cat-file: remove unused includes
  git.c: remove unnecessary #includes

9 years agoMerge branch 'ak/doc-add-v-n-options'
Junio C Hamano [Wed, 14 Jan 2015 20:37:13 +0000 (12:37 -0800)]
Merge branch 'ak/doc-add-v-n-options'

* ak/doc-add-v-n-options:
  Documentation: list long options for -v and -n

9 years agoMerge branch 'ak/show-branch-usage-string'
Junio C Hamano [Wed, 14 Jan 2015 20:37:07 +0000 (12:37 -0800)]
Merge branch 'ak/show-branch-usage-string'

* ak/show-branch-usage-string:
  show-branch: line-wrap show-branch usage

9 years agoMerge branch 'rh/test-color-avoid-terminfo-in-original-home'
Junio C Hamano [Wed, 14 Jan 2015 20:36:45 +0000 (12:36 -0800)]
Merge branch 'rh/test-color-avoid-terminfo-in-original-home'

We try to see if "tput" gives a useful result before switching TERM
to dumb and moving HOME to point to our fake location for stability
of the tests, and then use the command when coloring the output
from the tests, but there is no guarantee "tput" works after
switching HOME.

* rh/test-color-avoid-terminfo-in-original-home:
  test-lib.sh: do tests for color support after changing HOME
  test-lib: use 'test ...' instead of '[ ... ]'

9 years agoMerge branch 'tf/prompt-preserve-exit-status'
Junio C Hamano [Wed, 14 Jan 2015 20:35:48 +0000 (12:35 -0800)]
Merge branch 'tf/prompt-preserve-exit-status'

Using the exit status of the last command in the prompt, e.g.
PS1='$(__git_ps1) $? ', did not work well because the helper
function stomped on the exit status.

* tf/prompt-preserve-exit-status:
  git-prompt: preserve value of $? in all cases

9 years agoMerge branch 'rh/hide-prompt-in-ignored-directory'
Junio C Hamano [Wed, 14 Jan 2015 20:34:01 +0000 (12:34 -0800)]
Merge branch 'rh/hide-prompt-in-ignored-directory'

* rh/hide-prompt-in-ignored-directory:
  git-prompt.sh: allow to hide prompt for ignored pwd
  git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt

9 years agoMerge branch 'mm/complete-rebase-autostash'
Junio C Hamano [Wed, 14 Jan 2015 20:33:57 +0000 (12:33 -0800)]
Merge branch 'mm/complete-rebase-autostash'

* mm/complete-rebase-autostash:
  git-completion: add --autostash for 'git rebase'

9 years agoMerge branch 'aw/doc-smtp-ssl-cert-path'
Junio C Hamano [Wed, 14 Jan 2015 20:33:50 +0000 (12:33 -0800)]
Merge branch 'aw/doc-smtp-ssl-cert-path'

A long overdue documentation update to match an age-old code
update.

* aw/doc-smtp-ssl-cert-path:
  correct smtp-ssl-cert-path description

9 years agoMerge branch 'sp/subtree-doc'
Junio C Hamano [Wed, 14 Jan 2015 20:33:45 +0000 (12:33 -0800)]
Merge branch 'sp/subtree-doc'

* sp/subtree-doc:
  subtree: fix AsciiDoc list item continuation

9 years agoMerge branch 'km/log-usage-string-i18n'
Junio C Hamano [Wed, 14 Jan 2015 20:32:39 +0000 (12:32 -0800)]
Merge branch 'km/log-usage-string-i18n'

* km/log-usage-string-i18n:
  log.c: fix translation markings

9 years agoMerge branch 'km/imap-send-libcurl-options'
Junio C Hamano [Wed, 14 Jan 2015 20:31:50 +0000 (12:31 -0800)]
Merge branch 'km/imap-send-libcurl-options'

Now imap-send learned to talk to the server using cURL library,
allow the same GIT_CURL_VERBOSE environment variable to control the
verbosity of the chattering.

* km/imap-send-libcurl-options:
  imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY
  imap-send.c: support GIT_CURL_VERBOSE

9 years agoMerge branch 'jk/prune-packed-server-info'
Junio C Hamano [Wed, 14 Jan 2015 20:30:26 +0000 (12:30 -0800)]
Merge branch 'jk/prune-packed-server-info'

Fix recent breakage in Git 2.2 that started creating info/refs and
objects/info/packs files with permission bits tighter than user's
umask.

* jk/prune-packed-server-info:
  update-server-info: create info/* with mode 0666
  t1301: set umask in reflog sharedrepository=group test

9 years agoMerge branch 'js/remote-add-with-insteadof'
Junio C Hamano [Wed, 14 Jan 2015 20:29:47 +0000 (12:29 -0800)]
Merge branch 'js/remote-add-with-insteadof'

"git remote add $name $URL" is now allowed when "url.$URL.insteadOf"
is already defined.

* js/remote-add-with-insteadof:
  Add a regression test for 'git remote add <existing> <same-url>'
  git remote: allow adding remotes agreeing with url.<...>.insteadOf

9 years agoDocument receive.advertiseatomic
Stefan Beller [Tue, 13 Jan 2015 00:24:02 +0000 (16:24 -0800)]
Document receive.advertiseatomic

This was missing in 1b70fe5d3054 (2015-01-07, receive-pack.c: negotiate
atomic push support) as I squashed the option in very late in the patch
series.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agohttp-push: trim trailing newline from remote symref
Jeff King [Tue, 13 Jan 2015 02:28:58 +0000 (21:28 -0500)]
http-push: trim trailing newline from remote symref

When we fetch a symbolic ref file from the remote, we get
the whole string "ref: refs/heads/master\n", recognize it by
skipping past the "ref: ", and store the rest. We should
chomp the trailing newline.

This bug was introduced in ae021d8 (use skip_prefix to avoid
magic numbers, 2014-06-18), which did not notice that the
length computation fed to xmemdupz was quietly tweaked by 1
to account for this.

We can solve it by explicitly trimming the newline, which is
more obvious. Note that we use strbuf_rtrim here, which will
actually cut off any trailing whitespace, not just a single
newline. This is a good thing, though, as it makes our
parsing more liberal (and spaces are not valid in refnames
anyway).

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Kyle J. McKay <mackyle@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agogit-prompt: preserve value of $? in all cases
Tony Finch [Wed, 14 Jan 2015 10:06:28 +0000 (10:06 +0000)]
git-prompt: preserve value of $? in all cases

Signed-off-by: Tony Finch <dot@dotat.at>
Reviewed-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agocat-file: use "type" and "size" from outer scope
Alexander Kuleshov [Sat, 10 Jan 2015 18:13:23 +0000 (00:13 +0600)]
cat-file: use "type" and "size" from outer scope

In cat_one_file(), "type" and "size" variables are defined in the
function scope, and then two variables of the same name are defined
in a block in one of the if/else statement, hiding the definitions
in the outer scope.

Because the values of the outer variables before the control enters
this scope, however, do not have to be preserved, we can remove
useless definitions of variables from the inner scope safely without
breaking anything.

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agol10n: fr.po v2.3.0 round 1
Jean-Noel Avila [Tue, 13 Jan 2015 19:22:58 +0000 (20:22 +0100)]
l10n: fr.po v2.3.0 round 1

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
9 years agolog: teach --invert-grep option
Christoph Junghans [Tue, 13 Jan 2015 01:33:32 +0000 (18:33 -0700)]
log: teach --invert-grep option

"git log --grep=<string>" shows only commits with messages that
match the given string, but sometimes it is useful to be able to
show only commits that do *not* have certain messages (e.g. "show
me ones that are not FIXUP commits").

Originally, we had the invert-grep flag in grep_opt, but because
"git grep --invert-grep" does not make sense except in conjunction
with "--files-with-matches", which is already covered by
"--files-without-matches", it was moved it to revisions structure.
To have the flag there expresses the function to the feature better.

When the newly inserted two tests run, the history would have commits
with messages "initial", "second", "third", "fourth", "fifth", "sixth"
and "Second", committed in this order.  The commits that does not match
either "th" or "Sec" is "second" and "initial". For the case insensitive
case only "initial" matches.

Signed-off-by: Christoph Junghans <ottxor@gentoo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoblame.c: fix garbled error message
Lukas Fleischer [Tue, 13 Jan 2015 01:59:26 +0000 (20:59 -0500)]
blame.c: fix garbled error message

The helper functions prepare_final() and prepare_initial() return a
pointer to a string that is a member of an object in the revs->pending
array. This array is later rebuilt when running prepare_revision_walk()
which potentially transforms the pointer target into a bogus string. Fix
this by maintaining a copy of the original string.

Signed-off-by: Lukas Fleischer <git@cryptocrack.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agouse xstrdup_or_null to replace ternary conditionals
Jeff King [Tue, 13 Jan 2015 01:59:09 +0000 (20:59 -0500)]
use xstrdup_or_null to replace ternary conditionals

This replaces "x ? xstrdup(x) : NULL" with xstrdup_or_null(x).
The change is fairly mechanical, with the exception of
resolve_refdup, which can eliminate a temporary variable.

There are still a few hits grepping for "?.*xstrdup", but
these are of slightly different forms and cannot be
converted (e.g., "x ? xstrdup(x->foo) : NULL").

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agobuiltin/commit.c: use xstrdup_or_null instead of envdup
Jeff King [Tue, 13 Jan 2015 01:58:33 +0000 (20:58 -0500)]
builtin/commit.c: use xstrdup_or_null instead of envdup

The only reason for envdup to be its own function is that we
have to save the result in a temporary string. With
xstrdup_or_null, we can feed the result of getenv()
directly.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agobuiltin/apply.c: use xstrdup_or_null instead of null_strdup
Jeff King [Tue, 13 Jan 2015 01:58:15 +0000 (20:58 -0500)]
builtin/apply.c: use xstrdup_or_null instead of null_strdup

This file had its own identical helper that predates
xstrdup_or_null. Let's use the global one to avoid
repetition.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agogit-compat-util: add xstrdup_or_null helper
Jeff King [Tue, 13 Jan 2015 01:57:37 +0000 (20:57 -0500)]
git-compat-util: add xstrdup_or_null helper

It's a common idiom to duplicate a string if it is non-NULL,
or pass a literal NULL through. This is already a one-liner
in C, but you do have to repeat the name of the string
twice. So if there's a function call, you must write:

  const char *x = some_fun(...);
  return x ? xstrdup(x) : NULL;

instead of (with this patch) just:

  return xstrdup_or_null(some_fun(...));

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agol10n: vi.po(2298t): Updated and change Plural-Forms
Tran Ngoc Quan [Tue, 13 Jan 2015 07:23:12 +0000 (14:23 +0700)]
l10n: vi.po(2298t): Updated and change Plural-Forms

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
9 years agol10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)
Jiang Xin [Tue, 13 Jan 2015 06:05:57 +0000 (14:05 +0800)]
l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)

Generate po/git.pot from v2.3.0-rc0 for git v2.3.0 l10n round 1.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
9 years agoMerge branch 'master' of git://github.com/alexhenrie/git-po
Jiang Xin [Tue, 13 Jan 2015 06:04:57 +0000 (14:04 +0800)]
Merge branch 'master' of git://github.com/alexhenrie/git-po

* 'master' of git://github.com/alexhenrie/git-po:
  l10n: ca.po: various fixes

9 years agodoc: core.ignoreStat update, and clarify the --assume-unchanged effect
Philip Oakley [Mon, 5 Jan 2015 22:22:53 +0000 (22:22 +0000)]
doc: core.ignoreStat update, and clarify the --assume-unchanged effect

The assume-unchanged bit, and consequently core.ignoreStat, can be
misunderstood. Be assertive about the expectation that file changes should
notified to Git.

Overhaul the general wording thus:
    1. direct description of what is ignored given first.
    2. example instruction of the user manual action required.
    3. use sideways indirection for assume-unchanged and update-index
       references.
    4. add a 'normally' to give leeway for the change detection.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agofor-each-ref: always check stat_tracking_info()'s return value
Raphael Kubo da Costa [Mon, 5 Jan 2015 09:58:55 +0000 (11:58 +0200)]
for-each-ref: always check stat_tracking_info()'s return value

The code handling %(upstream:track) and %(upstream:trackshort)
assumed that it always had a valid branch that had been sanitized
earlier in populate_value(), and thus did not check the return value
of the call to stat_tracking_info().

While there is indeed some sanitization code that basically
corresponds to stat_tracking_info() returning 0 (no base branch
set), the function can also return -1 when the base branch did exist
but has since then been deleted.

In this case, num_ours and num_theirs had undefined values and a
call to `git for-each-ref --format="%(upstream:track)"` could print
spurious values such as

  [behind -111794512]
  [ahead 38881640, behind 5103867]

even for repositories with one single commit.

Verify stat_tracking_info()'s return value and do not print anything
if it returns -1. This behavior also matches the documentation ("has
no effect if the ref does not have tracking information associated
with it").

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoGit 2.3.0-rc0 v2.3.0-rc0
Junio C Hamano [Mon, 12 Jan 2015 22:12:42 +0000 (14:12 -0800)]
Git 2.3.0-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoSync with 2.2.2
Junio C Hamano [Mon, 12 Jan 2015 22:08:42 +0000 (14:08 -0800)]
Sync with 2.2.2

9 years agoGit 2.2.2 v2.2.2
Junio C Hamano [Mon, 12 Jan 2015 22:06:12 +0000 (14:06 -0800)]
Git 2.2.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 years agoMerge branch 'jk/read-packed-refs-without-path-max' into maint
Junio C Hamano [Mon, 12 Jan 2015 22:02:54 +0000 (14:02 -0800)]
Merge branch 'jk/read-packed-refs-without-path-max' into maint

* jk/read-packed-refs-without-path-max:
  read_packed_refs: use skip_prefix instead of static array
  read_packed_refs: pass strbuf to parse_ref_line
  read_packed_refs: use a strbuf for reading lines

9 years agoMerge branch 'mg/add-ignore-errors' into maint
Junio C Hamano [Mon, 12 Jan 2015 22:02:19 +0000 (14:02 -0800)]
Merge branch 'mg/add-ignore-errors' into maint

* mg/add-ignore-errors:
  add: ignore only ignored files

9 years agoMerge branch 'mh/find-uniq-abbrev' into maint
Junio C Hamano [Mon, 12 Jan 2015 22:02:05 +0000 (14:02 -0800)]
Merge branch 'mh/find-uniq-abbrev' into maint

* mh/find-uniq-abbrev:
  sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev

9 years agoMerge branch 'jk/approxidate-avoid-y-d-m-over-future-dates' into maint
Junio C Hamano [Mon, 12 Jan 2015 22:01:18 +0000 (14:01 -0800)]
Merge branch 'jk/approxidate-avoid-y-d-m-over-future-dates' into maint

* jk/approxidate-avoid-y-d-m-over-future-dates:
  approxidate: allow ISO-like dates far in the future
  pass TIME_DATE_NOW to approxidate future-check