gitweb.git
l10n: zh_CN: translations for git v2.4.0-rc0Jiang Xin Mon, 16 Feb 2015 13:34:19 +0000 (21:34 +0800)

l10n: zh_CN: translations for git v2.4.0-rc0

Translate 99 updated messages (2305t0f0u) for git v2.4.0-rc0.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Merge branch 'fr-v2.4.0-rc0' of git://github.com/jnavil... Jiang Xin Tue, 31 Mar 2015 01:38:47 +0000 (09:38 +0800)

Merge branch 'fr-v2.4.0-rc0' of git://github.com/jnavila/git

* 'fr-v2.4.0-rc0' of git://github.com/jnavila/git:
l10n: fr.po v2.4.0-rc0 round 1

docs: clarify what git-rebase's "-p" / "--preserve... Sebastian Schuberth Mon, 30 Mar 2015 09:29:46 +0000 (11:29 +0200)

docs: clarify what git-rebase's "-p" / "--preserve-merges" does

Ignoring a merge can be read as ignoring the changes a merge commit
introduces altogether, as if the entire side branch the merge commit
merged was removed from the history. But that is not what happens
if "-p" is not specified. What happens is that the individual
commits a merge commit introduces are replayed in order, and only
any possible merge conflict resolutions or manual amendments to the
merge commit are ignored.

Get this straight in the docs.

Also, do not say that merge commits are *tried* to be recreated. As that is
true almost everywhere it is better left unsaid.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: fr.po v2.4.0-rc0 round 1Jean-Noel Avila Sun, 29 Mar 2015 07:54:56 +0000 (09:54 +0200)

l10n: fr.po v2.4.0-rc0 round 1

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>

parse-options.h: OPTION_{BIT,SET_INT} do not store... Ivan Ukhov Sun, 29 Mar 2015 08:32:55 +0000 (10:32 +0200)

parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval

When 20d1c652 (parse-options: remove unused OPT_SET_PTR, 2014-03-30)
removed OPT_SET_PTR, the comment in the header that describes what
the option did to defval field was left behind by mistake. Remove
it.

Signed-off-by: Ivan Ukhov <ivan.ukhov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: ca.po: update translationAlex Henrie Sat, 28 Mar 2015 21:07:36 +0000 (15:07 -0600)

l10n: ca.po: update translation

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>

Sync with maintJunio C Hamano Sat, 28 Mar 2015 16:42:49 +0000 (09:42 -0700)

Sync with maint

* maint:
Prepare for 2.3.5
2.3.2 release notes: typofix

RelNotes: minor doc updatesJunio C Hamano Sat, 28 Mar 2015 16:41:51 +0000 (09:41 -0700)

RelNotes: minor doc updates

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

Merge branch 'ph/push-doc-cas'Junio C Hamano Sat, 28 Mar 2015 16:37:53 +0000 (09:37 -0700)

Merge branch 'ph/push-doc-cas'

* ph/push-doc-cas:
git-push.txt: clean up force-with-lease wording

Merge branch 'ss/pull-rebase-preserve'Junio C Hamano Sat, 28 Mar 2015 16:37:51 +0000 (09:37 -0700)

Merge branch 'ss/pull-rebase-preserve'

* ss/pull-rebase-preserve:
docs: clarify "preserve" option wording for git-pull

Prepare for 2.3.5Junio C Hamano Sat, 28 Mar 2015 16:36:30 +0000 (09:36 -0700)

Prepare for 2.3.5

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

Merge branch 'sg/completion-gitcomp-nl-for-refs' into... Junio C Hamano Sat, 28 Mar 2015 16:33:15 +0000 (09:33 -0700)

Merge branch 'sg/completion-gitcomp-nl-for-refs' into maint

Code clean-up.

* sg/completion-gitcomp-nl-for-refs:
completion: use __gitcomp_nl() for completing refs

Merge branch 'jk/simplify-csum-file-sha1fd-check' into... Junio C Hamano Sat, 28 Mar 2015 16:33:15 +0000 (09:33 -0700)

Merge branch 'jk/simplify-csum-file-sha1fd-check' into maint

Code simplification.

* jk/simplify-csum-file-sha1fd-check:
sha1fd_check: die when we cannot open the file

Merge branch 'tg/test-index-v4' into maintJunio C Hamano Sat, 28 Mar 2015 16:33:14 +0000 (09:33 -0700)

Merge branch 'tg/test-index-v4' into maint

A test fix.

* tg/test-index-v4:
t1700: make test pass with index-v4

Merge branch 'nd/doc-git-index-version' into maintJunio C Hamano Sat, 28 Mar 2015 16:33:13 +0000 (09:33 -0700)

Merge branch 'nd/doc-git-index-version' into maint

Doc clean-up.

* nd/doc-git-index-version:
git.txt: list index versions in plain English

Merge branch 'ct/prompt-untracked-fix' into maintJunio C Hamano Sat, 28 Mar 2015 16:33:12 +0000 (09:33 -0700)

Merge branch 'ct/prompt-untracked-fix' into maint

The prompt script (in contrib/) did not show the untracked sign
when working in a subdirectory without any untracked files.

* ct/prompt-untracked-fix:
git prompt: use toplevel to find untracked files

Merge branch 'ws/grep-quiet-no-pager' into maintJunio C Hamano Sat, 28 Mar 2015 16:33:11 +0000 (09:33 -0700)

Merge branch 'ws/grep-quiet-no-pager' into maint

Even though "git grep --quiet" is run merely to ask for the exit
status, we spawned the pager regardless. Stop doing that.

* ws/grep-quiet-no-pager:
grep: fix "--quiet" overwriting current output

Merge branch 'jc/submitting-patches-mention-send-email... Junio C Hamano Sat, 28 Mar 2015 16:33:10 +0000 (09:33 -0700)

Merge branch 'jc/submitting-patches-mention-send-email' into maint

Recommend format-patch and send-email for those who want to submit
patches to this project.

* jc/submitting-patches-mention-send-email:
SubmittingPatches: encourage users to use format-patch and send-email

Merge branch 'jk/cleanup-failed-clone' into maintJunio C Hamano Sat, 28 Mar 2015 16:33:09 +0000 (09:33 -0700)

Merge branch 'jk/cleanup-failed-clone' into maint

An failure early in the "git clone" that started creating the
working tree and repository could have resulted in some directories
and files left without getting cleaned up.

* jk/cleanup-failed-clone:
clone: drop period from end of die_errno message
clone: initialize atexit cleanup handler earlier

Merge branch 'jk/fetch-pack' into maintJunio C Hamano Sat, 28 Mar 2015 16:33:08 +0000 (09:33 -0700)

Merge branch 'jk/fetch-pack' into maint

"git fetch" that fetches a commit using the allow-tip-sha1-in-want
extension could have failed to fetch all the requested refs.

* jk/fetch-pack:
fetch-pack: remove dead assignment to ref->new_sha1
fetch_refs_via_pack: free extra copy of refs
filter_ref: make a copy of extra "sought" entries
filter_ref: avoid overwriting ref->old_sha1 with garbage

Merge branch 'tg/fix-check-order-with-split-index'... Junio C Hamano Sat, 28 Mar 2015 16:33:07 +0000 (09:33 -0700)

Merge branch 'tg/fix-check-order-with-split-index' into maint

The split-index mode introduced at v2.3.0-rc0~41 was broken in the
codepath to protect us against a broken reimplementation of Git
that writes an invalid index with duplicated index entries, etc.

* tg/fix-check-order-with-split-index:
read-cache: fix reading of split index

Merge branch 'jk/prune-with-corrupt-refs' into maintJunio C Hamano Sat, 28 Mar 2015 16:33:06 +0000 (09:33 -0700)

Merge branch 'jk/prune-with-corrupt-refs' into maint

"git prune" used to largely ignore broken refs when deciding which
objects are still being used, which could spread an existing small
damage and make it a larger one.

* jk/prune-with-corrupt-refs:
refs.c: drop curate_packed_refs
repack: turn on "ref paranoia" when doing a destructive repack
prune: turn on ref_paranoia flag
refs: introduce a "ref paranoia" flag
t5312: test object deletion code paths in a corrupted repository

2.3.2 release notes: typofixThomas Ackermann Thu, 26 Mar 2015 20:29:47 +0000 (21:29 +0100)

2.3.2 release notes: typofix

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jn/doc-api-errors'Junio C Hamano Sat, 28 Mar 2015 16:26:18 +0000 (09:26 -0700)

Merge branch 'jn/doc-api-errors'

* jn/doc-api-errors:
api-error-handling doc: typofix

api-error-handling doc: typofixThomas Ackermann Thu, 26 Mar 2015 20:29:47 +0000 (21:29 +0100)

api-error-handling doc: typofix

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-p4: fix copy detection testVitor Antunes Sat, 28 Mar 2015 00:03:03 +0000 (00:03 +0000)

git-p4: fix copy detection test

File file11 is copied from file2 and diff-tree correctly reports
this file as its the source. But it is possible that the diff-tree
algorithm detects file10, which was also copied from file2, as the
origin of the new file.

This fix uses a case statement to support both files as the source
of file11, as was done in other tests in this file.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9814: fix broken shell syntax in git-p4 rename testVitor Antunes Sat, 28 Mar 2015 00:03:02 +0000 (00:03 +0000)

t9814: fix broken shell syntax in git-p4 rename test

An update to the tests in 2.1 era introduced a broken case statements
that lack closing esac.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with maintJunio C Hamano Fri, 27 Mar 2015 20:02:55 +0000 (13:02 -0700)

Sync with maint

* maint:
Update mailmap to spell out "Alexander Kuleshov"

Merge branch 'sb/leaks'Junio C Hamano Fri, 27 Mar 2015 20:02:32 +0000 (13:02 -0700)

Merge branch 'sb/leaks'

* sb/leaks:
http: release the memory of a http pack request as well
read-cache: fix memleak
add_to_index(): free unused cache-entry
commit.c: fix a memory leak
http-push: remove unneeded cleanup
merge-recursive: fix memleaks
merge-blobs.c: fix a memleak
builtin/apply.c: fix a memleak
update-index: fix a memleak
read-cache: free cache entry in add_to_index in case of early return

Merge branch 'jk/tag-h-column-is-a-listing-option'... Junio C Hamano Fri, 27 Mar 2015 20:00:23 +0000 (13:00 -0700)

Merge branch 'jk/tag-h-column-is-a-listing-option' into maint

"git tag -h" used to show the "--column" and "--sort" options
that are about listing in a wrong section.

* jk/tag-h-column-is-a-listing-option:
tag: fix some mis-organized options in "-h" listing

Merge branch 'jk/smart-http-hide-refs' into maintJunio C Hamano Fri, 27 Mar 2015 20:00:20 +0000 (13:00 -0700)

Merge branch 'jk/smart-http-hide-refs' into maint

The transfer.hiderefs support did not quite work for smart-http
transport.

* jk/smart-http-hide-refs:
upload-pack: do not check NULL return of lookup_unknown_object
upload-pack: fix transfer.hiderefs over smart-http

Merge branch 'js/completion-ctags-pattern-substitution... Junio C Hamano Fri, 27 Mar 2015 20:00:17 +0000 (13:00 -0700)

Merge branch 'js/completion-ctags-pattern-substitution-fix' into maint

The code that reads from the ctags file in the completion script
(in contrib/) did not spell ${param/pattern/string} substitution
correctly, which happened to work with bash but not with zsh.

* js/completion-ctags-pattern-substitution-fix:
contrib/completion: escape the forward slash in __git_match_ctag

Update mailmap to spell out "Alexander Kuleshov"Junio C Hamano Fri, 27 Mar 2015 19:58:04 +0000 (12:58 -0700)

Update mailmap to spell out "Alexander Kuleshov"

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

l10n: ru: updated Russian translationDimitriy Ryazantcev Fri, 27 Mar 2015 10:54:35 +0000 (12:54 +0200)

l10n: ru: updated Russian translation

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>

l10n: sv.po: Update Swedish translation (2305t0f0u)Peter Krefting Fri, 27 Mar 2015 08:57:48 +0000 (09:57 +0100)

l10n: sv.po: Update Swedish translation (2305t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

Merge branch 'maint'Jiang Xin Fri, 27 Mar 2015 06:02:01 +0000 (14:02 +0800)

Merge branch 'maint'

* maint:
l10n: de.po: fix negation for commit -a with paths

l10n: git.pot: v2.4.0 round 1 (99 new, 92 removed)Jiang Xin Fri, 27 Mar 2015 05:35:23 +0000 (13:35 +0800)

l10n: git.pot: v2.4.0 round 1 (99 new, 92 removed)

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

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Merge branch 'russian-l10n' of https://github.com/DJm00... Jiang Xin Fri, 27 Mar 2015 05:31:02 +0000 (13:31 +0800)

Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ru

* 'russian-l10n' of https://github.com/DJm00n/git-po-ru:
l10n: ru: added Russian translation

docs: clarify "preserve" option wording for git-pullSebastian Schuberth Thu, 26 Mar 2015 20:11:21 +0000 (21:11 +0100)

docs: clarify "preserve" option wording for git-pull

The "also" sounds as if "preserve" does a rebase as an additional
step that "true" would not do, but that is not the case. Clarify
this by omitting "also", and rewording the sentence a bit.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 2.4.0-rc0 v2.4.0-rc0Junio C Hamano Thu, 26 Mar 2015 18:59:05 +0000 (11:59 -0700)

Git 2.4.0-rc0

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

Merge branch 'jk/test-chain-lint'Junio C Hamano Thu, 26 Mar 2015 18:57:13 +0000 (11:57 -0700)

Merge branch 'jk/test-chain-lint'

People often forget to chain the commands in their test together
with &&, leaving a failure from an earlier command in the test go
unnoticed. The new GIT_TEST_CHAIN_LINT mechanism allows you to
catch such a mistake more easily.

* jk/test-chain-lint: (36 commits)
t9001: drop save_confirm helper
t0020: use test_* helpers instead of hand-rolled messages
t: simplify loop exit-code status variables
t: fix some trivial cases of ignored exit codes in loops
t7701: fix ignored exit code inside loop
t3305: fix ignored exit code inside loop
t0020: fix ignored exit code inside loops
perf-lib: fix ignored exit code inside loop
t6039: fix broken && chain
t9158, t9161: fix broken &&-chain in git-svn tests
t9104: fix test for following larger parents
t4104: drop hand-rolled error reporting
t0005: fix broken &&-chains
t7004: fix embedded single-quotes
t0050: appease --chain-lint
t9001: use test_when_finished
t4117: use modern test_* helpers
t6034: use modern test_* helpers
t1301: use modern test_* helpers
t0020: use modern test_* helpers
...

Merge branch 'sg/completion-gitcomp-nl-for-refs'Junio C Hamano Thu, 26 Mar 2015 18:57:13 +0000 (11:57 -0700)

Merge branch 'sg/completion-gitcomp-nl-for-refs'

Code clean-up.

* sg/completion-gitcomp-nl-for-refs:
completion: use __gitcomp_nl() for completing refs

Merge branch 'jc/report-path-error-to-dir'Junio C Hamano Thu, 26 Mar 2015 18:57:12 +0000 (11:57 -0700)

Merge branch 'jc/report-path-error-to-dir'

Code clean-up.

* jc/report-path-error-to-dir:
report_path_error(): move to dir.c

git-push.txt: clean up force-with-lease wordingPhil Hord Thu, 26 Mar 2015 15:15:09 +0000 (11:15 -0400)

git-push.txt: clean up force-with-lease wording

The help text for the --force-with-lease option to git-push
does not parse cleanly. Clean up the wording and syntax to
be more sensible. Also remove redundant information in the
"--force-with-lease alone" description.

Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Getting ready for -rc0Junio C Hamano Wed, 25 Mar 2015 20:01:07 +0000 (13:01 -0700)

Getting ready for -rc0

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

Merge branch 'nd/doc-git-index-version'Junio C Hamano Wed, 25 Mar 2015 19:54:28 +0000 (12:54 -0700)

Merge branch 'nd/doc-git-index-version'

Doc clean-up.

* nd/doc-git-index-version:
git.txt: list index versions in plain English

Merge branch 'jk/run-command-capture'Junio C Hamano Wed, 25 Mar 2015 19:54:27 +0000 (12:54 -0700)

Merge branch 'jk/run-command-capture'

The run-command interface was easy to abuse and make a pipe for us
to read from the process, wait for the process to finish and then
attempt to read its output, which is a pattern that lead to a
deadlock. Fix such uses by introducing a helper to do this
correctly (i.e. we need to read first and then wait the process to
finish) and also add code to prevent such abuse in the run-command
helper.

* jk/run-command-capture:
run-command: forbid using run_command with piped output
trailer: use capture_command
submodule: use capture_command
wt-status: use capture_command
run-command: introduce capture_command helper
wt_status: fix signedness mismatch in strbuf_read call
wt-status: don't flush before running "submodule status"

Merge branch 'tg/test-index-v4'Junio C Hamano Wed, 25 Mar 2015 19:54:27 +0000 (12:54 -0700)

Merge branch 'tg/test-index-v4'

A test fix.

* tg/test-index-v4:
t1700: make test pass with index-v4

Merge branch 'jk/prune-with-corrupt-refs'Junio C Hamano Wed, 25 Mar 2015 19:54:26 +0000 (12:54 -0700)

Merge branch 'jk/prune-with-corrupt-refs'

"git prune" used to largely ignore broken refs when deciding which
objects are still being used, which could spread an existing small
damage and make it a larger one.

* jk/prune-with-corrupt-refs:
refs.c: drop curate_packed_refs
repack: turn on "ref paranoia" when doing a destructive repack
prune: turn on ref_paranoia flag
refs: introduce a "ref paranoia" flag
t5312: test object deletion code paths in a corrupted repository

Merge branch 'tg/fix-check-order-with-split-index'Junio C Hamano Wed, 25 Mar 2015 19:54:26 +0000 (12:54 -0700)

Merge branch 'tg/fix-check-order-with-split-index'

The split-index mode introduced at v2.3.0-rc0~41 was broken in the
codepath to protect us against a broken reimplementation of Git
that writes an invalid index with duplicated index entries, etc.

* tg/fix-check-order-with-split-index:
read-cache: fix reading of split index

Merge branch 'jk/fetch-pack'Junio C Hamano Wed, 25 Mar 2015 19:54:25 +0000 (12:54 -0700)

Merge branch 'jk/fetch-pack'

"git fetch" that fetches a commit using the allow-tip-sha1-in-want
extension could have failed to fetch all the requested refs.

* jk/fetch-pack:
fetch-pack: remove dead assignment to ref->new_sha1
fetch_refs_via_pack: free extra copy of refs
filter_ref: make a copy of extra "sought" entries
filter_ref: avoid overwriting ref->old_sha1 with garbage

Merge branch 'jk/cleanup-failed-clone'Junio C Hamano Wed, 25 Mar 2015 19:54:24 +0000 (12:54 -0700)

Merge branch 'jk/cleanup-failed-clone'

An failure early in the "git clone" that started creating the
working tree and repository could have resulted in some directories
and files left without getting cleaned up.

* jk/cleanup-failed-clone:
clone: drop period from end of die_errno message
clone: initialize atexit cleanup handler earlier

Merge branch 'jc/submitting-patches-mention-send-email'Junio C Hamano Wed, 25 Mar 2015 19:54:23 +0000 (12:54 -0700)

Merge branch 'jc/submitting-patches-mention-send-email'

Recommend format-patch and send-email for those who want to submit
patches to this project.

* jc/submitting-patches-mention-send-email:
SubmittingPatches: encourage users to use format-patch and send-email

Merge branch 'dj/log-graph-with-no-walk'Junio C Hamano Wed, 25 Mar 2015 19:54:22 +0000 (12:54 -0700)

Merge branch 'dj/log-graph-with-no-walk'

"git log --graph --no-walk A B..." is a otcnflicting request that
asks nonsense; no-walk tells us show discrete points in the
history, while graph asks to draw connections between these
discrete points. Forbid the combination.

* dj/log-graph-with-no-walk:
revision: forbid combining --graph and --no-walk

Merge branch 'kd/rev-list-bisect-first-parent'Junio C Hamano Wed, 25 Mar 2015 19:54:21 +0000 (12:54 -0700)

Merge branch 'kd/rev-list-bisect-first-parent'

"git rev-list --bisect --first-parent" does not work (yet) and can
even cause SEGV; forbid it. "git log --bisect --first-parent"
would not be useful until "git bisect --first-parent" materializes,
so it is also forbidden for now.

* kd/rev-list-bisect-first-parent:
rev-list: refuse --first-parent combined with --bisect

Merge branch 'ws/grep-quiet-no-pager'Junio C Hamano Wed, 25 Mar 2015 19:54:20 +0000 (12:54 -0700)

Merge branch 'ws/grep-quiet-no-pager'

Even though "git grep --quiet" is run merely to ask for the exit
status, we spawned the pager regardless. Stop doing that.

* ws/grep-quiet-no-pager:
grep: fix "--quiet" overwriting current output

Merge branch 'jk/simplify-csum-file-sha1fd-check'Junio C Hamano Wed, 25 Mar 2015 19:54:19 +0000 (12:54 -0700)

Merge branch 'jk/simplify-csum-file-sha1fd-check'

Code simplification.

* jk/simplify-csum-file-sha1fd-check:
sha1fd_check: die when we cannot open the file

Merge branch 'ct/prompt-untracked-fix'Junio C Hamano Wed, 25 Mar 2015 19:54:18 +0000 (12:54 -0700)

Merge branch 'ct/prompt-untracked-fix'

The prompt script (in contrib/) did not show the untracked sign
when working in a subdirectory without any untracked files.

* ct/prompt-untracked-fix:
git prompt: use toplevel to find untracked files

t9001: drop save_confirm helperJeff King Wed, 25 Mar 2015 05:32:20 +0000 (01:32 -0400)

t9001: drop save_confirm helper

The idea of this helper is that we want to save the current
value of a config variable and then restore it again after
the test completes. However, there's no point in actually
saving the value; it should always be restored to the string
"never" (which you can confirm by instrumenting
save_confirm to print the value it finds).

Let's just replace it with a single test_when_finished call.

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

t0020: use test_* helpers instead of hand-rolled messagesJeff King Wed, 25 Mar 2015 05:31:41 +0000 (01:31 -0400)

t0020: use test_* helpers instead of hand-rolled messages

These tests are not wrong, but it is much shorter and more
idiomatic to say "verbose" or "test_must_fail" rather than
printing our own messages on failure. Likewise, there is no
need to say "happy" at the end of a test; the test suite
takes care of that.

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

t: simplify loop exit-code status variablesJeff King Wed, 25 Mar 2015 05:30:17 +0000 (01:30 -0400)

t: simplify loop exit-code status variables

Since shell loops may drop the exit code of failed commands
inside the loop, some tests try to keep track of the status
by setting a variable. This can end up cumbersome and hard
to read; it is much simpler to just exit directly from the
loop using "return 1" (since each case is either in a helper
function or inside a test snippet).

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

t: fix some trivial cases of ignored exit codes in... Jeff King Wed, 25 Mar 2015 05:29:52 +0000 (01:29 -0400)

t: fix some trivial cases of ignored exit codes in loops

These are all cases where we do a setup step of the form:

for i in $foo; do
set_up $i || break
done &&
more_setup

would not notice a failure in set_up (because break always
returns a 0 exit code). These are just setup steps that we
do not expect to fail, but it does not hurt to be defensive.

Most can be fixed by converting the "break" to a "return 1"
(since we eval our tests inside a function for just this
purpose). A few of the loops are inside subshells, so we can
use just "exit 1" to break out of the subshell. And a few
can actually be made shorter by just unrolling the loop.

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

t7701: fix ignored exit code inside loopJeff King Wed, 25 Mar 2015 05:29:10 +0000 (01:29 -0400)

t7701: fix ignored exit code inside loop

When checking a list of file mtimes, we use a loop and break
out early from the loop if any entry does not match.
However, the exit code of a loop exited via break is always
0, meaning that the test will fail to notice we had a
mismatch. Since the loop is inside a function, we can fix
this by doing an early "return 1".

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

t3305: fix ignored exit code inside loopJeff King Wed, 25 Mar 2015 05:28:57 +0000 (01:28 -0400)

t3305: fix ignored exit code inside loop

When we test deleting notes, we run "git notes remove" in a
loop. However, the exit value of the loop will only reflect
the final note we process. We should break out of the loop
with a failing exit code as soon as we see a problem.

Note that we can call "exit 1" here without explicitly
creating a subshell, because the while loop on the
right-hand side of a pipe executes in its own implicit
subshell.

Note also that the "break" above does not suffer the same
problem; it is meant to exit the loop early at a certain
number of iterations. We can bump it into the conditional of
the loop to make this more obvious.

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0020: fix ignored exit code inside loopsJeff King Wed, 25 Mar 2015 05:28:44 +0000 (01:28 -0400)

t0020: fix ignored exit code inside loops

A loop like:

for f in one two; do
something $f ||
break
done

will correctly break out of the loop when we see a failure
of one item, but the resulting exit code will always be
zero. We can fix that by putting the loop into a function or
subshell, but in this case it is simpler still to just
unroll the loop. We do add a helper function, which
hopefully makes the end result even more readable (in
addition to being shorter).

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

perf-lib: fix ignored exit code inside loopJeff King Wed, 25 Mar 2015 05:25:55 +0000 (01:25 -0400)

perf-lib: fix ignored exit code inside loop

When copying the test repository, we try to detect whether
the copy succeeded. However, most of the heavy lifting is
done inside a for loop, where our "break" will lose the exit
code of the failing "cp". We can take advantage of the fact
that we are in a subshell, and just "exit 1" to break out
with a code.

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

Merge branch 'master' of git://ozlabs.org/~paulus/gitkJunio C Hamano Tue, 24 Mar 2015 23:10:37 +0000 (16:10 -0700)

Merge branch 'master' of git://ozlabs.org/~paulus/gitk

* 'master' of git://ozlabs.org/~paulus/gitk:
gitk: Update .po files
gitk: l10n: Add Catalan translation
gitk: Fix typo in Russian translation
gitk: Remove tcl-format flag from a message that shouldn't have it
gitk: Pass --invert-grep option down to "git log"
gitk: Synchronize config file writes
gitk: Report errors in saving config file
gitk: Only write changed configuration variables
gitk: Enable mouse horizontal scrolling in diff pane
gitk: Default wrcomcmd to use --pretty=email

report_path_error(): move to dir.cJunio C Hamano Tue, 24 Mar 2015 21:12:10 +0000 (14:12 -0700)

report_path_error(): move to dir.c

The expected call sequence is for the caller to use match_pathspec()
repeatedly on a set of pathspecs, accumulating the "hits" in a
separate array, and then call this function to diagnose a pathspec
that never matched anything, as that can indicate a typo from the
command line, e.g. "git commit Maekfile".

Many builtin commands use this function from builtin/ls-files.c,
which is not a very healthy arrangement. ls-files might have been
the first command to feel the need for such a helper, but the need
is shared by everybody who uses the "match and then report" pattern.

Move it to dir.c where match_pathspec() is defined.

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

http: release the memory of a http pack request as... Stefan Beller Sat, 21 Mar 2015 00:28:06 +0000 (17:28 -0700)

http: release the memory of a http pack request as well

The cleanup function is used in 4 places now and it's always safe to
free up the memory as well.

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

git.txt: list index versions in plain EnglishNguyễn Thái Ngọc Duy Tue, 24 Mar 2015 00:28:33 +0000 (07:28 +0700)

git.txt: list index versions in plain English

At the first look, a user may think the default version is "23". Even
with UNIX background, there's no reference anywhere close that may
indicate this is glob or regex.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with v2.3.4Junio C Hamano Mon, 23 Mar 2015 18:37:49 +0000 (11:37 -0700)

Sync with v2.3.4

Post 2.3 cycle (batch #12)Junio C Hamano Mon, 23 Mar 2015 18:36:01 +0000 (11:36 -0700)

Post 2.3 cycle (batch #12)

Hopefully with another batch or two, we would be ready for -rc0
to close this cycle.

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

Merge branch 'js/completion-ctags-pattern-substitution... Junio C Hamano Mon, 23 Mar 2015 18:28:16 +0000 (11:28 -0700)

Merge branch 'js/completion-ctags-pattern-substitution-fix'

The code that reads from the ctags file in the completion script
(in contrib/) did not spell ${param/pattern/string} substitution
correctly, which happened to work with bash but not with zsh.

* js/completion-ctags-pattern-substitution-fix:
contrib/completion: escape the forward slash in __git_match_ctag

Merge branch 'jk/push-config'Junio C Hamano Mon, 23 Mar 2015 18:28:13 +0000 (11:28 -0700)

Merge branch 'jk/push-config'

Restructure "git push" codepath to make it easier to add new
configuration bits and then add push.followTags configuration that
turns --follow-tags option on by default.

* jk/push-config:
push: allow --follow-tags to be set by config push.followTags
cmd_push: pass "flags" pointer to config callback
cmd_push: set "atomic" bit directly
git_push_config: drop cargo-culted wt_status pointer

Merge branch 'nd/config-doc-camelCase'Junio C Hamano Mon, 23 Mar 2015 18:28:12 +0000 (11:28 -0700)

Merge branch 'nd/config-doc-camelCase'

Documentation updates.

* nd/config-doc-camelCase:
*config.txt: stick to camelCase naming convention

Merge branch 'jk/test-annoyances'Junio C Hamano Mon, 23 Mar 2015 18:28:10 +0000 (11:28 -0700)

Merge branch 'jk/test-annoyances'

Test fixes.

* jk/test-annoyances:
t5551: make EXPENSIVE test cheaper
t5541: move run_with_cmdline_limit to test-lib.sh
t: pass GIT_TRACE through Apache
t: redirect stderr GIT_TRACE to descriptor 4
t: translate SIGINT to an exit

Merge branch 'jk/smart-http-hide-refs'Junio C Hamano Mon, 23 Mar 2015 18:28:08 +0000 (11:28 -0700)

Merge branch 'jk/smart-http-hide-refs'

The transfer.hiderefs support did not quite work for smart-http
transport.

* jk/smart-http-hide-refs:
upload-pack: do not check NULL return of lookup_unknown_object
upload-pack: fix transfer.hiderefs over smart-http

Merge branch 'jk/tag-h-column-is-a-listing-option'Junio C Hamano Mon, 23 Mar 2015 18:28:02 +0000 (11:28 -0700)

Merge branch 'jk/tag-h-column-is-a-listing-option'

"git tag -h" used to show the "--column" and "--sort" options
that are about listing in a wrong section.

* jk/tag-h-column-is-a-listing-option:
tag: fix some mis-organized options in "-h" listing

Git 2.3.4 v2.3.4Junio C Hamano Mon, 23 Mar 2015 18:27:27 +0000 (11:27 -0700)

Git 2.3.4

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

Merge branch 'rs/use-isxdigit' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:41 +0000 (11:23 -0700)

Merge branch 'rs/use-isxdigit' into maint

Code cleanup.

* rs/use-isxdigit:
use isxdigit() for checking if a character is a hexadecimal digit

Merge branch 'rs/deflate-init-cleanup' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:37 +0000 (11:23 -0700)

Merge branch 'rs/deflate-init-cleanup' into maint

Code simplification.

* rs/deflate-init-cleanup:
zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw}

Merge branch 'ak/git-done-help-cleanup' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:35 +0000 (11:23 -0700)

Merge branch 'ak/git-done-help-cleanup' into maint

Code simplification.

* ak/git-done-help-cleanup:
git: make was_alias and done_help non-static

Merge branch 'sg/completion-remote' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:33 +0000 (11:23 -0700)

Merge branch 'sg/completion-remote' into maint

Code simplification.

* sg/completion-remote:
completion: simplify __git_remotes()
completion: add a test for __git_remotes() helper function

Merge branch 'mg/doc-status-color-slot' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:30 +0000 (11:23 -0700)

Merge branch 'mg/doc-status-color-slot' into maint

Documentation fixes.

* mg/doc-status-color-slot:
config,completion: add color.status.unmerged

Merge branch 'jc/decorate-leaky-separator-color' into... Junio C Hamano Mon, 23 Mar 2015 18:23:28 +0000 (11:23 -0700)

Merge branch 'jc/decorate-leaky-separator-color' into maint

"git log --decorate" did not reset colors correctly around the
branch names.

* jc/decorate-leaky-separator-color:
log --decorate: do not leak "commit" color into the next item
Documentation/config.txt: simplify boolean description in the syntax section
Documentation/config.txt: describe 'color' value type in the "Values" section
Documentation/config.txt: have a separate "Values" section
Documentation/config.txt: describe the structure first and then meaning
Documentation/config.txt: explain multi-valued variables once
Documentation/config.txt: avoid unnecessary negation

Merge branch 'kn/git-cd-to-empty' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:25 +0000 (11:23 -0700)

Merge branch 'kn/git-cd-to-empty' into maint

"git -C '' subcmd" refused to work in the current directory, unlike
"cd ''" which silently behaves as a no-op.

* kn/git-cd-to-empty:
git: treat "git -C '<path>'" as a no-op when <path> is empty

Merge branch 'km/imap-send-libcurl-options' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:22 +0000 (11:23 -0700)

Merge branch 'km/imap-send-libcurl-options' into maint

"git imap-send" learned to optionally talk with an IMAP server via
libcURL; because there is no other option when Git is built with
NO_OPENSSL option, use that codepath by default under such
configuration.

* km/imap-send-libcurl-options:
imap-send: use cURL automatically when NO_OPENSSL defined

Merge branch 'mg/verify-commit' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:19 +0000 (11:23 -0700)

Merge branch 'mg/verify-commit' into maint

Workarounds for certain build of GPG that triggered false breakage
in a test.

* mg/verify-commit:
t7510: do not fail when gpg warns about insecure memory

Merge branch 'es/rebase-i-count-todo' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:17 +0000 (11:23 -0700)

Merge branch 'es/rebase-i-count-todo' into maint

"git rebase -i" recently started to include the number of
commits in the insn sheet to be processed, but on a platform
that prepends leading whitespaces to "wc -l" output, the numbers
are shown with extra whitespaces that aren't necessary.

* es/rebase-i-count-todo:
rebase-interactive: re-word "item count" comment
rebase-interactive: suppress whitespace preceding item count

Merge branch 'tb/connect-ipv6-parse-fix' into maintJunio C Hamano Mon, 23 Mar 2015 18:23:12 +0000 (11:23 -0700)

Merge branch 'tb/connect-ipv6-parse-fix' into maint

We did not parse username followed by literal IPv6 address in SSH
transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git
correctly.

* tb/connect-ipv6-parse-fix:
t5500: show user name and host in diag-url
t5601: add more test cases for IPV6
connect.c: allow ssh://user@[2001:db8::1]/repo.git

read-cache: fix memleakStefan Beller Mon, 23 Mar 2015 17:57:11 +0000 (10:57 -0700)

read-cache: fix memleak

`ce` is allocated in make_cache_entry and should be freed if it is not
used any more. refresh_cache_entry as a wrapper around refresh_cache_ent
will either return

- the `ce` given as the parameter, when it was up-to-date;
- a new updated cache entry which is allocated to new memory; or
- a NULL when refreshing failed.

In the latter two cases, the original cache-entry `ce` is not used
and needs to be freed. The rule can be expressed as "if the return
value from refresh is different from the original ce, ce is no
longer used."

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

add_to_index(): free unused cache-entryJunio C Hamano Mon, 23 Mar 2015 17:58:00 +0000 (10:58 -0700)

add_to_index(): free unused cache-entry

We allocate a cache-entry pretty early in the function and then
decide either not to do anything when we are pretending to add, or
add it and then get an error (another possibility is obviously to
succeed).

When pretending or failing to add, we forgot to free the
cache-entry.

Noticed during a discussion on Stefan's patch to change the coding
style without fixing the issue ;-)

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

commit.c: fix a memory leakStefan Beller Sat, 21 Mar 2015 00:28:07 +0000 (17:28 -0700)

commit.c: fix a memory leak

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

http-push: remove unneeded cleanupStefan Beller Sat, 21 Mar 2015 00:28:05 +0000 (17:28 -0700)

http-push: remove unneeded cleanup

preq is NULL as the condition the line before dictates. And the cleanup
function release_http_pack_request is not null pointer safe.

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

merge-recursive: fix memleaksStefan Beller Sat, 21 Mar 2015 00:28:04 +0000 (17:28 -0700)

merge-recursive: fix memleaks

These string_list instances were allocated by get_renames() and
get_unmerged for the sole use of this caller, and the function is
responsible for freeing them, not just their contents.

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

merge-blobs.c: fix a memleakStefan Beller Sat, 21 Mar 2015 00:28:03 +0000 (17:28 -0700)

merge-blobs.c: fix a memleak

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

builtin/apply.c: fix a memleakStefan Beller Sat, 21 Mar 2015 00:28:02 +0000 (17:28 -0700)

builtin/apply.c: fix a memleak

oldlines is allocated earlier in the function and also freed on the
successful code path.

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

l10n: ru: added Russian translationDimitriy Ryazantcev Fri, 20 Mar 2015 15:18:53 +0000 (17:18 +0200)

l10n: ru: added Russian translation

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>

run-command: forbid using run_command with piped outputJeff King Mon, 23 Mar 2015 03:54:05 +0000 (23:54 -0400)

run-command: forbid using run_command with piped output

Because run_command both spawns and wait()s for the command
before returning control to the caller, any reads from the
pipes we open must necessarily happen after wait() returns.
This can lead to deadlock, as the child process may block
on writing to us while we are blocked waiting for it to
exit.

Worse, it only happens when the child fills the pipe
buffer, which means that the problem may come and go
depending on the platform and the size of the output
produced by the child.

Let's detect and flag this dangerous construct so that we
can catch potential bugs early in the test suite rather than
having them happen in the field.

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

trailer: use capture_commandJeff King Mon, 23 Mar 2015 03:54:00 +0000 (23:54 -0400)

trailer: use capture_command

When we read from a trailer.*.command sub-program, the
current code uses run_command followed by a pipe read, which
can result in deadlock (though in practice you would have to
have a large trailer for this to be a problem). The current
code also leaks the file descriptor for the pipe to the
sub-command.

Instead, let's use capture_command, which makes this simpler
(and we can get rid of our custom helper).

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