Jeff King [Wed, 2 May 2012 23:43:52 +0000 (19:43 -0400)]
doc/config: fix inline literals
Since commit
6cf378f, asciidoc backticks are now inline
literals; therefore quoting {tilde} inside them is wrong
(this instance was missed in
6cf378f because it happened on
a parallel line of development).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 2 May 2012 21:11:36 +0000 (14:11 -0700)]
The eighth batch of topics graduated to 'master'
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 2 May 2012 21:38:29 +0000 (14:38 -0700)]
Merge branch 'master' of git://git.bogomips.org/git-svn
via Eric Wong
* 'master' of git://git.bogomips.org/git-svn:
git-svn: introduce SVN version comparison function
Junio C Hamano [Wed, 2 May 2012 20:54:58 +0000 (13:54 -0700)]
Merge branch 'tr/xdiff-fast-hash'
Use word-at-a-time comparison to find end of line or NUL (end of buffer),
borrowed from the linux-kernel discussion.
By Thomas Rast
* tr/xdiff-fast-hash:
xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE
xdiff: load full words in the inner loop of xdl_hash_record
Junio C Hamano [Wed, 2 May 2012 20:53:40 +0000 (13:53 -0700)]
Merge branch 'jk/maint-gitweb-test-use-sane-perl'
When using a Perl script on a system where "perl" found on user's $PATH
could be ancient or otherwise broken, we allow builders to specify the
path to a good copy of Perl with $PERL_PATH. The gitweb test forgot to
use that Perl when running its test.
By Jeff King (1) and Zbigniew Jędrzejewski-Szmek (1)
* jk/maint-gitweb-test-use-sane-perl:
Consistently use perl from /usr/bin/ for scripts
t/gitweb-lib: use $PERL_PATH to run gitweb
Junio C Hamano [Wed, 2 May 2012 20:53:35 +0000 (13:53 -0700)]
Merge branch 'pw/message-cleanup'
Many error/warning messages had extra trailing newlines that are
unnecessary.
By Pete Wyckoff
* pw/message-cleanup:
remove blank filename in error message
remove superfluous newlines in error messages
Junio C Hamano [Wed, 2 May 2012 20:53:28 +0000 (13:53 -0700)]
Merge branch 'zj/diff-stat-smaller-num-columns'
Spend only minimum number of columns necessary to show the number of lines
in the output from "diff --stat", instead of always allocating 4 columns
even when showing changes that are much smaller than 1000 lines.
By Zbigniew Jędrzejewski-Szmek
* zj/diff-stat-smaller-num-columns:
diff --stat: use less columns for change counts
Junio C Hamano [Wed, 2 May 2012 20:53:23 +0000 (13:53 -0700)]
Merge branch 'pw/p4-various'
Miscellaneous updates to "git p4".
By Pete Wyckoff
* pw/p4-various:
git p4: submit files with wildcards
git p4: fix writable file after rename or copy
git p4: test submit
git p4: bring back files in deleted client directory
Junio C Hamano [Wed, 2 May 2012 20:53:15 +0000 (13:53 -0700)]
Merge branch 'jc/rerere-train'
A script written long time ago proved to be useful this week for me ;-)
with a minor tweak.
* jc/rerere-train:
contrib/rerere-train: use installed git-sh-setup
Junio C Hamano [Wed, 2 May 2012 20:53:02 +0000 (13:53 -0700)]
Merge branch 'ab/i18n'
Fix some constructs that build messages meant for i18n by concatenating
pieces of strings.
By Ævar Arnfjörð Bjarmason
* ab/i18n:
git-commit: remove lego in i18n messages
git-commit: remove lego in i18n messages
git-branch: remove lego in i18n messages
Junio C Hamano [Wed, 2 May 2012 20:51:59 +0000 (13:51 -0700)]
Merge branch 'lp/diffstat-with-graph'
"log --graph" was not very friendly with "--stat" option and its output
had line breaks at wrong places.
By Lucian Poston (5) and Zbigniew Jędrzejewski-Szmek (2)
* lp/diffstat-with-graph:
t4052: work around shells unable to set COLUMNS to 1
Prevent graph_width of stat width from falling below min
t4052: Test diff-stat output with minimum columns
t4052: Adjust --graph --stat output for prefixes
Adjust stat width calculations to take --graph output into account
Add output_prefix_length to diff_options
t4052: test --stat output with --graph
Junio C Hamano [Wed, 2 May 2012 20:51:53 +0000 (13:51 -0700)]
Merge branch 'zj/mksh-columns-breakage'
A broken shell may not let us set an environment value to an arbitrary
value, interfering with some of the tests. Introduce a test prerequisite
so that we can skip some tests on such a platform.
By Zbigniew Jędrzejewski-Szmek
* zj/mksh-columns-breakage:
test-lib: skip test with COLUMNS=1 under mksh
Junio C Hamano [Wed, 2 May 2012 20:51:45 +0000 (13:51 -0700)]
Merge branch 'jk/doc-asciidoc-inline-literal'
Our documentation was written for an ancient version of AsciiDoc,
making the source not very readable.
By Jeff King
* jk/doc-asciidoc-inline-literal:
docs: stop using asciidoc no-inline-literal
Junio C Hamano [Wed, 2 May 2012 20:51:35 +0000 (13:51 -0700)]
Merge branch 'nd/i18n'
More message strings marked for i18n.
By Nguyễn Thái Ngọc Duy (10) and Jonathan Nieder (1)
* nd/i18n:
help: replace underlining "help -a" headers using hyphens with a blank line
i18n: bundle: mark strings for translation
i18n: index-pack: mark strings for translation
i18n: apply: update say_patch_name to give translators complete sentence
i18n: apply: mark strings for translation
i18n: remote: mark strings for translation
i18n: make warn_dangling_symref() automatically append \n
i18n: help: mark strings for translation
i18n: mark relative dates for translation
strbuf: convenience format functions with \n automatically appended
Makefile: feed all header files to xgettext
Junio C Hamano [Wed, 2 May 2012 20:51:24 +0000 (13:51 -0700)]
Merge branch 'mm/simple-push'
New users tend to work on one branch at a time and push the result
out. The current and upstream modes of push is a more suitable default
mode than matching mode for these people, but neither is surprise-free
depending on how the project is set up. Introduce a "simple" mode that
is a subset of "upstream" but only works when the branch is named the same
between the remote and local repositories.
The plan is to make it the new default when push.default is not
configured.
By Matthieu Moy (5) and others
* mm/simple-push:
push.default doc: explain simple after upstream
push: document the future default change for push.default (matching -> simple)
t5570: use explicit push refspec
push: introduce new push.default mode "simple"
t5528-push-default.sh: add helper functions
Undocument deprecated alias 'push.default=tracking'
Documentation: explain push.default option a bit more
Junio C Hamano [Wed, 2 May 2012 20:51:13 +0000 (13:51 -0700)]
Merge branch 'jc/index-v4'
Trivially shrinks the on-disk size of the index file to save both I/O and
checksum overhead.
The topic should give a solid base to build on further updates, with the
code refactoring in its earlier parts, and the backward compatibility
mechanism in its later parts.
* jc/index-v4:
index-v4: document the entry format
unpack-trees: preserve the index file version of original
update-index: upgrade/downgrade on-disk index version
read-cache.c: write prefix-compressed names in the index
read-cache.c: read prefix-compressed names in index on-disk version v4
read-cache.c: move code to copy incore to ondisk cache to a helper function
read-cache.c: move code to copy ondisk to incore cache to a helper function
read-cache.c: report the header version we do not understand
read-cache.c: make create_from_disk() report number of bytes it consumed
read-cache.c: allow unaligned mapping of the index file
cache.h: hide on-disk index details
varint: make it available outside the context of pack
Junio C Hamano [Wed, 2 May 2012 19:53:50 +0000 (19:53 +0000)]
git-svn: introduce SVN version comparison function
With double-digit version components in SVN::Core::VERSION,
a naive string comparison is no longer sufficient and
a numeric comparison is required for correct results.
This fixes a regression introduced in
commit
082afee621aeb2d3746c8ae290af98823f981f34
("git-svn: use platform specific auth providers")
where SVN version "1.6.6" was incorrectly assumed to
be newer than the required "1.6.12" version.
[mk: fix namespace references]
[ew: commit message]
Tested-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 2 May 2012 04:22:35 +0000 (21:22 -0700)]
Merge branch 'master' of https://github.com/git-l10n/git-po
By Jiang Xin (2) and Ralf Thielow (1)
via Jiang Xin
* 'master' of https://github.com/git-l10n/git-po:
l10n: Update German translation
l10n: Update Simplified Chinese translation
l10n: Update git.pot (33 new, 24 deleted messages)
Junio C Hamano [Wed, 2 May 2012 04:20:46 +0000 (21:20 -0700)]
Sync with v1.7.10.1
Junio C Hamano [Wed, 2 May 2012 04:18:44 +0000 (21:18 -0700)]
Git 1.7.10.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 2 May 2012 04:12:46 +0000 (21:12 -0700)]
Merge branch 'pw/fast-import-dataref-parsing' into maint
The parser in "fast-import" did not diagnose ":9" style references that is
not followed by required SP/LF as an error.
By Pete Wyckoff
* pw/fast-import-dataref-parsing:
fast-import: tighten parsing of datarefs
Junio C Hamano [Wed, 2 May 2012 04:12:36 +0000 (21:12 -0700)]
Merge branch 'it/fetch-pack-many-refs' into maint
When "git fetch" encounters repositories with too many references, the
command line of "fetch-pack" that is run by a helper e.g. remote-curl, may
fail to hold all of them. Now such an internal invocation can feed the
references through the standard input of "fetch-pack".
By Ivan Todoroski
* it/fetch-pack-many-refs:
remote-curl: main test case for the OS command line overflow
fetch-pack: test cases for the new --stdin option
remote-curl: send the refs to fetch-pack on stdin
fetch-pack: new --stdin option to read refs from stdin
Conflicts:
t/t5500-fetch-pack.sh
Junio C Hamano [Wed, 2 May 2012 04:12:25 +0000 (21:12 -0700)]
Merge branch 'jl/maint-submodule-recurse-fetch' into maint
"git fetch" that recurses into submodules on demand did not check if it
needs to go into submodules when non branches (most notably, tags) are
fetched.
By Jens Lehmann
* jl/maint-submodule-recurse-fetch:
submodules: recursive fetch also checks new tags for submodule commits
Junio C Hamano [Wed, 2 May 2012 04:11:49 +0000 (21:11 -0700)]
Merge branch 'jc/maint-blame-minimal' into maint
"git blame" started missing quite a few changes from the origin since we
stopped using the diff minimalization by default in v1.7.2 era.
Teach "--minimal" option to "git blame" to work around this regression.
* jc/maint-blame-minimal:
blame: accept --need-minimal
Junio C Hamano [Wed, 2 May 2012 04:11:40 +0000 (21:11 -0700)]
Merge branch 'lp/maint-diff-three-dash-with-graph' into maint
"log -p --graph" used with "--stat" had a few formatting error.
By Lucian Poston
* lp/maint-diff-three-dash-with-graph:
t4202: add test for "log --graph --stat -p" separator lines
log --graph: fix break in graph lines
log --graph --stat: three-dash separator should come after graph lines
Junio C Hamano [Wed, 2 May 2012 04:11:26 +0000 (21:11 -0700)]
Merge branch 'jk/rebase-i-submodule-conflict-only' into maint
Giving "--continue" to a conflicted "rebase -i" session skipped a
commit that only results in changes to submodules.
By John Keeping
* jk/rebase-i-submodule-conflict-only:
rebase -i continue: don't skip commits that only change submodules
Junio C Hamano [Wed, 2 May 2012 04:09:46 +0000 (21:09 -0700)]
Merge branch 'maint' of https://github.com/git-l10n/git-po
By Byrial Jensen (2) and others
via Jiang Xin (1) and Ralf Thielow (1)
* 'maint' of https://github.com/git-l10n/git-po:
l10n: Initial German translation
l10n: Update Simplified Chinese translation
l10n: Update git.pot (2 new messages)
l10n: Add the German translation team and initialize de.po
l10n: Add Danish team (da) to list of teams
l10n: New da.po file with 0 translations
l10n: Updated pt_PT language
Ralf Thielow [Sat, 28 Apr 2012 08:28:03 +0000 (10:28 +0200)]
l10n: Update German translation
Translate new messages for git master branch.
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
Jiang Xin [Tue, 1 May 2012 23:30:14 +0000 (07:30 +0800)]
Merge l10n updates from branch 'maint' into master
By Ralf Thielow
* maint:
l10n: Initial German translation
Zbigniew Jędrzejewski-Szmek [Tue, 1 May 2012 20:18:18 +0000 (22:18 +0200)]
Consistently use perl from /usr/bin/ for scripts
While the majority of scripts use '#!/usr/bin/perl', some use
'#!/usr/bin/env perl'. In the end there is no difference, because the
Makefile rewrites "#!.*perl" with "#!$PERL_PATH" in scripted
Porcelains before installing. Nevertheless, the second form can be
misleading, because it suggests that perl found first in $PATH will be
used.
Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Tue, 1 May 2012 10:23:20 +0000 (12:23 +0200)]
xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE
Darwin does not define __WORDSIZE, and compiles the 32-bit code path
on 64-bit systems, resulting in a totally broken git.
I could not find an alternative -- other than the platform symbols
(__x86_64__ etc.) -- that does the test in the preprocessor. However,
we can also just test for the size of a 'long', which is what really
matters here. Any compiler worth its salt will leave only the branch
relevant for its platform, and indeed on Linux/GCC the numbers don't
change:
Test tr/darwin-xdl-fast-hash origin/next origin/master
------------------------------------------------------------------------------------------------------------------
4000.1: log -3000 (baseline) 0.09(0.07+0.01) 0.09(0.07+0.01) -5.5%* 0.09(0.07+0.01) -4.1%
4000.2: log --raw -3000 (tree-only) 0.47(0.41+0.05) 0.47(0.40+0.05) -0.5% 0.45(0.38+0.06) -3.5%.
4000.3: log -p -3000 (Myers) 1.81(1.67+0.12) 1.81(1.67+0.13) +0.3% 1.99(1.84+0.12) +10.2%***
4000.4: log -p -3000 --histogram 1.79(1.66+0.11) 1.80(1.67+0.11) +0.4% 1.96(1.82+0.10) +9.2%***
4000.5: log -p -3000 --patience 2.17(2.02+0.13) 2.20(2.04+0.13) +1.3%. 2.33(2.18+0.13) +7.4%***
------------------------------------------------------------------------------------------------------------------
Significance hints: '.' 0.1 '*' 0.05 '**' 0.01 '***' 0.001
Noticed-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Tue, 1 May 2012 17:55:00 +0000 (13:55 -0400)]
t/gitweb-lib: use $PERL_PATH to run gitweb
The current code runs "perl gitweb.cgi" to test gitweb. This
will use whatever version of perl happens to be first in the
PATH. We are better off using the specific perl that the
user specified via PERL_PATH, which matches what gets put on
the #!-line of the built gitweb.cgi.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ralf Thielow [Mon, 30 Apr 2012 15:55:16 +0000 (17:55 +0200)]
l10n: Initial German translation
Helped-by: Thomas Kuchs
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
Pete Wyckoff [Mon, 30 Apr 2012 00:57:17 +0000 (20:57 -0400)]
git p4: submit files with wildcards
There are four wildcard characters in p4. Files with these
characters can be added to p4 repos using the "-f" option. They
are stored in %xx notation, and when checked out, p4 converts
them back to normal.
When adding files with wildcards in git, the submit path must
be careful to use the encoded names in some places, and it
must use "-f" to add them. All other p4 commands that operate
on the client directory expect encoded filenames as arguments.
Support for wildcards in the clone/sync path was added in
084f630 (git-p4: decode p4 wildcard characters, 2011-02-19),
but that change did not handle the submit path.
There was a problem with wildcards in the sync path too. Commit
084f630 (git-p4: decode p4 wildcard characters, 2011-02-19)
handled files with p4 wildcards that were added or modified in
p4. Do this for deleted files, and also in branch detection
checks, too.
Reported-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pete Wyckoff [Mon, 30 Apr 2012 00:57:16 +0000 (20:57 -0400)]
git p4: fix writable file after rename or copy
The way rename works is with a "p4 integrate", optionally
followed by a "p4 edit" if the change is not a 100% rename.
Contents are generated by applying a patch, not doing a file
system rename. Copy is similar.
In this case, p4 does not fix the permissions back to read-only.
Make sure this happens by calling "p4 sync -f".
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pete Wyckoff [Mon, 30 Apr 2012 00:57:15 +0000 (20:57 -0400)]
git p4: test submit
Try each of the five diff patterns that might happen during submit.
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pete Wyckoff [Mon, 30 Apr 2012 00:57:14 +0000 (20:57 -0400)]
git p4: bring back files in deleted client directory
The code to auto-create the client directory, added in
0591cfa
(git-p4: ensure submit clientPath exists before chdir,
2011-12-09), works when the client directory never existed.
But if the directory is summarily removed without telling p4,
the sync operation will not bring back all the files. Always
do "sync -f" if the client directory is newly created.
Reported-by: Gary Gibbons <ggibbons@perforce.com>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pete Wyckoff [Mon, 30 Apr 2012 00:28:46 +0000 (20:28 -0400)]
remove blank filename in error message
When write_loose_object() finds that it is unable to
create a temporary file, it complains, for instance:
unable to create temporary sha1 filename : Too many open files
That extra space was supposed to be the name of the file,
and will be an empty string if the git_mkstemps_mode() fails.
The name of the temporary file is unimportant; delete it.
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pete Wyckoff [Mon, 30 Apr 2012 00:28:45 +0000 (20:28 -0400)]
remove superfluous newlines in error messages
The error handling routines add a newline. Remove
the duplicate ones in error messages.
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 30 Apr 2012 21:58:16 +0000 (14:58 -0700)]
Merge branch 'ld/git-p4-tags-and-labels'
By Luke Diamand
* ld/git-p4-tags-and-labels:
git p4: fix unit tests
git p4: move verbose to base class
git p4: Ignore P4EDITOR if it is empty
git p4: Squash P4EDITOR in test harness
git p4: fix-up "import/export of labels to/from p4"
git p4: import/export of labels to/from p4
git p4: Fixing script editor checks
Junio C Hamano [Mon, 30 Apr 2012 21:58:00 +0000 (14:58 -0700)]
Merge branch 'nh/empty-rebase'
"git rebase" learned to optionally keep commits that do not introduce
any change in the original history.
By Neil Horman
* nh/empty-rebase:
git-rebase: add keep_empty flag
git-cherry-pick: Add test to validate new options
git-cherry-pick: Add keep-redundant-commits option
git-cherry-pick: add allow-empty option
Junio C Hamano [Mon, 30 Apr 2012 21:46:46 +0000 (14:46 -0700)]
Merge branch 'jk/maint-config-bogus-section'
"git config --rename-section" to rename an existing section into a
bogus one did not check the new name.
By Jeff King
* jk/maint-config-bogus-section:
config: reject bogus section names for --rename-section
Zbigniew Jędrzejewski-Szmek [Mon, 30 Apr 2012 20:38:58 +0000 (22:38 +0200)]
diff --stat: use less columns for change counts
Number of columns required for change counts is now computed based on
the maximum number of changed lines instead of being fixed. This means
that usually a few more columns will be available for the filenames
and the graph.
The graph width logic is also modified to include enough space for
"Bin XXX -> YYY bytes".
If changes to binary files are mixed with changes to text files,
change counts are padded to take at least three columns. And the other
way around, if change counts require more than three columns, then
"Bin"s are padded to align with the change count. This way, the +-
part starts in the same column as "XXX -> YYY" part for binary files.
This makes the graph easier to parse visually thanks to the empty
column. This mimics the layout of diff --stat before this change.
Tests and the tutorial are updated to reflect the new --stat output.
This means either the removal of extra padding and/or the addition of
up to three extra characters to truncated filenames. One test is added
to check the graph alignment when a binary file change and text file
change of more than 999 lines are committed together.
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 30 Apr 2012 19:46:30 +0000 (12:46 -0700)]
contrib/rerere-train: use installed git-sh-setup
Instead of sourcing git-sh-setup from random place that is on the $PATH,
explicitly source $(git --exec-path)/git-sh-setup. As I do not personally
have any libexec/git-core directory on my $PATH like many other people, the
script will fail without this update.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Mon, 30 Apr 2012 15:33:14 +0000 (15:33 +0000)]
git-commit: remove lego in i18n messages
Change the "Please enter the commit message for your changes." and the
subsequent blurb of text not to be split up. This makes translating it
much easier.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Mon, 30 Apr 2012 15:33:13 +0000 (15:33 +0000)]
git-commit: remove lego in i18n messages
Remove the whence_s() function and messages that depend on it, in favor of
messages that use either "merge" or "cherry-pick" directly.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Mon, 30 Apr 2012 15:33:12 +0000 (15:33 +0000)]
git-branch: remove lego in i18n messages
Instead of making translators translate "remote " and then using
"%sbranch" where "%s" is either "remote " or "" just split the two up
into separate messages. This makes the translation of this section of
git-branch much less confusing.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 30 Apr 2012 01:00:47 +0000 (18:00 -0700)]
The seventh batch of topics graduated to 'master'
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 30 Apr 2012 00:52:02 +0000 (17:52 -0700)]
Merge branch 'js/daemon-test-race-fix'
The shell construct to launch git-daemon and wait for it to start
serving during the test was faulty, and this fixes it.
By Johannes Sixt
* js/daemon-test-race-fix:
t5570: fix forwarding of git-daemon messages via cat
Junio C Hamano [Mon, 30 Apr 2012 00:52:00 +0000 (17:52 -0700)]
Merge branch 'kk/gitweb-omit-expensive'
"gitweb" learned to optionally omit output of fields that are expensive
to generate.
By Kacper Kornet
* kk/gitweb-omit-expensive:
gitweb: Option to not display information about owner
gitweb: Option to omit column with time of the last change
Junio C Hamano [Mon, 30 Apr 2012 00:51:56 +0000 (17:51 -0700)]
Merge branch 'kk/maint-gitweb-missing-owner'
By Kacper Kornet
* kk/maint-gitweb-missing-owner:
gitweb: Don't set owner if got empty value from projects.list
Junio C Hamano [Mon, 30 Apr 2012 00:51:30 +0000 (17:51 -0700)]
Merge branch 'rs/commit-list-append'
There is no need for "commit_list_reverse()" function that only invites
inefficient code.
By René Scharfe
* rs/commit-list-append:
commit: remove commit_list_reverse()
revision: append to list instead of insert and reverse
sequencer: export commit_list_append()
Junio C Hamano [Mon, 30 Apr 2012 00:51:27 +0000 (17:51 -0700)]
Merge branch 'mm/include-userpath'
The new "include.path" directive in the configuration files learned
to understand "~/path" and "~user/path".
By Jeff King
* mm/include-userpath:
config: expand tildes in include.path variable
Junio C Hamano [Mon, 30 Apr 2012 00:51:23 +0000 (17:51 -0700)]
Merge branch 'pw/t5800-import-race-fix'
Longstanding bug in a test scaffolding that occasionally made t5800
hang was fixed.
By Pete Wyckoff
* pw/t5800-import-race-fix:
git-remote-testgit: fix race when spawning fast-import
Junio C Hamano [Mon, 30 Apr 2012 00:50:27 +0000 (17:50 -0700)]
Merge branch 'jk/repack-no-explode-objects-from-old-pack'
Avoid writing out unreachable objects as loose objects when repacking,
if such loose objects will immediately pruned due to its age anyway.
By Jeff King
* jk/repack-no-explode-objects-from-old-pack:
gc: use argv-array for sub-commands
argv-array: add a new "pushl" method
argv-array: refactor empty_argv initialization
gc: do not explode objects which will be immediately pruned
Jeff King [Wed, 25 Apr 2012 12:00:36 +0000 (08:00 -0400)]
config: expand tildes in include.path variable
You can already use relative paths in include.path, which
means that including "foo" from your global "~/.gitconfig"
will look in your home directory. However, you might want to
do something clever like putting "~/.gitconfig-foo" in a
specific repository's config file.
Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 30 Apr 2012 00:00:42 +0000 (17:00 -0700)]
Merge git://git.bogomips.org/git-svn
By Matthijs Kooijman
via Eric Wong
* git://git.bogomips.org/git-svn:
git-svn: use platform specific auth providers
Jiang Xin [Sun, 29 Apr 2012 16:06:55 +0000 (00:06 +0800)]
l10n: Update Simplified Chinese translation
Translate new messages for git master branch.
- sha1_name.c: 4 new messages.
- builtin/push.c: 3 new messages.
- git-submodule.sh: variable name changed from '$path' to '$sm_path'.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Sat, 28 Apr 2012 15:26:36 +0000 (23:26 +0800)]
Merge branch 'maint'
By Jiang Xin
* maint:
l10n: Update Simplified Chinese translation
l10n: Update git.pot (2 new messages)
Jiang Xin [Sat, 28 Apr 2012 14:42:41 +0000 (22:42 +0800)]
l10n: Update Simplified Chinese translation
Translate 2 new messages come from git maint branch.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Sat, 28 Apr 2012 12:35:24 +0000 (20:35 +0800)]
l10n: Update git.pot (2 new messages)
Changes of po/git.pot from v1.7.10 to v1.7.10-55-g868d6
* 2 new l10n messages at lines: 1583, 2730
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Sat, 28 Apr 2012 12:30:50 +0000 (20:30 +0800)]
Merge maint branch for tracking l10n updates of git stable version
Use master branch to track l10n updates for git next release, while
use maint branch to track l10n updates for git stable version.
Jiang Xin [Sat, 28 Apr 2012 12:27:01 +0000 (20:27 +0800)]
l10n: Update git.pot (33 new, 24 deleted messages)
Changes of po/git.pot from v1.7.10 to v1.7.10-382-g62bc8
* 33 new l10n messages at lines:
401, 406, 411, 416, 1602, 1780, 2753, 2766, 2774, 2782, 3403, 3408,
3423, 3428, 3433, 3438, 3443, 3448, 3453, 3458, 3463, 3468, 3473,
3480, 3485, 3490, 3495, 3500, 3505, 3510, 3515, 3520, 3525
* 24 deleted l10n messages at lines:
2740, 3351, 3356, 3371, 3376, 3381, 3386, 3391, 3396, 3401, 3406,
3411, 3416, 3421, 3428, 3433, 3438, 3443, 3448, 3453, 3458, 3463,
3468, 3473
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Sat, 28 Apr 2012 07:54:37 +0000 (15:54 +0800)]
Merge master branch for tracking l10n updates of next release
Use master branch to track l10n updates for git next release, while
use maint branch to track l10n updates for git stable version.
Ralf Thielow [Thu, 26 Apr 2012 06:59:41 +0000 (08:59 +0200)]
l10n: Add the German translation team and initialize de.po
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Fri, 27 Apr 2012 23:02:45 +0000 (16:02 -0700)]
index-v4: document the entry format
Document the format so that others can learn from and build on top of
the series.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 27 Apr 2012 22:58:13 +0000 (15:58 -0700)]
unpack-trees: preserve the index file version of original
Otherwise "git checkout $other_branch" (or even "git checkout HEAD")
would end up writing the index out in the default format.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 27 Apr 2012 21:12:56 +0000 (14:12 -0700)]
The sixth batch of topics graduated to 'master'
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 27 Apr 2012 20:59:20 +0000 (13:59 -0700)]
Merge branch 'jc/merge-reduce-parents-early'
Octopus merge strategy did not reduce heads that are recorded in the
final commit correctly.
By Junio C Hamano (4) and Michał Kiedrowicz (1)
* jc/merge-reduce-parents-early:
fmt-merge-msg: discard needless merge parents
builtin/merge.c: reduce parents early
builtin/merge.c: collect other parents early
builtin/merge.c: remove "remoteheads" global variable
merge tests: octopus with redundant parents
Junio C Hamano [Fri, 27 Apr 2012 20:59:04 +0000 (13:59 -0700)]
Merge branch 'js/fast-import-test-9300'
By Johannes Sixt
* js/fast-import-test-9300:
t9300-fast-import: avoid 'exit' in test_expect_success snippets
Junio C Hamano [Fri, 27 Apr 2012 20:58:53 +0000 (13:58 -0700)]
Merge branch 'rt/cherry-revert-conflict-summary'
In the older days, the header "Conflicts:" in "cherry-pick" and
"merge" was separated by a blank line from the list of paths that
follow for readability, but when "merge" was rewritten in C, we lost
it by mistake. Remove the newline from "cherry-pick" to make them
match again.
By Ralf Thielow
* rt/cherry-revert-conflict-summary:
sequencer: remove additional blank line
Junio C Hamano [Fri, 27 Apr 2012 20:58:43 +0000 (13:58 -0700)]
Merge branch 'cb/maint-report-mount-point-correctly-in-setup'
The filesystem boundary was not correctly reported when .git directory
discovery stopped at a mount point.
By Clemens Buchacher
* cb/maint-report-mount-point-correctly-in-setup:
properly keep track of current working directory
Junio C Hamano [Fri, 27 Apr 2012 20:58:02 +0000 (13:58 -0700)]
Merge branch 'cb/cherry-pick-rev-path-confusion'
The command line parser choked "git cherry-pick $name" when $name can be
both revision name and a pathname, even though $name can never be a path
in the context of the command.
The issue the patch addresses is real, but the way it is implemented felt
unnecessarily invasive a bit. It may be cleaner for this caller to add
the "--" to the end of the argv_array it passes to setup_revisions().
By Clemens Buchacher
* cb/cherry-pick-rev-path-confusion:
cherry-pick: do not expect file arguments
Junio C Hamano [Fri, 27 Apr 2012 20:57:49 +0000 (13:57 -0700)]
Merge branch 'cb/http-multi-curl-auth'
Fixes http authentication breakage when we keep multiple HTTP requests in
flight using curl-multi.
By Jeff King (3) and Clemens Buchacher (1)
* cb/http-multi-curl-auth:
http: use newer curl options for setting credentials
http: clean up leak in init_curl_http_auth
fix http auth with multiple curl handles
http auth fails with multiple curl handles
Zbigniew Jędrzejewski-Szmek [Fri, 27 Apr 2012 09:25:25 +0000 (11:25 +0200)]
t4052: work around shells unable to set COLUMNS to 1
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 27 Apr 2012 16:28:00 +0000 (09:28 -0700)]
Merge branch 'zj/mksh-columns-breakage' into lp/diffstat-with-graph
By Zbigniew Jędrzejewski-Szmek
* zj/mksh-columns-breakage:
test-lib: skip test with COLUMNS=1 under mksh
Zbigniew Jędrzejewski-Szmek [Fri, 27 Apr 2012 09:25:25 +0000 (11:25 +0200)]
test-lib: skip test with COLUMNS=1 under mksh
mksh does not allow $COLUMNS to be set below 12. mksh(1) says that
$COLUMNS is "always set, defaults to 80, unless the value as reported
by stty(1) is non-zero and sane enough". This applies also to setting
it directly for one command:
$ COLUMNS=10 python -c 'import os; print os.environ["COLUMNS"]'
98
Add a test prerequisite by checking if we can set COLUMNS=1, to allow
us to skip tests that needs it.
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Thu, 26 Apr 2012 21:00:39 +0000 (23:00 +0200)]
t5570: fix forwarding of git-daemon messages via cat
The shell function that starts git-daemon wants to read the first line of
the daemon's stderr to ensure that it started correctly. Subsequent daemon
errors should be redirected to fd 4 (which is the terminal in verbose mode
or /dev/null in quiet mode). To that end the shell script used 'read' to
get the first line of output, and then 'cat &' to forward everything else
in a background process.
The problem is, that 'cat >&4 &' does not produce any output because the
shell redirects a background process's stdin to /dev/null. To have this
command invocation do anything useful, we have to redirect its stdin
explicitly (which overrides the /dev/null redirection).
The shell function connects the daemon's stderr to its consumers via a
FIFO. We cannot just do this:
read line <git_daemon_output
cat <git_daemon_output >&4 &
because after the first redirection the pipe is closed and the daemon
could receive SIGPIPE if it writes at the wrong moment. Therefore, we open
the readable end of the FIFO only once on fd 7 in the shell and dup from
there to the stdin of the two consumers.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthijs Kooijman [Thu, 26 Apr 2012 19:34:02 +0000 (21:34 +0200)]
git-svn: use platform specific auth providers
On Linux, this makes authentication using passwords from gnome-keyring
and kwallet work (only the former was tested). On Mac OS X, this allows
using the OS X Keychain.
Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Eric Wong <normalperson@yhbt.net>
Jeff King [Thu, 26 Apr 2012 08:51:57 +0000 (04:51 -0400)]
docs: stop using asciidoc no-inline-literal
In asciidoc 7, backticks like `foo` produced a typographic
effect, but did not otherwise affect the syntax. In asciidoc
8, backticks introduce an "inline literal" inside which markup
is not interpreted. To keep compatibility with existing
documents, asciidoc 8 has a "no-inline-literal" attribute to
keep the old behavior. We enabled this so that the
documentation could be built on either version.
It has been several years now, and asciidoc 7 is no longer
in wide use. We can now decide whether or not we want
inline literals on their own merits, which are:
1. The source is much easier to read when the literal
contains punctuation. You can use `master~1` instead
of `master{tilde}1`.
2. They are less error-prone. Because of point (1), we
tend to make mistakes and forget the extra layer of
quoting.
This patch removes the no-inline-literal attribute from the
Makefile and converts every use of backticks in the
documentation to an inline literal (they must be cleaned up,
or the example above would literally show "{tilde}" in the
output).
Problematic sites were found by grepping for '`.*[{\\]' and
examined and fixed manually. The results were then verified
by comparing the output of "html2text" on the set of
generated html pages. Doing so revealed that in addition to
making the source more readable, this patch fixes several
formatting bugs:
- HTML rendering used the ellipsis character instead of
literal "..." in code examples (like "git log A...B")
- some code examples used the right-arrow character
instead of '->' because they failed to quote
- api-config.txt did not quote tilde, and the resulting
HTML contained a bogus snippet like:
<tt><sub></tt> foo <tt></sub>bar</tt>
which caused some parsers to choke and omit whole
sections of the page.
- git-commit.txt confused ``foo`` (backticks inside a
literal) with ``foo'' (matched double-quotes)
- mentions of `A U Thor <author@example.com>` used to
erroneously auto-generate a mailto footnote for
author@example.com
- the description of --word-diff=plain incorrectly showed
the output as "[-removed-] and {added}", not "{+added+}".
- using "prime" notation like:
commit `C` and its replacement `C'`
confused asciidoc into thinking that everything between
the first backtick and the final apostrophe were meant
to be inside matched quotes
- asciidoc got confused by the escaping of some of our
asterisks. In particular,
`credential.\*` and `credential.<url>.\*`
properly escaped the asterisk in the first case, but
literally passed through the backslash in the second
case.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kacper Kornet [Thu, 26 Apr 2012 16:45:44 +0000 (18:45 +0200)]
gitweb: Option to not display information about owner
In some setups the repository owner is not a well defined concept
and administrator can prefer it to be not shown. This commit add
and an option that enable to reach this effect.
Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 26 Apr 2012 18:02:36 +0000 (11:02 -0700)]
Update draft release notes to 1.7.11
A handful of topics have been merged to maintenance releases, and
the first half of 6th batch graduates to 'master'.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 26 Apr 2012 17:59:08 +0000 (10:59 -0700)]
Merge branch 'rl/maint-stash-i18n-save-error'
The i18n of error message "git stash save" was not properly done.
By Ross Lagerwall
* rl/maint-stash-i18n-save-error:
stash: use eval_gettextln correctly
Junio C Hamano [Thu, 26 Apr 2012 17:57:43 +0000 (10:57 -0700)]
Merge branch 'mb/fetch-call-a-non-branch-a-ref'
The report from "git fetch" said "new branch" even for a non branch
ref.
By Marc Branchaud
* mb/fetch-call-a-non-branch-a-ref:
fetch: describe new refs based on where it came from
fetch: Give remote_ref to update_local_ref() as well
Junio C Hamano [Thu, 26 Apr 2012 17:56:19 +0000 (10:56 -0700)]
Merge branch 'jm/maint-strncpy-diff-no-index'
The "diff --no-index" codepath used limited-length buffers,
risking pathnames getting truncated. Update it to use the
strbuf API.
By Jim Meyering (1) and Junio C Hamano (1)
* jm/maint-strncpy-diff-no-index:
diff --no-index: use strbuf for temporary pathnames
diff: avoid stack-buffer-read-overrun for very long name
Junio C Hamano [Thu, 26 Apr 2012 17:54:58 +0000 (10:54 -0700)]
Merge bundle error message fix in
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 26 Apr 2012 17:40:08 +0000 (10:40 -0700)]
Start preparing for 1.7.10.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 26 Apr 2012 17:51:40 +0000 (10:51 -0700)]
Merge branch 'jk/run-command-eacces' into maint
When PATH contains an unreadable directory, alias expansion code did
not kick in, and failed with an error that said "git-subcmd" was not
found.
By Jeff King (1) and Ramsay Jones (1)
* jk/run-command-eacces:
run-command: treat inaccessible directories as ENOENT
compat/mingw.[ch]: Change return type of exec functions to int
Junio C Hamano [Thu, 26 Apr 2012 17:51:18 +0000 (10:51 -0700)]
Merge branch 'jc/push-upstream-sanity' into maint
The 'push to upstream' implementation was broken in some corner
cases. "git push $there" without refspec, when the current branch is
set to push to a remote different from $there, used to push to $there
using the upstream information to a remote unreleated to $there.
* jc/push-upstream-sanity:
push: error out when the "upstream" semantics does not make sense
Junio C Hamano [Thu, 26 Apr 2012 17:35:42 +0000 (10:35 -0700)]
Merge branch 'jc/maint-clean-nested-worktree-in-subdir' into maint
"git clean -d -f" (not "-d -f -f") is supposed to protect nested
working trees of independent git repositories that exist in the
current project working tree from getting removed, but the protection
applied only to such working trees that are at the top-level of the
current project by mistake.
* jc/maint-clean-nested-worktree-in-subdir:
clean: preserve nested git worktree in subdirectories
Junio C Hamano [Thu, 26 Apr 2012 17:35:33 +0000 (10:35 -0700)]
Merge branch 'jk/diff-no-rename-empty' into maint
Rename detection logic used to match two empty files as renames during
merge-recursive, leading unnatural mismerges.
By Jeff King
* jk/diff-no-rename-empty:
merge-recursive: don't detect renames of empty files
teach diffcore-rename to optionally ignore empty content
make is_empty_blob_sha1 available everywhere
drop casts from users EMPTY_TREE_SHA1_BIN
Junio C Hamano [Thu, 26 Apr 2012 17:35:25 +0000 (10:35 -0700)]
Merge branch 'rs/combine-diff-zero-context-at-the-beginning' into maint
An age-old corner case bug in combine diff (only triggered with -U0
and the hunk at the beginning of the file needs to be shown) has been
fixed.
By René Scharfe
* rs/combine-diff-zero-context-at-the-beginning:
combine-diff: fix loop index underflow
Junio C Hamano [Thu, 26 Apr 2012 17:35:15 +0000 (10:35 -0700)]
Merge branch 'jc/commit-unedited-template' into maint
When "git commit --template F" errors out because the user did not
touch the message, it claimed that it aborts due to "empty message",
which was utterly wrong.
By Junio C Hamano (4) and Adam Monsen (1)
* jc/commit-unedited-template:
Documentation/git-commit: rephrase the "initial-ness" of templates
git-commit.txt: clarify -t requires editing message
commit: rephrase the error when user did not touch templated log message
commit: do not trigger bogus "has templated message edited" check
t7501: test the right kind of breakage
Junio C Hamano [Thu, 26 Apr 2012 17:35:07 +0000 (10:35 -0700)]
Merge branch 'jk/add-p-skip-conflicts' into maint
"git add -p" is not designed to deal with unmerged paths but did
not exclude them and tried to apply funny patches only to fail.
By Jeff King
* jk/add-p-skip-conflicts:
add--interactive: ignore unmerged entries in patch mode
Junio C Hamano [Thu, 26 Apr 2012 17:34:53 +0000 (10:34 -0700)]
Merge branch 'jc/commit-hook-authorship' into maint
"git commit --author=$name" did not tell the name that was being
recorded in the resulting commit to hooks, even though it does do so
when the end user overrode the authorship via the "GIT_AUTHOR_NAME"
environment variable.
* jc/commit-hook-authorship:
commit: pass author/committer info to hooks
t7503: does pre-commit-hook learn authorship?
ident.c: add split_ident_line() to parse formatted ident line
Junio C Hamano [Thu, 26 Apr 2012 17:34:43 +0000 (10:34 -0700)]
Merge branch 'tr/maint-word-diff-regex-sticky' into maint
The regexp configured with diff.wordregex was incorrectly reused
across files.
By Thomas Rast (2) and Johannes Sixt (1)
* tr/maint-word-diff-regex-sticky:
diff: tweak a _copy_ of diff_options with word-diff
diff: refactor the word-diff setup from builtin_diff_cmd
t4034: diff.*.wordregex should not be "sticky" in --word-diff
Junio C Hamano [Thu, 26 Apr 2012 17:32:55 +0000 (10:32 -0700)]
Merge branch 'jh/notes-merge-in-git-dir-worktree' into maint
Running "notes merge --commit" failed to perform correctly when run
from any directory inside $GIT_DIR/. When "notes merge" stops with
conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits
to resolve it.
By Johan Herland (3) and Junio C Hamano (1)
* jh/notes-merge-in-git-dir-worktree:
notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd
notes-merge: use opendir/readdir instead of using read_directory()
t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/
remove_dir_recursively(): Add flag for skipping removal of toplevel dir
Junio C Hamano [Thu, 26 Apr 2012 17:31:43 +0000 (10:31 -0700)]
Sync with 1.7.9.7
Junio C Hamano [Thu, 26 Apr 2012 17:23:15 +0000 (10:23 -0700)]
Git 1.7.9.7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 26 Apr 2012 17:22:20 +0000 (10:22 -0700)]
Sync with 1.7.8.6