summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-03Merge branch 'jk/maint-push-progress'Libravatar Junio C Hamano3-2/+39
"git push" over smart-http lost progress output and this resurrects it. By Jeff King * jk/maint-push-progress: t5541: test more combinations of --progress teach send-pack about --[no-]progress send-pack: show progress when isatty(2)
2012-05-03Merge branch 'nd/columns'Libravatar Junio C Hamano27-48/+1105
A couple of commands learn --column option to produce columnar output. By Nguyễn Thái Ngọc Duy (9) and Zbigniew Jędrzejewski-Szmek (1) * nd/columns: tag: add --column column: support piping stdout to external git-column process status: add --column branch: add --column help: reuse print_columns() for help -a column: add dense layout support t9002: work around shells that are unable to set COLUMNS to 1 column: add columnar layout Stop starting pager recursively Add column layout skeleton and git-column
2012-05-03doc/config: fix inline literalsLibravatar Jeff King1-2/+2
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>
2012-05-02The eighth batch of topics graduated to 'master'Libravatar Junio C Hamano1-32/+42
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-02Merge branch 'master' of git://git.bogomips.org/git-svnLibravatar Junio C Hamano1-7/+25
via Eric Wong * 'master' of git://git.bogomips.org/git-svn: git-svn: introduce SVN version comparison function
2012-05-02Merge branch 'tr/xdiff-fast-hash'Libravatar Junio C Hamano2-0/+118
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
2012-05-02Merge branch 'jk/maint-gitweb-test-use-sane-perl'Libravatar Junio C Hamano3-3/+3
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
2012-05-02Merge branch 'pw/message-cleanup'Libravatar Junio C Hamano15-24/+24
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
2012-05-02Merge branch 'zj/diff-stat-smaller-num-columns'Libravatar Junio C Hamano77-353/+400
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
2012-05-02Merge branch 'pw/p4-various'Libravatar Junio C Hamano4-35/+308
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
2012-05-02Merge branch 'jc/rerere-train'Libravatar Junio C Hamano1-1/+1
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
2012-05-02Merge branch 'ab/i18n'Libravatar Junio C Hamano2-45/+44
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
2012-05-02Merge branch 'lp/diffstat-with-graph'Libravatar Junio C Hamano4-6/+130
"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
2012-05-02Merge branch 'zj/mksh-columns-breakage'Libravatar Junio C Hamano1-0/+1
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
2012-05-02Merge branch 'jk/doc-asciidoc-inline-literal'Libravatar Junio C Hamano53-194/+192
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
2012-05-02Merge branch 'nd/i18n'Libravatar Junio C Hamano17-384/+499
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
2012-05-02Merge branch 'mm/simple-push'Libravatar Junio C Hamano6-31/+157
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
2012-05-02Merge branch 'jc/index-v4'Libravatar Junio C Hamano9-91/+300
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
2012-05-02git-svn: introduce SVN version comparison functionLibravatar Junio C Hamano1-7/+25
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>
2012-05-01Merge branch 'master' of https://github.com/git-l10n/git-poLibravatar Junio C Hamano3-931/+1069
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)
2012-05-01Sync with v1.7.10.1Libravatar Junio C Hamano9-284/+7636
2012-05-01Git 1.7.10.1Libravatar Junio C Hamano3-3/+32
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-01Merge branch 'pw/fast-import-dataref-parsing' into maintLibravatar Junio C Hamano2-33/+364
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
2012-05-01Merge branch 'it/fetch-pack-many-refs' into maintLibravatar Junio C Hamano6-6/+162
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
2012-05-01Merge branch 'jl/maint-submodule-recurse-fetch' into maintLibravatar Junio C Hamano1-3/+3
"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
2012-05-01Merge branch 'jc/maint-blame-minimal' into maintLibravatar Junio C Hamano1-0/+1
"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
2012-05-01Merge branch 'lp/maint-diff-three-dash-with-graph' into maintLibravatar Junio C Hamano3-2/+299
"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
2012-05-01Merge branch 'jk/rebase-i-submodule-conflict-only' into maintLibravatar Junio C Hamano2-1/+31
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
2012-05-01Merge branch 'maint' of https://github.com/git-l10n/git-poLibravatar Junio C Hamano6-282/+7605
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
2012-05-02l10n: Update German translationLibravatar Ralf Thielow1-345/+399
Translate new messages for git master branch. Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
2012-05-02Merge l10n updates from branch 'maint' into masterLibravatar Jiang Xin1-717/+984
By Ralf Thielow * maint: l10n: Initial German translation
2012-05-01Consistently use perl from /usr/bin/ for scriptsLibravatar Zbigniew Jędrzejewski-Szmek2-2/+2
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>
2012-05-01xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZELibravatar Thomas Rast1-29/+23
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>
2012-05-01t/gitweb-lib: use $PERL_PATH to run gitwebLibravatar Jeff King1-1/+1
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>
2012-05-01t5541: test more combinations of --progressLibravatar Jeff King1-2/+25
Previously, we tested only that "push --quiet --no-progress" was silent. However, there are many other combinations that were not tested: 1. no options at all (but stderr as a tty) 2. --no-progress by itself 3. --quiet by itself 4. --progress (when stderr not a tty) These are tested elsewhere for general "push", but it is important to test them separately for http. It follows a very different code path than git://, and options must be relayed across a remote helper to a separate send-pack process (and in fact cases (1), (2), and (4) have all been broken just for http at some point in the past). We can drop the "--quiet --no-progress" test, as it is not really interesting (it is already handled by testing them separately in (2) and (3) above). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-01teach send-pack about --[no-]progressLibravatar Jeff King2-2/+13
The send_pack function gets a "progress" flag saying "yes, definitely show progress" or "no, definitely do not show progress". This gets set properly by transport_push when send_pack is called directly. However, when the send-pack command is executed separately (as it is for the remote-curl helper), there is no way to tell it "definitely do this". As a result, we do not properly respect "git push --no-progress" for smart-http remotes; you will still get progress if stderr is a tty. This patch teaches send-pack --progress and --no-progress, and teaches remote-curl to pass the appropriate option to override send-pack's isatty check. This fixes the --no-progress case above, and as a bonus, also makes "git push --progress" work when stderr is not a tty. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-01send-pack: show progress when isatty(2)Libravatar Jeff King1-0/+3
The send_pack_args struct has two verbosity flags: "quiet" and "progress". Originally, if "quiet" was set, we would tell pack-objects explicitly to be quiet, and if "progress" was set, we would tell it to show progress. Otherwise, we told it neither, and it relied on isatty(2) to make the decision itself. However, commit 01fdc21 changed the meaning of these variables. Now both "quiet" and "!progress" instruct us to tell pack-objects to be quiet (and a non-zero "progress" means the same as before). This works well for transports which call send_pack directly, as the transport code copies transport->progress into send_pack_args->progress, and they both have the same meaning. However, the code path of calling "git send-pack" was left behind. It always sets "progress" to 0, and thus always tells pack-objects to be quiet. We can work around this by checking isatty(2) ourselves in the cmd_send_pack code path, restoring the original behavior of the send-pack command. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-01l10n: Initial German translationLibravatar Ralf Thielow1-717/+984
Helped-by: Thomas Kuchs Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
2012-04-30git p4: submit files with wildcardsLibravatar Pete Wyckoff3-28/+185
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>
2012-04-30git p4: fix writable file after rename or copyLibravatar Pete Wyckoff3-5/+20
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>
2012-04-30git p4: test submitLibravatar Pete Wyckoff1-0/+92
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>
2012-04-30git p4: bring back files in deleted client directoryLibravatar Pete Wyckoff2-5/+14
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>
2012-04-30remove blank filename in error messageLibravatar Pete Wyckoff1-1/+1
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>
2012-04-30remove superfluous newlines in error messagesLibravatar Pete Wyckoff15-24/+24
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>
2012-04-30Merge branch 'ld/git-p4-tags-and-labels'Libravatar Junio C Hamano6-69/+483
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
2012-04-30Merge branch 'nh/empty-rebase'Libravatar Junio C Hamano9-19/+193
"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
2012-04-30Merge branch 'jk/maint-config-bogus-section'Libravatar Junio C Hamano2-1/+31
"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
2012-04-30diff --stat: use less columns for change countsLibravatar Zbigniew Jędrzejewski-Szmek77-353/+400
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>
2012-04-30contrib/rerere-train: use installed git-sh-setupLibravatar Junio C Hamano1-1/+1
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>
2012-04-30git-commit: remove lego in i18n messagesLibravatar Ævar Arnfjörð Bjarmason1-7/+6
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>