gitweb.git
l10n: fr.po 2194/1294 messages translatedJean-Noel Avila Fri, 1 Nov 2013 14:35:08 +0000 (15:35 +0100)

l10n: fr.po 2194/1294 messages translated

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Signed-off-by: Sebastien Helleu <flashcode@flashtux.org>

Sync with 1.8.4.3Junio C Hamano Fri, 8 Nov 2013 20:08:43 +0000 (12:08 -0800)

Sync with 1.8.4.3

Git 1.8.4.3 v1.8.4.3Junio C Hamano Fri, 8 Nov 2013 20:06:19 +0000 (12:06 -0800)

Git 1.8.4.3

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

Merge branch 'jn/test-prereq-perl-doc' into maintJunio C Hamano Fri, 8 Nov 2013 20:01:58 +0000 (12:01 -0800)

Merge branch 'jn/test-prereq-perl-doc' into maint

The interaction between use of Perl in our test suite and NO_PERL
has been clarified a bit.

* jn/test-prereq-perl-doc:
t/README: tests can use perl even with NO_PERL

Merge branch 'ap/remote-hg-unquote-cquote' into maintJunio C Hamano Fri, 8 Nov 2013 20:01:13 +0000 (12:01 -0800)

Merge branch 'ap/remote-hg-unquote-cquote' into maint

A fast-import stream expresses a pathname with funny characters by
quoting them in C style; remote-hg remote helper (in contrib/)
forgot to unquote such a path.

* ap/remote-hg-unquote-cquote:
remote-hg: unquote C-style paths when exporting

Merge branch 'jc/upload-pack-send-symref' into maintJunio C Hamano Fri, 8 Nov 2013 19:38:00 +0000 (11:38 -0800)

Merge branch 'jc/upload-pack-send-symref' into maint

One long-standing flaw in the pack transfer protocol used by "git
clone" was that there was no way to tell the other end which branch
"HEAD" points at, and the receiving end needed to guess. A new
capability has been defined in the pack protocol to convey this
information so that cloning from a repository with more than one
branches pointing at the same commit where the HEAD is at now
reliably sets the initial branch in the resulting repository.

* jc/upload-pack-send-symref:
t5570: Update for clone-progress-to-stderr branch
t5570: Update for symref capability
clone: test the new HEAD detection logic
connect: annotate refs with their symref information in get_remote_head()
connect.c: make parse_feature_value() static
upload-pack: send non-HEAD symbolic refs
upload-pack: send symbolic ref information as capability
upload-pack.c: do not pass confusing cb_data to mark_our_ref()
t5505: fix "set-head --auto with ambiguous HEAD" test

Merge branch 'jk/http-auth-redirects' into maintJunio C Hamano Fri, 8 Nov 2013 19:37:25 +0000 (11:37 -0800)

Merge branch 'jk/http-auth-redirects' into maint

We did not handle cases where http transport gets redirected during
the authorization request (e.g. from http:// to https://).

* jk/http-auth-redirects:
http.c: Spell the null pointer as NULL
remote-curl: rewrite base url from info/refs redirects
remote-curl: store url as a strbuf
remote-curl: make refs_url a strbuf
http: update base URLs when we see redirects
http: provide effective url to callers
http: hoist credential request out of handle_curl_result
http: refactor options to http_get_*
http_request: factor out curlinfo_strbuf
http_get_file: style fixes

Sync with maintJunio C Hamano Thu, 7 Nov 2013 22:41:25 +0000 (14:41 -0800)

Sync with maint

* maint:
Start preparing for 1.8.4.3
gitignore.txt: fix documentation of "**" patterns

Start preparing for 1.8.4.3Junio C Hamano Thu, 7 Nov 2013 22:39:47 +0000 (14:39 -0800)

Start preparing for 1.8.4.3

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

Merge branch 'sc/doc-howto-dumb-http' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:39 +0000 (14:37 -0800)

Merge branch 'sc/doc-howto-dumb-http' into maint

An ancient How-To on serving Git repositories on an HTTP server
lacked a warning that it has been mostly superseded with more
modern way.

* sc/doc-howto-dumb-http:
doc/howto: warn about (dumb)http server document being too old

Merge branch 'vd/doc-unpack-objects' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:35 +0000 (14:37 -0800)

Merge branch 'vd/doc-unpack-objects' into maint

The synopsis section of "git unpack-objects" documentation has been
clarified a bit.

* vd/doc-unpack-objects:
Documentation: "pack-file" is not literal in unpack-objects
Documentation: restore a space in unpack-objects usage

Merge branch 'jk/subtree-install-fix' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:17 +0000 (14:37 -0800)

Merge branch 'jk/subtree-install-fix' into maint

We did not generate HTML version of documentation to "git subtree"
in contrib/.

* jk/subtree-install-fix:
subtree: add makefile target for html docs

Merge branch 'hn/log-graph-color-octopus' into maintJunio C Hamano Thu, 7 Nov 2013 22:37:11 +0000 (14:37 -0800)

Merge branch 'hn/log-graph-color-octopus' into maint

Coloring around octopus merges in "log --graph" output was screwy.

* hn/log-graph-color-octopus:
graph: fix coloring around octopus merges

Merge branch 'mm/checkout-auto-track-fix' into maintJunio C Hamano Thu, 7 Nov 2013 22:36:59 +0000 (14:36 -0800)

Merge branch 'mm/checkout-auto-track-fix' into maint

"git checkout topic", when there is not yet a local "topic" branch
but there is a unique remote-tracking branch for a remote "topic"
branch, pretended as if "git checkout -t -b topic remote/$r/topic"
(for that unique remote $r) was run. This hack however was not
implemented for "git checkout topic --".

* mm/checkout-auto-track-fix:
checkout: proper error message on 'git checkout foo bar --'
checkout: allow dwim for branch creation for "git checkout $branch --"

Merge branch 'sg/prompt-svn-remote-fix' into maintJunio C Hamano Thu, 7 Nov 2013 22:36:45 +0000 (14:36 -0800)

Merge branch 'sg/prompt-svn-remote-fix' into maint

Bash prompting code to deal with an SVN remote as an upstream
were coded in a way not supported by older Bash versions (3.x).

* sg/prompt-svn-remote-fix:
bash prompt: don't use '+=' operator in show upstream code path

Merge branch 'jk/split-broken-ident' into maintJunio C Hamano Thu, 7 Nov 2013 22:34:51 +0000 (14:34 -0800)

Merge branch 'jk/split-broken-ident' into maint

The fall-back parsing of commit objects with broken author or
committer lines were less robust than ideal in picking up the
timestamps.

* jk/split-broken-ident:
split_ident: parse timestamp from end of line

Merge branch 'jc/revision-range-unpeel' into maintJunio C Hamano Thu, 7 Nov 2013 22:34:14 +0000 (14:34 -0800)

Merge branch 'jc/revision-range-unpeel' into maint

"git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
output, but "git rev-list --objects v1.0^..v1.0" did not.

* jc/revision-range-unpeel:
revision: do not peel tags used in range notation

gitignore.txt: fix documentation of "**" patternsKarsten Blees Thu, 7 Nov 2013 16:30:47 +0000 (17:30 +0100)

gitignore.txt: fix documentation of "**" patterns

"**" means bold in ASCIIDOC, so we need to escape it.

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

submodule: don't access the .gitmodules cache entry... Jens Lehmann Thu, 7 Nov 2013 14:33:43 +0000 (15:33 +0100)

submodule: don't access the .gitmodules cache entry after removing it

Commit 5fee995244e introduced the stage_updated_gitmodules() function to
add submodule configuration updates to the index. It assumed that even
after calling remove_cache_entry_at() the same cache entry would still be
valid. This was true in the old days, as cache entries could never be
freed, but that is not so sure in the present as there is ongoing work to
free removed cache entries, which makes this code segfault.

Fix that by calling add_file_to_cache() instead of open coding it. Also
remove the "could not find .gitmodules in index" warning, as that won't
happen in regular use cases (and by then just silently adding it to the
index we do the right thing).

Thanks-to: Karsten Blees <karsten.blees@gmail.com>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.5-rc1 v1.8.5-rc1Junio C Hamano Wed, 6 Nov 2013 22:35:19 +0000 (14:35 -0800)

Git 1.8.5-rc1

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

Merge branch 'fc/trivial'Junio C Hamano Wed, 6 Nov 2013 22:34:43 +0000 (14:34 -0800)

Merge branch 'fc/trivial'

A random collection of style fixes and minor doc updates.

* fc/trivial:
setup: trivial style fixes
run-command: trivial style fixes
diff: trivial style fix
revision: trivial style fixes
pretty: trivial style fix
describe: trivial style fixes
transport-helper: trivial style fix
sha1-name: trivial style cleanup
branch: trivial style fix
revision: add missing include
doc/pull: clarify the illustrations
t: replace pulls with merges
merge: simplify ff-only option

wt-status: take the alignment burden off translatorsNguyễn Thái Ngọc Duy Tue, 5 Nov 2013 02:07:29 +0000 (09:07 +0700)

wt-status: take the alignment burden off translators

It's not easy for translators to see spaces in these strings have to
align, especially when there are no guarantees that these strings are
grouped together in .po files. Refactor the code and do the alignment
automatically.

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

sha1_loose_object_info(): do not return success on... Junio C Hamano Wed, 6 Nov 2013 18:00:57 +0000 (10:00 -0800)

sha1_loose_object_info(): do not return success on missing object

Since 052fe5ea (sha1_loose_object_info: make type lookup optional,
2013-07-12), sha1_loose_object_info() returns happily without
checking if the object in question exists, which is not what the the
caller sha1_object_info_extended() expects; the caller does not even
bother checking the existence of the object itself.

Noticed-by: Sven Brauch <svenbrauch@googlemail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.5Junio C Hamano Mon, 4 Nov 2013 23:05:08 +0000 (15:05 -0800)

Update draft release notes to 1.8.5

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

Merge branch 'bw/solaris-sed-tr-test-portability'Junio C Hamano Mon, 4 Nov 2013 22:58:19 +0000 (14:58 -0800)

Merge branch 'bw/solaris-sed-tr-test-portability'

* bw/solaris-sed-tr-test-portability:
t4015: simplify sed command that is not even seen by sed
Avoid difference in tr semantics between System V and BSD
Change sed i\ usage to something Solaris' sed can handle

Merge branch 'vd/doc-unpack-objects'Junio C Hamano Mon, 4 Nov 2013 22:58:15 +0000 (14:58 -0800)

Merge branch 'vd/doc-unpack-objects'

* vd/doc-unpack-objects:
Documentation: "pack-file" is not literal in unpack-objects
Documentation: restore a space in unpack-objects usage

Merge branch 'jk/duplicate-objects-in-packs'Junio C Hamano Mon, 4 Nov 2013 22:58:10 +0000 (14:58 -0800)

Merge branch 'jk/duplicate-objects-in-packs'

Test fixup to a topic recently graduated.

* jk/duplicate-objects-in-packs:
Fix '\%o' for printf from coreutils

Merge branch 'jk/subtree-install-fix'Junio C Hamano Mon, 4 Nov 2013 22:58:08 +0000 (14:58 -0800)

Merge branch 'jk/subtree-install-fix'

* jk/subtree-install-fix:
subtree: add makefile target for html docs

Merge branch 'ak/cvsserver-stabilize-use-of-hash-keys'Junio C Hamano Mon, 4 Nov 2013 22:58:05 +0000 (14:58 -0800)

Merge branch 'ak/cvsserver-stabilize-use-of-hash-keys'

* ak/cvsserver-stabilize-use-of-hash-keys:
cvsserver: Determinize output to combat Perl 5.18 hash randomization

Merge branch 'jk/wrap-perl-used-in-tests'Junio C Hamano Mon, 4 Nov 2013 22:58:01 +0000 (14:58 -0800)

Merge branch 'jk/wrap-perl-used-in-tests'

* jk/wrap-perl-used-in-tests:
t: use perl instead of "$PERL_PATH" where applicable
t: provide a perl() function which uses $PERL_PATH

Merge branch 'sc/doc-howto-dumb-http'Junio C Hamano Mon, 4 Nov 2013 22:57:57 +0000 (14:57 -0800)

Merge branch 'sc/doc-howto-dumb-http'

* sc/doc-howto-dumb-http:
doc/howto: warn about (dumb)http server document being too old

Merge branch 'jn/test-prereq-perl-doc'Junio C Hamano Mon, 4 Nov 2013 22:57:53 +0000 (14:57 -0800)

Merge branch 'jn/test-prereq-perl-doc'

* jn/test-prereq-perl-doc:
t/README: tests can use perl even with NO_PERL

t1005: add test for "read-tree --reset -u A B"Junio C Hamano Fri, 1 Nov 2013 22:04:08 +0000 (15:04 -0700)

t1005: add test for "read-tree --reset -u A B"

With a conflicted index, this used to give us an error.

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

t1005: reindentJunio C Hamano Fri, 1 Nov 2013 21:55:17 +0000 (14:55 -0700)

t1005: reindent

Just to update the style of this ancient test script to match
our house style.

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

unpack-trees: fix "read-tree -u --reset A B" with confl... Jeff King Sat, 29 Dec 2012 20:51:54 +0000 (15:51 -0500)

unpack-trees: fix "read-tree -u --reset A B" with conflicted index

When we call "read-tree --reset -u HEAD ORIG_HEAD", the first thing we
do with the index is to call read_cache_unmerged. Originally that
would read the index, leaving aside any unmerged entries. However, as
of d1a43f2 (reset --hard/read-tree --reset -u: remove unmerged new
paths, 2008-10-15), it actually creates a new cache entry to serve as
a placeholder, so that we later know to update the working tree.

However, we later noticed that the sha1 of that unmerged entry was
just copied from some higher stage, leaving you with random content in
the index. That was fixed by e11d7b5 ("reset --merge": fix unmerged
case, 2009-12-31), which instead puts the null sha1 into the newly
created entry, and sets a CE_CONFLICTED flag. At the same time, it
teaches the unpack-trees machinery to pay attention to this flag, so
that oneway_merge throws away the current value.

However, it did not update the code paths for twoway_merge, which is
where we end up in the two-way read-tree with --reset. We notice that
the HEAD and ORIG_HEAD versions are the same, and say "oh, we can just
reuse the current version". But that's not true. The current version
is bogus.

Notice this case and make sure we do not keep the bogus entry; either
we do not have that path in the tree we are moving to (i.e. remove
it), or we want to have the cache entry we created for the tree we are
moving to (i.e. resolve by explicitly saying the "newtree" version is
what we want).

[jc: this is from the almost year-old $gmane/212316]

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

t4015: simplify sed command that is not even seen by sedJunio C Hamano Mon, 4 Nov 2013 18:11:15 +0000 (10:11 -0800)

t4015: simplify sed command that is not even seen by sed

Noticed by Andreas Schwab; \<LF> inside a double quotes pair is
eaten by the shell to become an empty string and is not doing
anything.

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

l10n: zh_CN.po: translate 68 messages (2194t0f0u)Jiang Xin Tue, 17 Sep 2013 15:37:05 +0000 (23:37 +0800)

l10n: zh_CN.po: translate 68 messages (2194t0f0u)

Translate 68 new messages came from git.pot update in 727b957
(l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)).

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

l10n: vi.po (2194t): Update and minor fixTran Ngoc Quan Sat, 2 Nov 2013 06:21:55 +0000 (13:21 +0700)

l10n: vi.po (2194t): Update and minor fix

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)Jiang Xin Sat, 2 Nov 2013 00:08:26 +0000 (08:08 +0800)

l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)

Generate po/git.pot from v1.8.5-rc0-23-gaa27064 for git v1.8.5
l10n round 1.

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

rev-parse: introduce --exclude=<glob> to tame wildcardsJunio C Hamano Fri, 1 Nov 2013 19:13:01 +0000 (12:13 -0700)

rev-parse: introduce --exclude=<glob> to tame wildcards

Teach "rev-parse" the same "I'm going to glob, but omit the ones
that match these patterns" feature as "rev-list".

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

rev-list --exclude: export add/clear-ref-exclusion... Junio C Hamano Fri, 1 Nov 2013 19:02:45 +0000 (12:02 -0700)

rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API

... while updating their function signature. To be squashed into
the initial patch to rev-list.

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

rev-list --exclude: testsJunio C Hamano Fri, 1 Nov 2013 18:33:15 +0000 (11:33 -0700)

rev-list --exclude: tests

Add tests for the --exclude=<glob> feature.

A few tests are added for cases where use of globbing and
"--exclude" results in no positive revisions:

* "--exclude=<glob>" before "--all" etc. resulted in no results;

* "--stdin" is used but no input was given;

* "--all" etc. is used but no matching refs are found.

Currently, we fail such a request with the same error message we
would give to a command line that does not specify any positive
revision (e.g. "git rev-list<ENTER>").

We may want to treat these cases differently and not error out, but
the logic to detect that would be common to all of them, so I'd
leave it outside this topic for now, and stop at adding these tests
as food-for-thought.

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

document --exclude optionJohannes Sixt Mon, 2 Sep 2013 20:11:26 +0000 (22:11 +0200)

document --exclude option

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: "pack-file" is not literal in unpack... Vivien Didelot Fri, 1 Nov 2013 15:42:43 +0000 (11:42 -0400)

Documentation: "pack-file" is not literal in unpack-objects

Make it clear that "pack-file" is not to be spelled as is in the
unpack-objects usage.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.8.5Junio C Hamano Fri, 1 Nov 2013 15:14:52 +0000 (08:14 -0700)

Update draft release notes to 1.8.5

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

Merge branch 'sb/refs-code-cleanup'Junio C Hamano Fri, 1 Nov 2013 14:38:58 +0000 (07:38 -0700)

Merge branch 'sb/refs-code-cleanup'

* sb/refs-code-cleanup:
cache: remove unused function 'have_git_dir'
refs: remove unused function invalidate_ref_cache

Merge branch 'rs/web-browse-xdg-open'Junio C Hamano Fri, 1 Nov 2013 14:38:56 +0000 (07:38 -0700)

Merge branch 'rs/web-browse-xdg-open'

* rs/web-browse-xdg-open:
web--browse: Add support for xdg-open

Merge branch 'js/tests-windows-port-fix'Junio C Hamano Fri, 1 Nov 2013 14:38:54 +0000 (07:38 -0700)

Merge branch 'js/tests-windows-port-fix'

* js/tests-windows-port-fix:
tests: undo special treatment of CRLF for Windows
Windows: a test_cmp that is agnostic to random LF <> CRLF conversions
t5300-pack-object: do not compare binary data using test_cmp

Merge branch 'js/test-help-format-windows-port-fix'Junio C Hamano Fri, 1 Nov 2013 14:38:51 +0000 (07:38 -0700)

Merge branch 'js/test-help-format-windows-port-fix'

* js/test-help-format-windows-port-fix:
t3200: do not open a HTML manual page when DEFAULT_MAN_FORMAT is html

Merge branch 'jk/reset-p-current-head-fix'Junio C Hamano Fri, 1 Nov 2013 14:38:49 +0000 (07:38 -0700)

Merge branch 'jk/reset-p-current-head-fix'

"git reset -p HEAD" has codepath to special case it from resetting
to contents of other commits, but recent change broke it.

* jk/reset-p-current-head-fix:
reset: pass real rev name to add--interactive
add-interactive: handle unborn branch in patch mode

Merge branch 'jk/pack-corruption-post-mortem'Junio C Hamano Fri, 1 Nov 2013 14:38:46 +0000 (07:38 -0700)

Merge branch 'jk/pack-corruption-post-mortem'

* jk/pack-corruption-post-mortem:
howto: add article on recovering a corrupted object

Merge branch 'jk/for-each-ref-skip-parsing'Junio C Hamano Fri, 1 Nov 2013 14:38:41 +0000 (07:38 -0700)

Merge branch 'jk/for-each-ref-skip-parsing'

* jk/for-each-ref-skip-parsing:
for-each-ref: avoid loading objects to print %(objectname)

Merge branch 'ap/remote-hg-unquote-cquote'Junio C Hamano Fri, 1 Nov 2013 14:38:35 +0000 (07:38 -0700)

Merge branch 'ap/remote-hg-unquote-cquote'

A fast-import stream expresses a pathname with funny characters by
quoting them in C style; remote-hg remote helper forgot to unquote
such a path.

* ap/remote-hg-unquote-cquote:
remote-hg: unquote C-style paths when exporting

Merge branch 'jl/submodule-mv'Junio C Hamano Fri, 1 Nov 2013 14:38:26 +0000 (07:38 -0700)

Merge branch 'jl/submodule-mv'

Moving a regular file in a repository with a .gitmodules file was
producing a warning 'Could not find section in .gitmodules where
path=<filename>'.

* jl/submodule-mv:
mv: Fix spurious warning when moving a file in presence of submodules

rev-parse --parseopt: add the --stuck-long modeNicolas Vigier Thu, 31 Oct 2013 11:08:29 +0000 (12:08 +0100)

rev-parse --parseopt: add the --stuck-long mode

Add the --stuck-long option to output the options in their long form
if available, and with their arguments stuck.

Contrary to the default form (non stuck arguments and short options),
this can be parsed unambiguously when using options with optional
arguments :

- in the non stuck form, when an option is taking an optional argument
you cannot know if the next argument is its optional argument, or the
next option.

- the long options form allows to differentiate between an empty argument
'--option=' and an unset argument '--option', which is not possible
with short options.

Signed-off-by: Nicolas Vigier <boklm@mars-attacks.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use the word 'stuck' instead of 'sticked'Nicolas Vigier Thu, 31 Oct 2013 11:08:28 +0000 (12:08 +0100)

Use the word 'stuck' instead of 'sticked'

The past participle of 'stick' is 'stuck'.

Signed-off-by: Nicolas Vigier <boklm@mars-attacks.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: restore a space in unpack-objects usageVivien Didelot Thu, 31 Oct 2013 21:41:11 +0000 (17:41 -0400)

Documentation: restore a space in unpack-objects usage

The commit 87b7b84 removed a space in the unpack-objects usage, which
makes the synopsis a bit confusing. This patch simply restores it.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

setup: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:46 +0000 (03:25 -0600)

setup: trivial style fixes

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

run-command: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:45 +0000 (03:25 -0600)

run-command: trivial style fixes

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:44 +0000 (03:25 -0600)

diff: trivial style fix

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

revision: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:43 +0000 (03:25 -0600)

revision: trivial style fixes

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pretty: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:42 +0000 (03:25 -0600)

pretty: trivial style fix

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

describe: trivial style fixesFelipe Contreras Thu, 31 Oct 2013 09:25:41 +0000 (03:25 -0600)

describe: trivial style fixes

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

transport-helper: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:40 +0000 (03:25 -0600)

transport-helper: trivial style fix

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1-name: trivial style cleanupFelipe Contreras Thu, 31 Oct 2013 09:25:39 +0000 (03:25 -0600)

sha1-name: trivial style cleanup

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

branch: trivial style fixFelipe Contreras Thu, 31 Oct 2013 09:25:38 +0000 (03:25 -0600)

branch: trivial style fix

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

revision: add missing includeFelipe Contreras Thu, 31 Oct 2013 09:25:36 +0000 (03:25 -0600)

revision: add missing include

Otherwise we might not have 'struct diff_options'.

[jc: needs a matching follow-up patch to remove inclusion of diff.h
from *.c files that do not themselves use anything from diff.h]

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

doc/pull: clarify the illustrationsJunio C Hamano Thu, 31 Oct 2013 20:43:35 +0000 (13:43 -0700)

doc/pull: clarify the illustrations

The second illustration that shows the history after "git pull"
spelled the remote-tracking branch with "remotes/" prefix, which
is not necessary. Drop it.

To match the assumption that a remote-tracking branch is used to
keep track of the advancement of the master at the origin, update
the first illustration that shows the history before "git pull"
to show the distinction between the master currently at origin and
the stale origin/master remote-tracking branch.

Noticed-by: Felipe Contreras <felipe.contreras@gmail.com>
Helped-by: Max Horn <max@quendi.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

transport-helper: don't update refs in dry-runFelipe Contreras Thu, 31 Oct 2013 09:36:37 +0000 (03:36 -0600)

transport-helper: don't update refs in dry-run

The remote helper namespace should not be updated.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

transport-helper: mismerge fixFelipe Contreras Thu, 31 Oct 2013 09:36:29 +0000 (03:36 -0600)

transport-helper: mismerge fix

Commit 9c51558 (transport-helper: trivial code shuffle) moved these
lines above, but 99d9ec0 (Merge branch 'fc/transport-helper-no-refspec')
had a wrong merge conflict and readded them.

Reported-by: Richard Hansen <rhansen@bbn.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t: replace pulls with mergesFelipe Contreras Thu, 31 Oct 2013 09:25:33 +0000 (03:25 -0600)

t: replace pulls with merges

This is what the code intended.

No functional changes.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge: simplify ff-only optionFelipe Contreras Thu, 31 Oct 2013 09:25:32 +0000 (03:25 -0600)

merge: simplify ff-only option

No functional changes.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix '\%o' for printf from coreutilsKacper Kornet Thu, 31 Oct 2013 11:51:32 +0000 (12:51 +0100)

Fix '\%o' for printf from coreutils

The printf utility provided by coreutils when interpreting '\%o' format
does not recognize %o as formatting directive. For example
printf '\%o 0 returns \%o and warning: ignoring excess arguments,
starting with ‘0’, which results in failed tests in
t5309-pack-delta-cycles.sh. In most shells the test ends with success as
the printf is a builtin utility.

Fix it by using '\\%o' which is interpreted consistently in all versions
of printf.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote-curl: fix large pushes with GSSAPIBrian M. Carlson Thu, 31 Oct 2013 06:36:51 +0000 (02:36 -0400)

remote-curl: fix large pushes with GSSAPI

Due to an interaction between the way libcurl handles GSSAPI
authentication over HTTP and the way git uses libcurl, large
pushes (those over http.postBuffer bytes) would fail due to
an authentication failure requiring a rewind of the curl
buffer. Such a rewind was not possible because the data did
not fit into the entire buffer.

Enable the use of the Expect: 100-continue header for large
requests where the server offers GSSAPI authentication to
avoid this issue, since the request would otherwise fail.
This allows git to get the authentication data right before
sending the pack contents. Existing cases where pushes
would succeed, including small requests using GSSAPI, still
disable the use of 100 Continue, as it causes problems for
some remote HTTP implementations (servers and proxies).

Signed-off-by: Brian M. Carlson <sandals@crustytoothpaste.net>
Signed-off-by: Jeff King <peff@peff.net>

remote-curl: pass curl slot_results back through run_slotJeff King Thu, 31 Oct 2013 06:36:26 +0000 (02:36 -0400)

remote-curl: pass curl slot_results back through run_slot

Some callers may want to know more than just the integer
error code we return. Let them optionally pass a
slot_results struct to fill in (or NULL if they do not
care). In either case we continue to return the integer
code.

We can also give probe_rpc the same treatment (since it
builds directly on run_slot).

Signed-off-by: Jeff King <peff@peff.net>

http: return curl's AUTHAVAIL via slot_resultsJeff King Thu, 31 Oct 2013 06:35:31 +0000 (02:35 -0400)

http: return curl's AUTHAVAIL via slot_results

Callers of the http code may want to know which auth types
were available for the previous request. But after finishing
with the curl slot, they are not supposed to look at the
curl handle again. We already handle returning other
information via the slot_results struct; let's add a flag to
check the available auth.

Note that older versions of curl did not support this, so we
simply return 0 (something like "-1" would be worse, as the
value is a bitflag and we might accidentally set a flag).
This is sufficient for the callers planned in this series,
who only trigger some optional behavior if particular bits
are set, and can live with a fake "no bits" answer.

Signed-off-by: Jeff King <peff@peff.net>

gitk: Tag display improvementsPaul Mackerras Wed, 2 Jan 2013 23:10:31 +0000 (10:10 +1100)

gitk: Tag display improvements

When a commit has many tags, the tag icons in the graph display can
easily become so wide as to push the commit message off the right-hand
edge of the graph display pane. This changes the display so that if
there are more than 3 tags or they would take up more than a quarter
of the width of the pane, we instead display a single tag icon with
a legend inside it like "4 tags...". If the user clicks on the tag
icon, gitk then displays all the tags in the diff display pane.

Signed-off-by: Paul Mackerras <paulus@samba.org>

fetch: improve the error messages emitted for conflicti... Michael Haggerty Wed, 30 Oct 2013 05:33:12 +0000 (06:33 +0100)

fetch: improve the error messages emitted for conflicting refspecs

If we find two refspecs that want to update the same local reference,
emit an error message that is more informative based on whether one of
the conflicting refspecs is an opportunistic update during a fetch
with explicit command-line refspecs. And especially, do not die if an
opportunistic reference update conflicts with an express wish of the
user; rather, just emit a warning and skip the opportunistic reference
update.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

handle_duplicate(): mark error message for translationMichael Haggerty Wed, 30 Oct 2013 05:33:11 +0000 (06:33 +0100)

handle_duplicate(): mark error message for translation

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ref_remote_duplicates(): extract a function handle_dupl... Michael Haggerty Wed, 30 Oct 2013 05:33:10 +0000 (06:33 +0100)

ref_remote_duplicates(): extract a function handle_duplicate()

It will become more complex in a moment.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ref_remove_duplicates(): simplify loop logicMichael Haggerty Wed, 30 Oct 2013 05:33:09 +0000 (06:33 +0100)

ref_remove_duplicates(): simplify loop logic

Change the loop body into the more straightforward

* remove item from the front of the old list
* if necessary, add it to the tail of the new list

and return a pointer to the new list (even though it is currently
always the same as the input argument, because the first element in
the list is currently never deleted).

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5536: new test of refspec conflicts when fetchingMichael Haggerty Wed, 30 Oct 2013 05:33:08 +0000 (06:33 +0100)

t5536: new test of refspec conflicts when fetching

Add some tests that "git fetch" handles refspec conflicts (i.e., when
the same local reference should be updated from two different remote
references) correctly.

There is a small bug when updating references opportunistically,
namely that an explicit user wish like

git fetch origin \
refs/heads/branch1:refs/remotes/origin/branch2 \
refs/heads/branch2:refs/remotes/origin/branch1

should override a configured refspec like

+refs/heads/*:refs/remotes/origin/*

The current code incorrectly treats this as a fatal error.

In a few commits we will improve the error messages for refspec
conflicts in general and also turn this buggy fatal error into a
warning.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ref_remove_duplicates(): avoid redundant bisectionMichael Haggerty Wed, 30 Oct 2013 05:33:07 +0000 (06:33 +0100)

ref_remove_duplicates(): avoid redundant bisection

The old code called string_list_lookup(), and if that failed called
string_list_insert(), thus doing the bisection search through the
string list twice in the latter code path.

Instead, just call string_list_insert() right away. If an entry for
that peer reference name already existed, then its util pointer is
always non-NULL.

Of course this doesn't change the fact that the repeated
string_list_insert() calls make the function scale like O(N^2) if the
input reference list is not already approximately sorted.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-fetch.txt: improve description of tag auto-followingMichael Haggerty Wed, 30 Oct 2013 05:33:06 +0000 (06:33 +0100)

git-fetch.txt: improve description of tag auto-following

Make it clearer that tags are fetched independent of which branches
were fetched from the remote in any particular fetch. (Tags are even
fetched if they point at objects that are in the current repository
but not reachable, which is probably a bug.)

Put less emphasis on the mechanism and more on the effect of tag
auto-following. Also mention the options and configuration settings
that can change the tag-fetching behavior.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch-options.txt: simplify ifdef/ifndef/endif usageMichael Haggerty Wed, 30 Oct 2013 05:33:05 +0000 (06:33 +0100)

fetch-options.txt: simplify ifdef/ifndef/endif usage

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch, remote: properly convey --no-prune options to... Michael Haggerty Wed, 30 Oct 2013 05:33:04 +0000 (06:33 +0100)

fetch, remote: properly convey --no-prune options to subprocesses

If --no-prune is passed to one of the following commands:

git fetch --all
git fetch --multiple
git fetch --recurse-submodules
git remote update

then it must also be passed to the "fetch" subprocesses that those
commands use to do their work. Otherwise there might be a fetch.prune
or remote.<name>.prune configuration setting that causes pruning to
occur, contrary to the user's express wish.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/remote.c:update(): use struct argv_arrayMichael Haggerty Wed, 30 Oct 2013 05:33:03 +0000 (06:33 +0100)

builtin/remote.c:update(): use struct argv_array

Use struct argv_array for calling the "git fetch" subprocesses.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/remote.c: reorder function definitionsMichael Haggerty Wed, 30 Oct 2013 05:33:02 +0000 (06:33 +0100)

builtin/remote.c: reorder function definitions

Reorder function definitions to remove the need for forward
declarations.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

query_refspecs(): move some constants out of the loopMichael Haggerty Wed, 30 Oct 2013 05:33:01 +0000 (06:33 +0100)

query_refspecs(): move some constants out of the loop

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch --prune: prune only based on explicit refspecsMichael Haggerty Wed, 30 Oct 2013 05:33:00 +0000 (06:33 +0100)

fetch --prune: prune only based on explicit refspecs

The old behavior of "fetch --prune" was to prune whatever was being
fetched. In particular, "fetch --prune --tags" caused tags not only
to be fetched, but also to be pruned. This is inappropriate because
there is only one tags namespace that is shared among the local
repository and all remotes. Therefore, if the user defines a local
tag and then runs "git fetch --prune --tags", then the local tag is
deleted. Moreover, "--prune" and "--tags" can also be configured via
fetch.prune / remote.<name>.prune and remote.<name>.tagopt, making it
even less obvious that an invocation of "git fetch" could result in
tag lossage.

Since the command "git remote update" invokes "git fetch", it had the
same problem.

The command "git remote prune", on the other hand, disregarded the
setting of remote.<name>.tagopt, and so its behavior was inconsistent
with that of the other commands.

So the old behavior made it too easy to lose tags. To fix this
problem, change "fetch --prune" to prune references based only on
refspecs specified explicitly by the user, either on the command line
or via remote.<name>.fetch. Thus, tags are no longer made subject to
pruning by the --tags option or the remote.<name>.tagopt setting.

However, tags *are* still subject to pruning if they are fetched as
part of a refspec, and that is good. For example:

* On the command line,

git fetch --prune 'refs/tags/*:refs/tags/*'

causes tags, and only tags, to be fetched and pruned, and is
therefore a simple way for the user to get the equivalent of the old
behavior of "--prune --tag".

* For a remote that was configured with the "--mirror" option, the
configuration is set to include

[remote "name"]
fetch = +refs/*:refs/*

, which causes tags to be subject to pruning along with all other
references. This is the behavior that will typically be desired for
a mirror.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch --tags: fetch tags *in addition to* other stuffMichael Haggerty Wed, 30 Oct 2013 05:32:59 +0000 (06:32 +0100)

fetch --tags: fetch tags *in addition to* other stuff

Previously, fetch's "--tags" option was considered equivalent to
specifying the refspec "refs/tags/*:refs/tags/*" on the command line;
in particular, it caused the remote.<name>.refspec configuration to be
ignored.

But it is not very useful to fetch tags without also fetching other
references, whereas it *is* quite useful to be able to fetch tags *in
addition to* other references. So change the semantics of this option
to do the latter.

If a user wants to fetch *only* tags, then it is still possible to
specifying an explicit refspec:

git fetch <remote> 'refs/tags/*:refs/tags/*'

Please note that the documentation prior to 1.8.0.3 was ambiguous
about this aspect of "fetch --tags" behavior. Commit

f0cb2f137c 2012-12-14 fetch --tags: clarify documentation

made the documentation match the old behavior. This commit changes
the documentation to match the new behavior.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch: only opportunistically update references based... Michael Haggerty Wed, 30 Oct 2013 05:32:58 +0000 (06:32 +0100)

fetch: only opportunistically update references based on command line

The old code processed (tags == TAGS_SET) before adding the entries
used to opportunistically update references mentioned on the command
line. The result was that all tags were also considered candidates
for opportunistic updating.

This is harmless for two reasons: (a) because it would only add
entries if there is a configured refspec that covers tags *and* both
--tags and another refspec appear on the command-line; (b) because any
extra entries would be deleted later by the call to
ref_remove_duplicates() anyway.

But, to avoid extra work and extra memory usage, and to make the
implementation better match the intention, change the algorithm
slightly: compute the opportunistic refspecs based only on the
command-line arguments, storing the results into a separate temporary
list. Then add the tags (which have to come earlier in the list so
that they are not de-duped in favor of an opportunistic entry). Then
concatenate the temporary list onto the main list.

This change will also make later changes easier.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

get_expanded_map(): avoid memory leakMichael Haggerty Wed, 30 Oct 2013 05:32:57 +0000 (06:32 +0100)

get_expanded_map(): avoid memory leak

The old code could leak *expn_name if match_name_with_pattern()
succeeded but ignore_symref_update() returned true. So make sure that
*expn_name is freed in any case.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

get_expanded_map(): add docstringMichael Haggerty Wed, 30 Oct 2013 05:32:56 +0000 (06:32 +0100)

get_expanded_map(): add docstring

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/fetch.c: reorder function definitionsMichael Haggerty Wed, 30 Oct 2013 05:32:55 +0000 (06:32 +0100)

builtin/fetch.c: reorder function definitions

Reorder function definitions to avoid the need for a forward
declaration of function find_non_local_tags().

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

web--browse: Add support for xdg-openRüdiger Sonderfeld Sat, 26 Oct 2013 17:43:54 +0000 (19:43 +0200)

web--browse: Add support for xdg-open

xdg-open is a tool similar to git-web--browse. It opens a file or URL in the
user's preferred application. It could probably be made default at least on
Linux with a graphical environment.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3200: do not open a HTML manual page when DEFAULT_MAN_... Johannes Sixt Sat, 26 Oct 2013 18:48:46 +0000 (20:48 +0200)

t3200: do not open a HTML manual page when DEFAULT_MAN_FORMAT is html

We have the build configuration option DEFAULT_MAN_FORMAT to choose a
format different from man pages to be used by 'git help' when no format
is requested explicitly. Since 65db0443 (Set the default help format to
html for msys builds, 2013-06-04) we use html on Windows by default.

There is one test in t3200-branch.sh that invokes a help page. The
intent of the redirections applied to the command invocation is to avoid
that the man page viewer interferes with the automated test. But when
the default format is not "man", this does not have the intended effect,
and the HTML manual page is opened during the test run. Request "man"
format explicitly to keep the test silent.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.8.5-rc0 v1.8.5-rc0Junio C Hamano Wed, 30 Oct 2013 19:17:47 +0000 (12:17 -0700)

Git 1.8.5-rc0

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

Merge branch 'maint'Junio C Hamano Wed, 30 Oct 2013 19:11:22 +0000 (12:11 -0700)

Merge branch 'maint'

* maint:
t5570: Update for clone-progress-to-stderr branch

Merge branch 'jk/refs-c-squelch-gcc'Junio C Hamano Wed, 30 Oct 2013 19:11:03 +0000 (12:11 -0700)

Merge branch 'jk/refs-c-squelch-gcc'

* jk/refs-c-squelch-gcc:
silence gcc array-bounds warning