Commit Graph

39818 Commits

Author SHA1 Message Date
Stefan Beller
05bfc7dcaa line-log.c: fix a memleak
The `filepair` is assigned new memory with any iteration via
process_diff_filepair, so free it before the current iteration ends.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-30 21:59:57 -07:00
Jeff King
f907282faf cherry-pick: fix docs describing handling of empty commits
Commit b27cfb0 (git-cherry-pick: Add keep-redundant-commits
option, 2012-04-20), added the --keep-redundant-commits
option, and switched the default behavior (without that
option) to silently ignore empty commits. Later, the second
half of that commit was reverted in ac2b0e8 (cherry-pick:
regression fix for empty commits, 2012-05-29), but the
documentation added for --keep-redundant-commits was never
updated to match. Let's do so now.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-30 21:49:51 -07:00
Jeff King
319b678a7b sha1_file: squelch "packfile cannot be accessed" warnings
When we find an object in a packfile index, we make sure we
can still open the packfile itself (or that it is already
open), as it might have been deleted by a simultaneous
repack. If we can't access the packfile, we print a warning
for the user and tell the caller that we don't have the
object (we can then look in other packfiles, or find a loose
version, before giving up).

The warning we print to the user isn't really accomplishing
anything, and it is potentially confusing to users. In the
normal case, it is complete noise; we find the object
elsewhere, and the user does not have to care that we racily
saw a packfile index that became stale. It didn't affect the
operation at all.

A possibly more interesting case is when we later can't find
the object, and report failure to the user. In this case the
warning could be considered a clue toward that ultimate
failure. But it's not really a useful clue in practice. We
wouldn't even print it consistently (since we are racing
with another process, we might not even see the .idx file,
or we might win the race and open the packfile, completing
the operation).

This patch drops the warning entirely (not only from the
fill_pack_entry site, but also from an identical use in
pack-objects). If we did find the warning interesting in the
error case, we could stuff it away and reveal it to the user
when we later die() due to the broken object. But that
complexity just isn't worth it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-30 21:47:39 -07:00
Tran Ngoc Quan
02507f42a0 l10n: vi.po: Updated Vietnamese translation
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2015-03-31 09:48:38 +08:00
Jiang Xin
814ff3141e 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>
2015-03-31 09:43:58 +08:00
Jiang Xin
d0cec149b2 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
2015-03-31 09:38:47 +08:00
Sebastian Schuberth
d50d31e880 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>
2015-03-30 13:44:29 -07:00
Jean-Noel Avila
7298ca7b2e l10n: fr.po v2.4.0-rc0 round 1
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2015-03-30 10:54:05 +02:00
Ivan Ukhov
d3c0811467 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>
2015-03-29 19:56:12 -07:00
Alex Henrie
d03ead9836 l10n: ca.po: update translation
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2015-03-28 15:07:36 -06:00
Junio C Hamano
a3b75b3ccb Sync with maint
* maint:
  Prepare for 2.3.5
  2.3.2 release notes: typofix
2015-03-28 09:42:49 -07:00
Junio C Hamano
9e4ab3a4f5 RelNotes: minor doc updates
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-28 09:41:51 -07:00
Junio C Hamano
31137f54db Merge branch 'ph/push-doc-cas'
* ph/push-doc-cas:
  git-push.txt: clean up force-with-lease wording
2015-03-28 09:37:53 -07:00
Junio C Hamano
3a183520b2 Merge branch 'ss/pull-rebase-preserve'
* ss/pull-rebase-preserve:
  docs: clarify "preserve" option wording for git-pull
2015-03-28 09:37:52 -07:00
Junio C Hamano
2c97724d5e Prepare for 2.3.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-28 09:36:30 -07:00
Junio C Hamano
4eea8e3fa0 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
2015-03-28 09:33:15 -07:00
Junio C Hamano
a070d621ed 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
2015-03-28 09:33:15 -07:00
Junio C Hamano
b265061937 Merge branch 'tg/test-index-v4' into maint
A test fix.

* tg/test-index-v4:
  t1700: make test pass with index-v4
2015-03-28 09:33:14 -07:00
Junio C Hamano
2217579cde 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
2015-03-28 09:33:13 -07:00
Junio C Hamano
245dd15aa9 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
2015-03-28 09:33:12 -07:00
Junio C Hamano
b70cec0a2e 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
2015-03-28 09:33:11 -07:00
Junio C Hamano
a5d3154854 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
2015-03-28 09:33:10 -07:00
Junio C Hamano
73d8bfde32 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
2015-03-28 09:33:09 -07:00
Junio C Hamano
591a1daa7c 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
2015-03-28 09:33:08 -07:00
Junio C Hamano
07e3f27f48 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
2015-03-28 09:33:07 -07:00
Junio C Hamano
9f389aa492 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
2015-03-28 09:33:06 -07:00
Thomas Ackermann
b37996e251 2.3.2 release notes: typofix
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-28 09:29:29 -07:00
Junio C Hamano
cf98c423b5 Merge branch 'jn/doc-api-errors'
* jn/doc-api-errors:
  api-error-handling doc: typofix
2015-03-28 09:26:18 -07:00
Thomas Ackermann
39d5bef5c1 api-error-handling doc: typofix
Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-28 09:24:55 -07:00
Vitor Antunes
138ce9c29f 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>
2015-03-28 08:55:54 -07:00
Vitor Antunes
83e085a1f9 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>
2015-03-28 08:55:27 -07:00
Junio C Hamano
283cd320db Sync with maint
* maint:
  Update mailmap to spell out "Alexander Kuleshov"
2015-03-27 13:02:55 -07:00
Junio C Hamano
553c622b68 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
2015-03-27 13:02:32 -07:00
Junio C Hamano
d8279c7d85 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
2015-03-27 13:00:23 -07:00
Junio C Hamano
a730ea3c3a 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
2015-03-27 13:00:21 -07:00
Junio C Hamano
792c57273f 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
2015-03-27 13:00:18 -07:00
Junio C Hamano
90329592b9 Update mailmap to spell out "Alexander Kuleshov"
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-27 12:58:18 -07:00
Dimitriy Ryazantcev
76f92c1684 l10n: ru: updated Russian translation
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2015-03-27 12:54:35 +02:00
Peter Krefting
dc76d8fec9 l10n: sv.po: Update Swedish translation (2305t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2015-03-27 09:57:48 +01:00
Jiang Xin
c12468b71c Merge branch 'maint'
* maint:
  l10n: de.po: fix negation for commit -a with paths
2015-03-27 14:02:01 +08:00
Jiang Xin
c2ea120885 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>
2015-03-27 13:35:23 +08:00
Jiang Xin
6b17eada5f 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
2015-03-27 13:31:02 +08:00
Junio C Hamano
0615173998 diff-no-index: align D/F handling with that of normal Git
When a commit changes a path P that used to be a file to a directory
and creates a new path P/X in it, "git show" would say that file P
was removed and file P/X was created for such a commit.

However, if we compare two directories, D1 and D2, where D1 has a
file D1/P in it and D2 has a directory D2/P under which there is a
file D2/P/X, and ask "git diff --no-index D1 D2" to show their
differences, we simply get a refusal "file/directory conflict".

Surely, that may be what GNU diff does, but we can do better and it
is easy to do so.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-26 14:08:43 -07:00
Sebastian Schuberth
129260cbd4 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>
2015-03-26 13:19:26 -07:00
Junio C Hamano
2dfb2e07cb Git 2.4.0-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-26 11:59:05 -07:00
Junio C Hamano
30db51a3fe 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
  ...
2015-03-26 11:57:14 -07:00
Junio C Hamano
55a3b3c26e Merge branch 'sg/completion-gitcomp-nl-for-refs'
Code clean-up.

* sg/completion-gitcomp-nl-for-refs:
  completion: use __gitcomp_nl() for completing refs
2015-03-26 11:57:13 -07:00
Junio C Hamano
574ee8ae86 Merge branch 'jc/report-path-error-to-dir'
Code clean-up.

* jc/report-path-error-to-dir:
  report_path_error(): move to dir.c
2015-03-26 11:57:13 -07:00
Phil Hord
fddfaf8a22 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>
2015-03-26 11:41:24 -07:00
Junio C Hamano
c9e1f2c7f2 diff-no-index: DWIM "diff D F" into "diff D/F F"
"git diff --no-index" was supposed to be a poor-man's approach to
allow using Git diff goodies outside of a Git repository, without
having to patch mainstream diff implementations.

Unlike a POSIX diff that treats "diff D F" (or "diff F D") as a
request to compare D/F and F (or F and D/F) when D is a directory
and F is a file, however, we did not accept such a command line and
instead barfed with "file/directory conflict".

Imitate what POSIX diff does and append the basename of the file
after the name of the directory before comparing.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-03-25 22:39:07 -07:00