Junio C Hamano [Wed, 18 Feb 2015 19:44:58 +0000 (11:44 -0800)]
Merge branch 'ch/new-gpg-drops-rfc-1991'
Older GnuPG implementations may not correctly import the keyring
material we prepare for the tests to use.
* ch/new-gpg-drops-rfc-1991:
t/lib-gpg: sanity-check that we can actually sign
t/lib-gpg: include separate public keys in keyring.gpg
Junio C Hamano [Wed, 18 Feb 2015 19:44:57 +0000 (11:44 -0800)]
Merge branch 'ye/http-accept-language'
Using environment variable LANGUAGE and friends on the client side,
HTTP-based transports now send Accept-Language when making requests.
* ye/http-accept-language:
http: add Accept-Language header if possible
Junio C Hamano [Wed, 18 Feb 2015 19:44:56 +0000 (11:44 -0800)]
Merge branch 'av/wincred-with-at-in-username-fix'
The credential helper for Windows (in contrib/) used to mishandle
a user name with an at-sign in it.
* av/wincred-with-at-in-username-fix:
wincred: fix get credential if username has "@"
Junio C Hamano [Tue, 17 Feb 2015 18:22:17 +0000 (10:22 -0800)]
Post 2.3 cycle (batch #2)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 17 Feb 2015 18:15:30 +0000 (10:15 -0800)]
Merge branch 'mg/push-repo-option-doc'
The "git push" documentation made the "--repo=<there>" option
easily misunderstood.
* mg/push-repo-option-doc:
git-push.txt: document the behavior of --repo
Junio C Hamano [Tue, 17 Feb 2015 18:15:29 +0000 (10:15 -0800)]
Merge branch 'jc/t4122-use-test-write-lines'
* jc/t4122-use-test-write-lines:
t4122: use test_write_lines from test-lib-functions
Junio C Hamano [Tue, 17 Feb 2015 18:15:28 +0000 (10:15 -0800)]
Merge branch 'jk/status-read-branch-name-fix'
Code to read branch name from various files in .git/ directory
would have misbehaved if the code to write them left an empty file.
* jk/status-read-branch-name-fix:
read_and_strip_branch: fix typo'd address-of operator
Junio C Hamano [Tue, 17 Feb 2015 18:15:27 +0000 (10:15 -0800)]
Merge branch 'jk/remote-curl-an-array-in-struct-cannot-be-null'
Fix a misspelled conditional that is always true.
* jk/remote-curl-an-array-in-struct-cannot-be-null:
do not check truth value of flex arrays
Junio C Hamano [Tue, 17 Feb 2015 18:15:25 +0000 (10:15 -0800)]
Merge branch 'jc/diff-format-doc'
The documentation incorrectly said that C(opy) and R(ename) are the
only ones that can be followed by the score number in the output in
the --raw format.
* jc/diff-format-doc:
diff-format doc: a score can follow M for rewrite
Junio C Hamano [Tue, 17 Feb 2015 18:15:24 +0000 (10:15 -0800)]
Merge branch 'jk/dumb-http-idx-fetch-fix'
A broken pack .idx file in the receiving repository prevented the
dumb http transport from fetching a good copy of it from the other
side.
* jk/dumb-http-idx-fetch-fix:
dumb-http: do not pass NULL path to parse_pack_index
Junio C Hamano [Tue, 17 Feb 2015 18:15:23 +0000 (10:15 -0800)]
Merge branch 'mg/commit-author-no-match-malformed-message'
The error message from "git commit", when a non-existing author
name was given as value to the "--author=" parameter, has been
reworded to avoid misunderstanding.
* mg/commit-author-no-match-malformed-message:
commit: reword --author error message
Junio C Hamano [Tue, 17 Feb 2015 18:15:22 +0000 (10:15 -0800)]
Merge branch 'jc/doc-log-rev-list-options'
"git log --help" used to show rev-list options that are irrelevant
to the "log" command.
* jc/doc-log-rev-list-options:
Documentation: what does "git log --indexed-objects" even mean?
Junio C Hamano [Tue, 17 Feb 2015 18:15:20 +0000 (10:15 -0800)]
Merge branch 'jc/apply-ws-fix-expands'
"git apply --whitespace=fix" used to under-allocate the memory
when the fix resulted in a longer text than the original patch.
* jc/apply-ws-fix-expands:
apply: count the size of postimage correctly
apply: make update_pre_post_images() sanity check the given postlen
apply.c: typofix
Junio C Hamano [Tue, 17 Feb 2015 18:15:19 +0000 (10:15 -0800)]
Merge branch 'ak/add-i-empty-candidates'
The interactive "show a list and let the user choose from it"
interface "add -i" used showed and prompted to the user even when
the candidate list was empty, against which the only "choice" the
user could have made was to choose nothing.
* ak/add-i-empty-candidates:
add -i: return from list_and_choose if there is no candidate
Junio C Hamano [Tue, 17 Feb 2015 18:15:18 +0000 (10:15 -0800)]
Merge branch 'ks/rebase-i-abbrev'
The insn sheet "git rebase -i" creates did not fully honor
core.abbrev settings.
* ks/rebase-i-abbrev:
rebase -i: use full object name internally throughout the script
Junio C Hamano [Tue, 17 Feb 2015 18:15:17 +0000 (10:15 -0800)]
Merge branch 'mh/deref-symref-over-helper-transport'
"git fetch" over a remote-helper that cannot respond to "list"
command could not fetch from a symbolic reference e.g. HEAD.
* mh/deref-symref-over-helper-transport:
transport-helper: do not request symbolic refs to remote helpers
Junio C Hamano [Wed, 11 Feb 2015 21:54:03 +0000 (13:54 -0800)]
Post 2.3 cycle (batch #1)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 11 Feb 2015 21:44:19 +0000 (13:44 -0800)]
Merge branch 'ah/usage-strings'
* ah/usage-strings:
standardize usage info string format
Junio C Hamano [Wed, 11 Feb 2015 21:44:16 +0000 (13:44 -0800)]
Merge branch 'jc/pretty-format-doc'
* jc/pretty-format-doc:
"log --pretty" documentation: do not forget "tformat:"
Junio C Hamano [Wed, 11 Feb 2015 21:44:07 +0000 (13:44 -0800)]
Merge branch 'jc/unused-symbols'
Mark file-local symbols as "static", and drop functions that nobody
uses.
* jc/unused-symbols:
shallow.c: make check_shallow_file_for_update() static
remote.c: make clear_cas_option() static
urlmatch.c: make match_urls() static
revision.c: make save_parents() and free_saved_parents() static
line-log.c: make line_log_data_init() static
pack-bitmap.c: make pack_bitmap_filename() static
prompt.c: remove git_getpass() nobody uses
http.c: make finish_active_slot() and handle_curl_result() static
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
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
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"
...
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
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
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
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
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
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
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
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
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>
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
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
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>
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
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>
Jeff King [Thu, 29 Jan 2015 15:51:11 +0000 (10:51 -0500)]
t/lib-gpg: sanity-check that we can actually sign
Some older versions of gpg (reportedly v1.2.6 from RHEL4) cannot
import the keyrings found in our test suite, and thus cannot even
make a signature. The previous change works it around, but we
cannot anticipate breakages update to GPG would cause in the future.
Do a test-sign before declaring the GPG prerequisite fulfilled
to future-proof our tests.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Thu, 29 Jan 2015 15:43:20 +0000 (10:43 -0500)]
t/lib-gpg: include separate public keys in keyring.gpg
Since
1e3eefb (tests: replace binary GPG keyrings with
ASCII-armored keys, 2014-12-12), we import our test GPG keys
from a single file. Each keypair in the import stream
contains both the secret and public keys. However, older
versions of gpg reportedly fail to import the public half of
the key. We can solve this by including duplicates of the
public keys separately. The duplicates are ignored by modern
gpg, and this makes older versions work.
Reported by Tom G. Christensen <tgc@statsbiblioteket.dk> on
gpg 1.2.6 (from RHEL4).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 29 Jan 2015 05:15:24 +0000 (21:15 -0800)]
t4122: use test_write_lines from test-lib-functions
Instead of using a custom lecho function, just use what the test
framework already gives us.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 Jan 2015 21:17:19 +0000 (13:17 -0800)]
diff-format doc: a score can follow M for rewrite
b6d8f309 (diff-raw format update take #2., 2005-05-23) started
documenting the diff format, and it said
...
(8) sha1 for "dst"; 0{40} if creation, unmerged or "look at work tree".
(9) status, followed by similarlity index number only for C and R.
(10) a tab or a NUL when '-z' option is used.
...
because C and R _were_ the only ones that came with a number back
then. This was corrected by
ddafa7e9 (diff-helper: Fix R/C score
parsing under -z flag., 2005-05-29) and we started saying "score"
instead of "similarlity index" (because we can have other kind of
score there), and stopped saying "only for C and R" (because Git is
an ever evolving system). Later
f345b0a0 (Add -B flag to diff-*
brothers., 2005-05-30) introduced a new concept, "dissimilarity"
score; it did not have to fix any documentation.
The current text that says only C and R can have scores came
independently from
a5a323f3 (Add reference for status letters in
documentation., 2008-11-02) and it was wrong from the day one.
Noticed-by: Mike Hommey
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber [Tue, 27 Jan 2015 12:35:53 +0000 (13:35 +0100)]
git-push.txt: document the behavior of --repo
As per the code, the --repo <repo> option is equivalent to the
<repo> argument to 'git push', but somehow it was documented as
something that is more than that. [It exists for historical
reasons, back from the time when options had to come before
arguments.]
Say so. [But not that.]
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Wed, 28 Jan 2015 17:58:50 +0000 (12:58 -0500)]
do not check truth value of flex arrays
There is no point in checking "!ref->name" when ref is a
"struct ref". The name field is a flex-array, and there
always has a non-zero address. This is almost certainly not
hurting anything, but it does cause clang-3.6 to complain.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Wed, 28 Jan 2015 17:57:35 +0000 (12:57 -0500)]
read_and_strip_branch: fix typo'd address-of operator
When we are chomping newlines from the end of a strbuf, we
must check "sb.len != 0" before accessing "sb.buf[sb.len - 1]".
However, this code mistakenly checks "&sb.len", which is
always true (it is a part of an auto struct, so the address
is always non-zero). This could lead to us accessing memory
outside the strbuf when we read an empty file.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Yi EungJun [Wed, 28 Jan 2015 12:04:37 +0000 (21:04 +0900)]
http: add Accept-Language header if possible
Add an Accept-Language header which indicates the user's preferred
languages defined by $LANGUAGE, $LC_ALL, $LC_MESSAGES and $LANG.
Examples:
LANGUAGE= -> ""
LANGUAGE=ko:en -> "Accept-Language: ko, en;q=0.9, *;q=0.1"
LANGUAGE=ko LANG=en_US.UTF-8 -> "Accept-Language: ko, *;q=0.1"
LANGUAGE= LANG=en_US.UTF-8 -> "Accept-Language: en-US, *;q=0.1"
This gives git servers a chance to display remote error messages in
the user's preferred language.
Limit the number of languages to 1,000 because q-value must not be
smaller than 0.001, and limit the length of Accept-Language header to
4,000 bytes for some HTTP servers which cannot accept such long header.
Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
Jeff King [Tue, 27 Jan 2015 20:02:27 +0000 (15:02 -0500)]
dumb-http: do not pass NULL path to parse_pack_index
Once upon a time, dumb http always fetched .idx files
directly into their final location, and then checked their
validity with parse_pack_index. This was refactored in
commit
750ef42 (http-fetch: Use temporary files for
pack-*.idx until verified, 2010-04-19), which uses the
following logic:
1. If we have the idx already in place, see if it's
valid (using parse_pack_index). If so, use it.
2. Otherwise, fetch the .idx to a tempfile, check
that, and if so move it into place.
3. Either way, fetch the pack itself if necessary.
However, it got step 1 wrong. We pass a NULL path parameter
to parse_pack_index, so an existing .idx file always looks
broken. Worse, we do not treat this broken .idx as an
opportunity to re-fetch, but instead return an error,
ignoring the pack entirely. This can lead to a dumb-http
fetch failing to retrieve the necessary objects.
This doesn't come up much in practice, because it must be a
packfile that we found out about (and whose .idx we stored)
during an earlier dumb-http fetch, but whose packfile we
_didn't_ fetch. I.e., we did a partial clone of a
repository, didn't need some packfiles, and now a followup
fetch needs them.
Discovery and tests by Charles Bailey <charles@hashpling.org>.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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
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
Michael J Gruber [Mon, 26 Jan 2015 15:48:33 +0000 (16:48 +0100)]
commit: reword --author error message
If an --author argument is specified but does not contain a '>' then git tries
to find the argument within the existing authors; and gives the error
message "No existing author found with '%s'" if there is no match.
This is confusing for users who try to specify a valid complete author
name.
Rename the error message to make it clearer that the failure has two
reasons in this case.
(This codepath is touched only when we know already that the argument
cannot be a completely wellformed author ident.)
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
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>
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>
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>
Aleksey Vasenev [Wed, 19 Nov 2014 21:47:32 +0000 (00:47 +0300)]
wincred: fix get credential if username has "@"
Such a username with "@" in it isn't all that unusual these days.
cf. https://groups.google.com/forum/#!msg/msysgit/YVuCqmwwRyY/HULHj5OoE88J
Signed-off-by: Aleksey Vasenev <margtu-fivt@ya.ru>
Acked-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 23 Jan 2015 19:49:05 +0000 (11:49 -0800)]
Documentation: what does "git log --indexed-objects" even mean?
4fe10219 (rev-list: add --indexed-objects option, 2014-10-16) adds
"--indexed-objects" option to "rev-list", and it is only useful in
the context of "git rev-list" and not "git log". There are other
object traversal options that do not make sense for "git log" that
are shown in the manual page.
Move the description of "--indexed-objects" to the object traversal
section so that it sits together with its friends "--objects",
"--objects-edge", etc. and then show them only in "git rev-list"
documentation.
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
Alexander Kuleshov [Thu, 22 Jan 2015 08:39:44 +0000 (14:39 +0600)]
add -i: return from list_and_choose if there is no candidate
The list_and_choose() helper is given a prompt and a list, asks the
user to make selection from the list, and then returns a list of
items chosen. Even when it is given an empty list as the original
candidate set to choose from, it gave a prompt to the user, who can
only say "I am done choosing".
Return an empty result when the input is an empty list without
bothering the user. The existing caller must already have a logic
to say "Nothing to do" or an equivalent when the returned list is
empty (i.e. the user chose to select nothing) if it is necessary, so
no change to the callers is necessary.
This fixes the case where "add untracked" is asked in "git add -i"
and there is no untracked files in the working tree. We used to give
an empty list of files to choose from with a prompt, but with this
change, we no longer do.
Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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
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
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
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
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>
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
Junio C Hamano [Fri, 16 Jan 2015 23:32:00 +0000 (15:32 -0800)]
apply: count the size of postimage correctly
Under --whitespace=fix option, match_fragment() function examines
the preimage (the common context and the removed lines in the patch)
and the file being patched and checks if they match after correcting
all whitespace errors. When they are found to match, the common
context lines in the preimage is replaced with the fixed copy,
because these lines will then be copied to the corresponding place
in the postimage by a later call to update_pre_post_images(). Lines
that are added in the postimage, under --whitespace=fix, have their
whitespace errors already fixed when apply_one_fragment() prepares
the preimage and the postimage, so in the end, application of the
patch can be done by replacing the block of text in the file being
patched that matched the preimage with what is in the postimage that
was updated by update_pre_post_images().
In the earlier days, fixing whitespace errors always resulted in
reduction of size, either collapsing runs of spaces in the indent to
a tab or removing the trailing whitespaces. These days, however,
some whitespace error fix results in extending the size.
250b3c6c (apply --whitespace=fix: avoid running over the postimage
buffer, 2013-03-22) tried to compute the final postimage size but
its math was flawed. It counted the size of the block of text in
the original being patched after fixing the whitespace errors on its
lines that correspond to the preimage. That number does not have
much to do with how big the final postimage would be.
Instead count (1) the added lines in the postimage, whose size is
the same as in the final patch result because their whitespace
errors have already been corrected, and (2) the fixed size of the
lines that are common.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 16 Jan 2015 19:54:47 +0000 (11:54 -0800)]
apply: make update_pre_post_images() sanity check the given postlen
"git apply --whitespace=fix" used to be able to assume that fixing
errors will always reduce the size by e.g. stripping whitespaces at
the end of lines or collapsing runs of spaces into tabs at the
beginning of lines. An update to accomodate fixes that lengthens
the result by e.g. expanding leading tabs into spaces were made long
time ago but the logic miscounted the necessary space after such
whitespace fixes, leading to either under-allocation or over-usage
of already allocated space.
Illustrate this with a runtime sanity-check to protect us from
future breakage. The test was stolen from Kyle McKay who helped
to identify the problem.
Helped-by: "Kyle J. McKay" <mackyle@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 16 Jan 2015 21:54:52 +0000 (13:54 -0800)]
apply.c: typofix
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
Kirill A. Shutemov [Thu, 22 Jan 2015 11:50:15 +0000 (13:50 +0200)]
rebase -i: use full object name internally throughout the script
In earlier days, the abbreviated commit object name shown to the end
users were generated with hardcoded --abbrev=7;
56895038 (rebase
-i: respect core.abbrev, 2013-09-28) tried to make it honor the user
specified core.abbrev, but it missed the very initial invocation of
the editor.
These days, we try to use the full 40-hex object names internally to
avoid ambiguity that can arise after rebase starts running. Newly
created objects during the rebase may share the same prefix with
existing commits listed in the insn sheet. These object names are
shortened just before invoking the sequence editor to present the
insn sheet to the end user, and then expanded back to full object
names when the editor returns.
But the code still used the shortened names when preparing the insn
sheet for the very first time, resulting "7 hexdigits or more"
output to the user. Change the code to use full 40-hex commit
object names from the very beginning to make things more uniform.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mike Hommey [Mon, 19 Jan 2015 01:35:07 +0000 (10:35 +0900)]
transport-helper: do not request symbolic refs to remote helpers
A typical remote helper will return a `list` of refs containing a symbolic
ref HEAD, pointing to, e.g. refs/heads/master. In the case of a clone, all
the refs are being requested through `fetch` or `import`, including the
symbolic ref.
While this works properly, in some cases of a fetch, like `git fetch url`
or `git fetch origin HEAD`, or any fetch command involving a symbolic ref
without also fetching the corresponding ref it points to, the fetch command
fails with:
fatal: bad object
0000000000000000000000000000000000000000
error: <remote> did not send all necessary objects
(in the case the remote helper returned '?' values to the `list` command).
This is because there is only one ref given to fetch(), and it's not
further resolved to something at the end of fetch_with_import().
While this can be somehow handled in the remote helper itself, by adding
a refspec for the symbolic ref, and storing an explicit ref in a private
namespace, and then handling the `import` for that symbolic ref
specifically, very few existing remote helpers are actually doing that.
So, instead of requesting the exact list of wanted refs to remote helpers,
treat symbolic refs differently and request the ref they point to instead.
Then, resolve the symbolic refs values based on the pointed ref.
This assumes there is no more than one level of indirection (a symbolic
ref doesn't point to another symbolic ref).
Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
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>
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>
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
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>
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
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
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>
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
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>
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>
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>
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
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)
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>
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>
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>
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>
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
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>
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>
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>
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>
Junio C Hamano [Fri, 16 Jan 2015 01:32:57 +0000 (17:32 -0800)]
"log --pretty" documentation: do not forget "tformat:"
We forgot to list "tformat:<string>" when enumerating possible
values that "--pretty=<format>" can take. It was not described
that "--pretty='string with %s placeholder'" that is not understood
is DWIMmed as "--pretty=tformat:<that string>".
Further, it was unclear what "When omitted, defaults to 'medium'"
was meant. Is it "When --pretty=<something> was not given at all",
or is it "When --pretty is given without =<something>"? Clarify
that it is the latter.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
Junio C Hamano [Wed, 14 Jan 2015 23:01:27 +0000 (15:01 -0800)]
shallow.c: make check_shallow_file_for_update() static
No external callers exist.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 14 Jan 2015 22:58:44 +0000 (14:58 -0800)]
remote.c: make clear_cas_option() static
No external callers exist.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 14 Jan 2015 22:57:08 +0000 (14:57 -0800)]
urlmatch.c: make match_urls() static
No external callers exist.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 14 Jan 2015 22:49:24 +0000 (14:49 -0800)]
revision.c: make save_parents() and free_saved_parents() static
No external callers exist.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 14 Jan 2015 22:39:02 +0000 (14:39 -0800)]
line-log.c: make line_log_data_init() static
No external callers exist.
Signed-off-by: Junio C Hamano <gitster@pobox.com>