Ævar Arnfjörð Bjarmason [Sun, 8 Aug 2010 14:49:24 +0000 (14:49 +0000)]
tests: Infrastructure for Git smoke testing
Add the capability to send smoke reports from the Git test suite.
Currently we only notice bugs in the test suite when it's run
manually. Bugs in Git that only occur on obscure platforms or setups
that the core developers aren't using can thus go unnoticed.
This series aims to change that. With it, anyone that's interested in
avoiding bitrot in Git can volunteer to run a smoke tester. A smoke
tester periodically compiles the latest version of Git, runs the test
suite, and submits a report to a central server indicating how the
test run went.
A smoke tester might run something like this in cron:
#!/bin/sh
cd ~/g/git
git fetch
for branch in maint master next pu; do
git checkout origin/$i &&
make clean all &&
cd t &&
make smoke_report
done
The smoker might want to compile git with non-default flags, include
bisecting functionality or run the tests under valgrind. Doing that is
outside the scope of this patch, this just adds a report submission
mechanism. But including a canonical smoke runner is something we'll
want to include eventually.
What this does now is add smoke and smoke_report targets to t/Makefile
(this example only uses a few tests for demonstration):
$ make clean smoke
rm -f -r 'trash directory'.* test-results
rm -f t????/cvsroot/CVSROOT/?*
rm -f -r valgrind/bin
rm -f .prove
perl ./harness --git-version="1.7.2.1.173.gc9b40" \
--no-verbose \
--archive="test-results/git-smoke.tar.gz" \
t0000-basic.sh t0001-init.sh t0002-gitfile.sh t0003-attributes.sh t0004-unwritable.sh t0005-signals.sh t0006-date.sh
t0000-basic.sh ....... ok
t0001-init.sh ........ ok
t0002-gitfile.sh ..... ok
t0003-attributes.sh .. ok
t0004-unwritable.sh .. ok
t0005-signals.sh ..... ok
t0006-date.sh ........ ok
All tests successful.
Test Summary Report
-------------------
t0000-basic.sh (Wstat: 0 Tests: 46 Failed: 0)
TODO passed: 5
Files=7, Tests=134, 3 wallclock secs ( 0.06 usr 0.05 sys + 0.23 cusr 1.33 csys = 1.67 CPU)
Result: PASS
TAP Archive created at /home/avar/g/git/t/test-results/git-smoke.tar.gz
The smoke target uses TAP::Harness::Archive to aggregate the test
results into a tarball. The tarball contains two things, the output of
every test file that was run, and a metadata file:
Tarball contents:
$ tar xzvf git-smoke.tar.gz
t0004-unwritable.sh
t0001-init.sh
t0002-gitfile.sh
t0005-signals.sh
t0000-basic.sh
t0003-attributes.sh
t0006-date.sh
meta.yml
A test report:
$ cat t0005-signals.sh
ok 1 - sigchain works
# passed all 1 test(s)
1..1
A metadata file:
---
extra_properties:
file_attributes:
-
description: t0000-basic.sh
end_time:
1280437324.61398
start_time:
1280437324.22186
-
description: t0001-init.sh
end_time:
1280437325.12346
start_time:
1280437324.62393
-
description: t0002-gitfile.sh
end_time:
1280437325.29428
start_time:
1280437325.13646
-
description: t0003-attributes.sh
end_time:
1280437325.59678
start_time:
1280437325.30565
-
description: t0004-unwritable.sh
end_time:
1280437325.77376
start_time:
1280437325.61003
-
description: t0005-signals.sh
end_time:
1280437325.85426
start_time:
1280437325.78727
-
description: t0006-date.sh
end_time:
1280437326.2362
start_time:
1280437325.86768
file_order:
- t0000-basic.sh
- t0001-init.sh
- t0002-gitfile.sh
- t0003-attributes.sh
- t0004-unwritable.sh
- t0005-signals.sh
- t0006-date.sh
start_time:
1280437324
stop_time:
1280437326
The "extra_properties" hash is where we'll stick Git-specific info,
like whether Git was compiled with gettext or the fallback regex
engine, and what branch we're compiling. Currently no metadata like
this is included.
The entire tarball is then submitted to a central smokebox at
smoke.git.nix.is. This is done with curl(1) via the "smoke_report"
target:
$ make smoke_report
curl \
-H "Expect: " \
-F project=Git \
-F architecture=x86_64 \
-F platform=Linux \
-F revision="1.7.2.1.173.gc9b40" \
-F report_file=@test-results/git-smoke.tar.gz \
http://smoke.git.nix.is/app/projects/process_add_report/1 \
| grep -v ^Redirecting
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 117k 100 63 100 117k 3 6430 0:00:21 0:00:18 0:00:03 0
Reported #8 added.
Reports are then made available on the smokebox via a web interface:
http://smoke.git.nix.is/app/projects/smoke_reports/1
The smoke reports are also mirrored to a Git repository hosted on
GitHub:
http://github.com/gitsmoke/smoke-reports
The Smolder SQLite database that contains metadata about the reports
is also made available:
http://github.com/gitsmoke/smoke-database
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Wed, 11 Aug 2010 12:04:38 +0000 (12:04 +0000)]
test-lib: Multi-prereq support only checked the last prereq
The support for multiple test prerequisites added by me in "test-lib:
Add support for multiple test prerequisites" was broken.
The for iterated over each prerequisite and returned true/false within
a case statement, but since it missed a return statement only the last
prerequisite in the list of prerequisites was ever considered, the
rest were ignored.
Fix that by changing the test_have_prereq code to something less
clever that keeps a count of the total prereqs and the ones we have
and compares the count at the end.
This comes with the added advantage that it's easy to list the missing
prerequisites in the test output, implement that while I'm at it.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Fri, 6 Aug 2010 22:09:09 +0000 (22:09 +0000)]
tests: A SANITY test prereq for testing if we're root
Some tests depend on not being able to write to files after chmod
-w. This doesn't work when running the tests as root.
Change test-lib.sh to test if this works, and if so it sets a new
SANITY test prerequisite. The tests that use this previously failed
when run under root.
There was already a test for this in t3600-rm.sh, added by Junio C
Hamano in
2283645 in 2006. That check now uses the new SANITY
prerequisite.
Some of this was resurrected from the "Tests in Cygwin" thread in May
2009:
http://thread.gmane.org/gmane.comp.version-control.git/116729/focus=118385
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Fri, 6 Aug 2010 21:19:25 +0000 (21:19 +0000)]
t/README: Document the predefined test prerequisites
The README for the test library suggested that you grep the
test-lib.sh for test_set_prereq to see what the preset prerequisites
were.
Remove that bit, and write a section explaining all the preset
prerequisites. Most of the text was lifted from from Junio C Hamano
and Johannes Sixt, See the "Tests in Cygwin" thread in May 2009 for
the originals:
http://thread.gmane.org/gmane.comp.version-control.git/116729/focus=118385
http://thread.gmane.org/gmane.comp.version-control.git/116729/focus=118434
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Fri, 6 Aug 2010 21:19:24 +0000 (21:19 +0000)]
test-lib: Print missing prerequisites in test output
Change the test output to print needed prerequisites as part of the
TAP. This makes it easy to see at a glance why a test was
skipped. Before:
ok 7 # skip <message>
ok 9 # skip <message>
After:
ok 7 # skip <message> (prereqs: DONTHAVEIT)
ok 9 # skip <message> (prereqs: HAVEIT,DONTHAVEIT)
This'll also be useful for smoke testing output, where the developer
reading the output may not be familiar with the system where tests are
being skipped.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Fri, 6 Aug 2010 21:19:23 +0000 (21:19 +0000)]
test-lib: Add support for multiple test prerequisites
Change the test_have_prereq function in test-lib.sh to support a
comma-separated list of prerequisites. This is useful for tests that
need e.g. both POSIXPERM and SANITY.
The implementation was stolen from Junio C Hamano and Johannes Sixt,
the tests and documentation were not. See the "Tests in Cygwin" thread
in May 2009 for the originals:
http://thread.gmane.org/gmane.comp.version-control.git/116729/focus=118385
http://thread.gmane.org/gmane.comp.version-control.git/116729/focus=118434
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Wed, 11 Aug 2010 19:37:31 +0000 (19:37 +0000)]
test-lib: Don't write test-results when HARNESS_ACTIVE
TAP harnesses don't need to read test-results/*, since they keep track
of the number of passing/failing tests internally. Skip the generation
of these files when HARNESS_ACTIVE is set.
It's now possible to run the Git test suite without writing anything
to the t/ directory at all if you use a TAP harness and the --root
switch:
cd t
sudo mount -t tmpfs none /tmp/memory -o size=300m
prove -j9 ./t[0-9]*.sh :: --root=/tmp/memory
The I/O that the ~500 test-results/* files contributed was very
minimal, but I thought this was worth mentioning.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 13 Aug 2010 01:32:49 +0000 (18:32 -0700)]
Merge branch 'jc/sha1-name-find-fix'
* jc/sha1-name-find-fix:
sha1_name.c: fix parsing of ":/token" syntax
Conflicts:
sha1_name.c
Junio C Hamano [Fri, 13 Aug 2010 01:32:37 +0000 (18:32 -0700)]
Merge branch 'jn/doc-pull'
* jn/doc-pull:
Documentation: flesh out “git pull” description
Junio C Hamano [Fri, 13 Aug 2010 01:32:31 +0000 (18:32 -0700)]
Merge branch 'jn/maint-gitweb-dynconf'
* jn/maint-gitweb-dynconf:
gitweb: allow configurations that change with each request
Junio C Hamano [Fri, 13 Aug 2010 01:32:20 +0000 (18:32 -0700)]
Merge branch 'bc/use-more-hardlinks-in-install'
* bc/use-more-hardlinks-in-install:
Makefile: make hard/symbolic links for non-builtins too
Makefile: link builtins residing in bin directory to main git binary too
Junio C Hamano [Fri, 13 Aug 2010 01:31:43 +0000 (18:31 -0700)]
Merge branch 'tr/rfc-reset-doc'
* tr/rfc-reset-doc:
Documentation/reset: move "undo permanently" example behind "make topic"
Documentation/reset: reorder examples to match description
Documentation/reset: promote 'examples' one section up
Documentation/reset: separate options by mode
Documentation/git-reset: reorder modes for soft-mixed-hard progression
Junio C Hamano [Fri, 13 Aug 2010 01:31:03 +0000 (18:31 -0700)]
Merge branch 'jn/parse-date-basic'
* jn/parse-date-basic:
Export parse_date_basic() to convert a date string to timestamp
Junio C Hamano [Fri, 13 Aug 2010 01:27:01 +0000 (18:27 -0700)]
Merge branch 'sp/fix-smart-http-deadlock-on-error'
* sp/fix-smart-http-deadlock-on-error:
smart-http: Don't deadlock on server failure
Junio C Hamano [Fri, 13 Aug 2010 01:07:09 +0000 (18:07 -0700)]
Merge branch 'maint'
* maint:
push: mention "git pull" in error message for non-fast forwards
Standardize do { ... } while (0) style
t/t7003: replace \t with literal tab in sed expression
index-pack: Don't follow replace refs.
Matthieu Moy [Mon, 2 Aug 2010 13:42:44 +0000 (15:42 +0200)]
push: mention "git pull" in error message for non-fast forwards
The message remains fuzzy to include "git pull", "git pull --rebase" and
others, but directs the user to the simplest solution in the vast
majority of cases.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Thu, 12 Aug 2010 22:11:15 +0000 (17:11 -0500)]
Standardize do { ... } while (0) style
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 12 Aug 2010 20:55:54 +0000 (15:55 -0500)]
t/t7003: replace \t with literal tab in sed expression
The sed utilities on IRIX and Solaris do not interpret the sequence '\t'
to mean a tab character; they read a literal character 't'. So, use a
literal tab instead.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nelson Elhage [Thu, 12 Aug 2010 14:18:12 +0000 (10:18 -0400)]
index-pack: Don't follow replace refs.
Without this, attempting to index a pack containing objects that have been
replaced results in a fatal error that looks like:
fatal: SHA1 COLLISION FOUND WITH <replaced-object> !
Signed-off-by: Nelson Elhage <nelhage@ksplice.com>
Acked-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 11 Aug 2010 18:32:00 +0000 (11:32 -0700)]
Merge branch 'maint'
* maint:
post-receive-email: remove spurious commas in email subject
fast-import: export correctly marks larger than 2^20-1
t/lib-git-svn.sh: use $PERL_PATH for perl, not perl from $PATH
diff: strip extra "/" when stripping prefix
Matthieu Moy [Wed, 11 Aug 2010 08:14:13 +0000 (10:14 +0200)]
post-receive-email: remove spurious commas in email subject
The previous form produced subjects like
[SCM] project.git branch, foo, updated. ...
The new one will produce the lighter
[SCM] project.git branch foo updated. ...
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Raja R Harinath [Tue, 13 Jul 2010 11:51:48 +0000 (17:21 +0530)]
fast-import: export correctly marks larger than 2^20-1
dump_marks_helper() has a bug when dumping marks larger than 2^20-1,
i.e., when the sparse array has more than two levels. The bug was
that the 'base' counter was being shifted by 20 bits at level 3, and
then again by 10 bits at level 2, rather than a total shift of 20 bits
in this argument to the recursive call:
(base + k) << m->shift
There are two ways to fix this correctly, the elegant:
(base + k) << 10
and the one I chose due to edit distance:
base + (k << m->shift)
Signed-off-by: Raja R Harinath <harinath@hurrynot.org>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Tue, 10 Aug 2010 12:14:25 +0000 (12:14 +0000)]
t/lib-git-svn.sh: use $PERL_PATH for perl, not perl from $PATH
Change the git-svn tests to use $PERL_PATH, not the "perl" in $PATH.
Using perl in $PATH was added by Sam Vilain in v1.6.6-rc0~95^2~3,
Philippe Bruhat introduced $PERL_PATH to the test suite in
v1.6.6-rc0~9^2, but the lib-git-svn.sh tests weren't updated to use
the new convention.
This resulted in the git-svn tests always being skipped on my
system. My /usr/bin/perl has access to SVN::Core and SVN::Repos, but
the perl in my $PATH does not.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Mon, 9 Aug 2010 14:50:53 +0000 (10:50 -0400)]
diff: strip extra "/" when stripping prefix
There are two ways a user might want to use "diff --relative":
1. For a file in a directory, like "subdir/file", the user
can use "--relative=subdir/" to strip the directory.
2. To strip part of a filename, like "foo-10", they can
use "--relative=foo-".
We currently handle both of those situations. However, if the user passes
"--relative=subdir" (without the trailing slash), we produce inconsistent
results. For the unified diff format, we collapse the double-slash of
"a//file" correctly into "a/file". But for other formats (raw, stat,
name-status), we end up with "/file".
We can do what the user means here and strip the extra "/" (and only a
slash). We are not hurting any existing users of (2) above with this
behavior change because the existing output for this case was nonsensical.
Patch by Jakub, tests and commit message by Jeff King.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 9 Aug 2010 20:05:47 +0000 (13:05 -0700)]
Merge branch 'maint'
* maint:
gitweb: clarify search results page when no matching commit found
Documentation: add a FILES section for show-ref
Makefile: add missing dependency on http.h
Makefile: add missing dependencies on url.h
Documentation/git-log: Clarify --full-diff
git-rebase: fix typo when parsing --force-rebase
imap-send: Fix sprintf usage
prune: allow --dry-run for -n and --verbose for -v
notes: allow --dry-run for -n and --verbose for -v
Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C
Documentation: cite git-am from git-apply
t7003: fix subdirectory-filter test
Allow "check-ref-format --branch" from subdirectory
check-ref-format: handle subcommands in separate functions
pretty-options.txt: match --format's documentation with implementation.
Jonathan Nieder [Sat, 7 Aug 2010 21:56:47 +0000 (16:56 -0500)]
gitweb: clarify search results page when no matching commit found
When searching commits for a string that never occurs, the results
page looks something like this:
projects / foo.git / search \o/
summary | ... | tree [commit] search: [ kfjdkas ] [ ]re
first ⋅ prev ⋅ next
Merge branch 'maint'
Foo: a demonstration project
Without a list of hits to compare it to, the header describing the
commit named by the hash parameter (usually HEAD) may itself look
like a hit. Add some text (“No match.”) to replace the empty
list of hits and avoid this confusion.
While at it, remove some nearby dead code, left behind from a
simplification a few years ago (v1.5.4-rc0~276^2~4, 2007-11-01).
Noticed-by: Erick Mattos <erick.mattos@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Mon, 9 Aug 2010 01:32:43 +0000 (20:32 -0500)]
Documentation: add a FILES section for show-ref
A peek at where the refs are kept might help understanding, even if,
as the DESCRIPTION section suggests, direct access is not part of the
public API.
Balance that out with a pointer to update-ref.
Suggested-by: Geoff Russell <geoffrey.russell@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Sun, 8 Aug 2010 21:48:59 +0000 (16:48 -0500)]
Makefile: add missing dependency on http.h
v1.7.1-rc0~65^2~2 (http: init and cleanup separately from
http-walker, 2010-03-02) introduced a direct dependency from
http-fetch on the HTTP request library. Declare it.
Detected with "make CHECK_HEADER_DEPENDENCIES=1".
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Sun, 8 Aug 2010 21:25:11 +0000 (16:25 -0500)]
Makefile: add missing dependencies on url.h
v1.7.2-rc0~56^2 and its parent (decode file:// and ssh://
URLs, 2010-05-23) introduced a new url library. Update the
Makefile with the relevant dependencies.
Detected with "make CHECK_HEADER_DEPENDENCIES=1".
Cc: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber [Sun, 8 Aug 2010 15:31:34 +0000 (17:31 +0200)]
Documentation/git-log: Clarify --full-diff
The current description gives the impression that "--full-diff" affects
"log -p" only.
Make it clearer that it affects all diff-based output types.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Willy Tarreau [Sun, 8 Aug 2010 05:13:32 +0000 (07:13 +0200)]
git-rebase: fix typo when parsing --force-rebase
Due to two missing hyphens, The "force" keyword on the command line
would be taken as an alias for the --force-rebase option.
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Sat, 7 Aug 2010 23:09:45 +0000 (18:09 -0500)]
imap-send: Fix sprintf usage
When composing a command for the imap server, imap-send uses a single
nfsnprintf() invocation for brevity instead of dealing separately with
the case when there is a message to be sent and the case when there
isn’t. The unused argument in the second case, while valid, is
confusing for static analyzers and human readers.
v1.6.4-rc0~117 (imap-send: add support for IPv6, 2009-05-25)
mistakenly used %hu as the format for an int “port”, by analogy with
existing usage for the unsigned short “addr.sin_port”. Use %d
instead.
Noticed with clang.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Fri, 6 Aug 2010 20:28:05 +0000 (22:28 +0200)]
prune: allow --dry-run for -n and --verbose for -v
For consistency with other git commands, let git prune accept the long
options --dry-run and --verbose for the respective short ones -n and -v.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Fri, 6 Aug 2010 20:28:09 +0000 (22:28 +0200)]
notes: allow --dry-run for -n and --verbose for -v
For consistency with other git commands, let the prune subcommand of
git notes accept the long options --dry-run and --verbose for the
respective short ones -n and -v.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 9 Aug 2010 16:46:52 +0000 (09:46 -0700)]
Merge branch 'webrick' of git://git.bogomips.org/git-svn
* 'webrick' of git://git.bogomips.org/git-svn:
instaweb: add access+error logging for WEBrick
instaweb: minimize moving parts for WEBrick
instaweb: fix WEBrick server support
Matthieu Moy [Thu, 5 Aug 2010 16:14:25 +0000 (18:14 +0200)]
Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C
These options take an optional argument, but this optional argument was
not documented.
Original patch by Matthieu Moy, but documentation for -B mostly copied
from the explanations of Junio C Hamano.
While we're there, fix a typo in a comment in diffcore.h.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brad King [Tue, 3 Aug 2010 18:41:50 +0000 (14:41 -0400)]
Documentation: cite git-am from git-apply
Users reading git-apply documentation may also be interested in git-am,
especially after receiving an email created with git-format-patch. The
documentation for git-am already references git-apply. Add the reverse.
Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Thu, 29 Jul 2010 15:10:22 +0000 (17:10 +0200)]
t7003: fix subdirectory-filter test
The test would not fail if the filtering failed to do anything, since
in
test -z "$(git diff HEAD directorymoved:newsubdir)"'
'directorymoved:newsubdir' is not valid, so git-diff fails without
printing anything on stdout. But then the exit status of git-diff is
lost, whereas test -z "" succeeds.
Use 'git diff --exit-code' instead, which does the right thing and has
the added bonus of showing the differences if there are any.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Shawn O. Pearce [Fri, 6 Aug 2010 21:19:44 +0000 (14:19 -0700)]
smart-http: Don't deadlock on server failure
If the remote HTTP server fails (e.g. returns 404 or 500) when we
posted the RPC to it, we won't have sent anything to the background
Git process that is supposed to handle the stream. Because we
didn't send anything, its waiting for input from remote-curl, and
remote-curl cannot read its response payload because doing so would
lead to a deadlock.
Send the background task EOF on its input before we try to read
its response back, that way it will break out of its read loop
and terminate.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Fri, 6 Aug 2010 03:39:22 +0000 (22:39 -0500)]
Allow "check-ref-format --branch" from subdirectory
check-ref-format --branch requires access to the repository
to resolve refs like @{-1}.
Noticed by Nguyễn Thái Ngọc Duy.
Cc: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Fri, 6 Aug 2010 03:36:07 +0000 (22:36 -0500)]
check-ref-format: handle subcommands in separate functions
The code for each subcommand should be easier to read and manipulate
this way.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 6 Aug 2010 16:06:20 +0000 (09:06 -0700)]
Merge git://git.bogomips.org/git-svn
* git://git.bogomips.org/git-svn:
git svn: URL-decode left-hand side of svn refspec
Matthieu Moy [Thu, 5 Aug 2010 13:08:05 +0000 (15:08 +0200)]
pretty-options.txt: match --format's documentation with implementation.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Eric Wong [Thu, 5 Aug 2010 08:46:04 +0000 (08:46 +0000)]
instaweb: add access+error logging for WEBrick
This allows WEBrick to support all the logging functionality
in a manner consistent with the other web servers.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Eric Wong [Thu, 5 Aug 2010 08:35:45 +0000 (08:35 +0000)]
instaweb: minimize moving parts for WEBrick
Since there are WEBrick configuration settings (including the
upcoming AccessLog support) that cannot be represented in YAML
and require Ruby anyways, the YAML config file is an unnecessary
layer of complexity.
Additionally, the shell script wrapper to start WEBrick is
unecessary since our generated Ruby script can be made
executable in the same manner with /usr/bin/env.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Eric Wong [Wed, 4 Aug 2010 09:51:25 +0000 (09:51 +0000)]
instaweb: fix WEBrick server support
This has been broken since commit
be5347b ("httpd logs in a
"$httpd_only" subdirectory").
Since WEBrick has no other way of preserving environment
variables needed for gitweb, we create a shell script wrapper
that sets the environment variables as our CGI interpreter
to run gitweb.cgi.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Steven Walter [Tue, 3 Aug 2010 23:21:25 +0000 (19:21 -0400)]
git svn: URL-decode left-hand side of svn refspec
This change allows git-svn to handle an URL with colons in the path
[ew: rewritten to use uri_decode() function]
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Junio C Hamano [Tue, 3 Aug 2010 22:20:01 +0000 (15:20 -0700)]
Merge branch 'maint'
* maint:
contrib/svn-fe: Add the svn-fe target to .gitignore
contrib/svn-fe: Fix IncludePath
Fix DIFF_QUEUE_CLEAR refactoring
git-gui: fix size and position of window panes on startup
git-gui: mc cannot be used before msgcat has been loaded
git-gui: use textconv filter for diff and blame
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
git-gui: fix shortcut creation on cygwin
git-gui: fix PATH environment for mingw development environment
git-gui: fix usage of _gitworktree when creating shortcut for windows
git-gui: fix "Explore Working Copy" for Windows again
git-gui: fix usage of themed widgets variable
git-gui: Handle failure of core.worktree to identify the working directory.
git-gui: check whether systems nice command works or disable it
Junio C Hamano [Tue, 3 Aug 2010 22:19:02 +0000 (15:19 -0700)]
Merge branch 'gp/pack-refs-remove-empty-dirs'
* gp/pack-refs-remove-empty-dirs:
pack-refs: remove newly empty directories
Junio C Hamano [Tue, 3 Aug 2010 22:17:34 +0000 (15:17 -0700)]
Merge branch 'sv/maint-diff-q-clear-fix' into maint
* sv/maint-diff-q-clear-fix:
Fix DIFF_QUEUE_CLEAR refactoring
Junio C Hamano [Tue, 3 Aug 2010 22:17:11 +0000 (15:17 -0700)]
Merge branch 'rr/svn-fe' into maint
* rr/svn-fe:
contrib/svn-fe: Add the svn-fe target to .gitignore
contrib/svn-fe: Fix IncludePath
Junio C Hamano [Tue, 3 Aug 2010 22:16:38 +0000 (15:16 -0700)]
Merge branch 'pt/git-gui' into maint
* pt/git-gui:
git-gui: fix size and position of window panes on startup
git-gui: mc cannot be used before msgcat has been loaded
git-gui: use textconv filter for diff and blame
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
git-gui: fix shortcut creation on cygwin
git-gui: fix PATH environment for mingw development environment
git-gui: fix usage of _gitworktree when creating shortcut for windows
git-gui: fix "Explore Working Copy" for Windows again
git-gui: fix usage of themed widgets variable
git-gui: Handle failure of core.worktree to identify the working directory.
git-gui: check whether systems nice command works or disable it
Ramkumar Ramachandra [Thu, 29 Jul 2010 05:36:20 +0000 (11:06 +0530)]
contrib/svn-fe: Add the svn-fe target to .gitignore
Add the svn-fe target to .gitignroe.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Thu, 29 Jul 2010 05:36:19 +0000 (11:06 +0530)]
contrib/svn-fe: Fix IncludePath
Include the path "../../vcs-svn" while compiling it in the Makefile
and change svn-fe.c to include svndump.h.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Mon, 2 Aug 2010 21:39:30 +0000 (16:39 -0500)]
Documentation: flesh out “git pull” description
The current description in the pull man page does not say much more
than that “git pull” is fetch + merge. Though that is all a person
needs to know in the end, it would be useful to summarize a bit about
what those commands do for new readers.
Most of this description is taken from the “git merge” docs.
Now that we explain how to back out of a failed merge (reset --merge),
we can tone down the warning against that a bit.
Except, as Thomas noticed, there’s a risk with that because people
might read this version of the manpage online and then conclude that
it is safe to try a merge with uncommitted changes, only to find that
their “git reset” doesn't support --merge yet. Or worse, verify that
their git-reset has --merge by a quick test (
1b5b465 is in 1.6.2) but
then find that it does not help with backing out of a merge (
e11d7b5
is only in 1.7.0!). So keep the warning.
With clarifications from Ævar, Thomas, and Junio.
Noticed-by: Geoff Russell <geoffrey.russell@gmail.com>
Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Cc: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Aug 2010 22:38:55 +0000 (15:38 -0700)]
Merge git://git.bogomips.org/git-svn
* git://git.bogomips.org/git-svn:
git svn: fix dcommit to work with touched files
git svn: add an option to recode pathnames
Elijah Newren [Sat, 31 Jul 2010 20:11:46 +0000 (14:11 -0600)]
upload-pack: Improve error message when bad ref requested
When printing an error message saying a ref was requested that we do not
have, only print that ref, rather than the ref and everything sent to us
on the same packet line (e.g. protocol support specifications).
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jared Hance [Mon, 2 Aug 2010 18:20:38 +0000 (14:20 -0400)]
Document git-instaweb start/stop/restart
The flags --start, --stop, and --restart can be used without the "--".
Document this feature.
Signed-off-by: Jared Hance <jaredhance@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Mon, 2 Aug 2010 20:21:47 +0000 (22:21 +0200)]
gitweb: Fix typo in run() subroutine
Run $post_dispatch_hook->() not $pre_dispatch_hook->() after each
request.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Aug 2010 21:37:06 +0000 (14:37 -0700)]
sha1_name.c: fix parsing of ":/token" syntax
The parser tried to clean up the object flags it used while finding
commits with matching string, but was not doing a very good job at it.
This caused "checkout -b new ':/token'", which internally tries to parse
':/token' twice as an object name, to fail when the commit in question
was reachable from only one ref.
The mask bits given to pop_most_recent_commit(&list, MASK) means "I have
already been on the list to be processed, so please do not place me again
even if I am found to be a parent of some other commit on the list." So
mark them when we add them to the list at the beginning.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David D. Kilzer [Mon, 2 Aug 2010 19:58:19 +0000 (12:58 -0700)]
git svn: fix dcommit to work with touched files
The dcommit command fails if an otherwise unmodified file has
been touched in the working directory:
Cannot dcommit with a dirty index. Commit your changes
first, or stash them with `git stash'.
This happens because "git diff-index" reports a difference
between the index and the filesystem:
:100644 100644 d00491...... 000000...... M file
The fix is to run "git update-index --refresh" before
"git diff-index" as is done in git-rebase and
git-rebase--interactive before "git diff-files".
This changes dcommit to display a list of modified files before
exiting.
Also add a similar test case for "git svn rebase".
[ew: rearranged commit message subject]
Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Thomas Rast [Fri, 30 Jul 2010 22:35:59 +0000 (00:35 +0200)]
ls-files: learn a debugging dump format
Teach git-ls-files a new option --debug that just tacks all available
data from the cache onto each file's line.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Aug 2010 19:02:16 +0000 (12:02 -0700)]
Merge branch 'maint'
* maint:
test-lib: Remove 3 year old no-op --no-python option
test-lib: Ignore --quiet under a TAP harness
Documentation/rev-parse: quoting is required with --parseopt
Documentation: reporting bugs
Fix git rebase --continue to work with touched files
Document ls-files -t as semi-obsolete.
Junio C Hamano [Mon, 2 Aug 2010 18:53:58 +0000 (11:53 -0700)]
Merge branch 'ab/tap' into maint
* ab/tap:
test-lib: Remove 3 year old no-op --no-python option
test-lib: Ignore --quiet under a TAP harness
Ævar Arnfjörð Bjarmason [Sat, 31 Jul 2010 16:49:53 +0000 (16:49 +0000)]
test-lib: Remove 3 year old no-op --no-python option
The --no-python option was added to test-lib.sh by Johannes Schindelin
in early 2006 in
abb7c7b3. It was later turned into a no-op by Junio C
Hamano in
7cdbff14 the same year.
Over three years is long enough before removing this old wart which
was retained for backwards compatibility. Our tests have been using
NO_PYTHON and "test_have_prereq PYTHON" for a long time now.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Sat, 31 Jul 2010 16:40:05 +0000 (16:40 +0000)]
test-lib: Ignore --quiet under a TAP harness
Running the tests with --quiet under a TAP harness will always fail,
since a TAP harness always needs actual test output to go along with
the plan that's being emitted.
Change the test-lib.sh to ignore the --quiet option under
HARNESS_ACTIVE to work around this. Then users that have --quiet in
their GIT_TEST_OPTS can run tests under prove(1) without everything
breaking.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jared Hance [Sat, 31 Jul 2010 12:54:55 +0000 (08:54 -0400)]
builtin/push.c: remove useless temporary variable
Creating a variable nr here to use throughout the function only to change
refspec_nr to nr at the end, having not used refspec_nr the entire time,
is rather pointless. Instead, simply increment refspec_nr.
While at it, use ALLOC_GROW() instead of xrealloc().
Signed-off-by: Jared Hance <jaredhance@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Sat, 31 Jul 2010 03:01:59 +0000 (22:01 -0500)]
gitweb: allow configurations that change with each request
gitolite's contrib/gitweb/gitweb.conf includes:
$ENV{GL_USER} = $cgi->remote_user || "gitweb";
which is useful for setups where a user has to be authenticated
to access certain repos. Perhaps other typical configurations
change per session in other ways, too.
v1.7.2-rc2~6 (gitweb: Move evaluate_gitweb_config out of run_request,
2010-07-05) broke such configurations for a speedup, by loading
the configuration once per FastCGI process.
Probably in the end there should be a way to specify in the
configuration whether a particular installation wants the speedup or
the flexibility. But for now it is easier to just undo the relevant
change.
This partially reverts commit
869d58813b24c74e84c9388041eafcef40cb51e4.
Reported-by: Julio Lajara <julio.lajara@alum.rpi.edu>
Analysis-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Aug 2010 16:28:30 +0000 (09:28 -0700)]
Merge git://repo.or.cz/git-gui into pt/git-gui
* git://repo.or.cz/git-gui:
git-gui: fix size and position of window panes on startup
git-gui: mc cannot be used before msgcat has been loaded
git-gui: use textconv filter for diff and blame
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
git-gui: fix shortcut creation on cygwin
git-gui: fix PATH environment for mingw development environment
git-gui: fix usage of _gitworktree when creating shortcut for windows
git-gui: fix "Explore Working Copy" for Windows again
git-gui: fix usage of themed widgets variable
git-gui: Handle failure of core.worktree to identify the working directory.
git-gui: check whether systems nice command works or disable it
Thomas Rast [Fri, 30 Jul 2010 15:01:50 +0000 (17:01 +0200)]
Documentation/rev-parse: quoting is required with --parseopt
When calling rev-parse --parseopt, as in the (now fixed) documented
example
eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"
the outermost quoting is required, as otherwise all runs of arbitrary
whitespace inside the resulting 'set -- ...' call would be collapsed
into a single space.
This was exposed as a result of our new use of cat <<\EOF since
47e9cd2 (parseopt: wrap rev-parse --parseopt usage for eval
consumption, 2010-06-12), but has always been a problem when handling
arguments containing e.g. newlines.
Point this out in the documentation, and in particular correct the
example that did not have the quotes.
Noticed-by: Joshua Jensen <jjensen@workspacewhiz.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Aug 2010 16:07:39 +0000 (09:07 -0700)]
Documentation: reporting bugs
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Aug 2010 15:29:42 +0000 (08:29 -0700)]
Fix DIFF_QUEUE_CLEAR refactoring
It introduced a macro to reduce repeated assignments to three fields,
but an unrelated and incorrect change snuck in by mistake, which broke
commands like "git diff-files -p --submodule".
Noticed by Sven Verdoolaege.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Mon, 2 Aug 2010 12:42:45 +0000 (13:42 +0100)]
git-gui: fix size and position of window panes on startup
The themed panedwindow needs to have the sash position set after the
widget has been mapped therefore apply this setting in the Map event
binding. To avoid visible redraws as the application is constructed
the main window should be withdrawn until all the widgets have been added
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Mon, 2 Aug 2010 11:13:05 +0000 (12:13 +0100)]
git-gui: mc cannot be used before msgcat has been loaded
If someone attempts to use an older version that Tk 8.4 the error was
masked by the lack of a mc command.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Clément Poulain [Fri, 30 Jul 2010 08:11:02 +0000 (09:11 +0100)]
git-gui: use textconv filter for diff and blame
Create a checkbox "Use Textconv For Diffs and Blame" in git-gui options.
If checked and if the driver for the concerned file exists, git-gui calls diff
and blame with --textconv option
Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Mon, 8 Mar 2010 12:43:27 +0000 (12:43 +0000)]
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
On Windows the Control-C binding is used to copy and is mapped to the Tk
virtual event <<Copy>>. In the initial git-gui dialog this is also bound
as an accelerator for the Clone menu item. The effect is that both bindings
run, copying the text but resetting the clone page or switching to the clone
page when the user tries to copy text from one of the entry fields.
This patch avoids this by using Control-L instead for Windows only.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Heiko Voigt [Sat, 27 Feb 2010 20:48:48 +0000 (21:48 +0100)]
git-gui: fix shortcut creation on cygwin
When the user tried to create a desktop icon with git gui on cygwin
wscript was complaining about an unknown option and displaying the
non-native path as such.
Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Heiko Voigt [Sat, 27 Feb 2010 20:47:42 +0000 (21:47 +0100)]
git-gui: fix PATH environment for mingw development environment
When creating a desktop shortcut from the gui the shortcut directly
starts wish with the git-gui script. In the msysgit development
environment some dll's reside in the mingw/bin directory which causes
that git can not start because libiconv2.dll is not found.
When using such a link the error is even more cryptic stating:
"child killed: unknown signal"
Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Heiko Voigt [Sat, 27 Feb 2010 20:45:51 +0000 (21:45 +0100)]
git-gui: fix usage of _gitworktree when creating shortcut for windows
This fixes msysGit issue 425.
Signed-off-by: Heiko Voigt <heiko.voigt@mahr.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Markus Heidelberg [Thu, 25 Feb 2010 00:14:22 +0000 (01:14 +0100)]
git-gui: fix "Explore Working Copy" for Windows again
It has already been fixed in commit
454efb47 (git-gui (Win): make
"Explore Working Copy" more robust, 2009-04-01), but has been broken in
commit
21985a11 (git-gui: handle non-standard worktree locations,
2010-01-23) by accidentally replacing too much with a new variable.
The problem can be reproduced when starting git-gui from within a
subdirectory. The solution is to convert the path name, explorer.exe is
invoked with, to a platform native name.
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Dmitry Statyvka [Fri, 30 Jul 2010 02:30:13 +0000 (04:30 +0200)]
git svn: add an option to recode pathnames
Introduce a new option 'svn.pathnameencoding' that instructs git svn to
recode pathnames to a given encoding. It can be used by windows users
and by those who work in non-utf8 locales to avoid corrupted file names
with non-ascii characters.
[rp: renamed the option and added manpage documentation]
Signed-off-by: Dmitry Statyvka <dstatyvka@tmsoft-ltd.kiev.ua>
Signed-off-by: Robert Pollak <robert.pollak@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Alejandro R. Sedeño [Wed, 28 Jul 2010 18:40:53 +0000 (14:40 -0400)]
gitweb: move highlight config out of guess_file_syntax()
Move highlight config out of guess_file_syntax() so that it can be
extended/overridden by system/user configuration.
Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David D. Kilzer [Wed, 28 Jul 2010 08:20:16 +0000 (01:20 -0700)]
Fix git rebase --continue to work with touched files
When performing a non-interactive rebase, sometimes
"git rebase --continue" will fail if an unmodified file is
touched in the working directory:
You must edit all merge conflicts and then
mark them as resolved using git add
This is caused by "git diff-files" reporting a difference
between the index and the filesystem:
:100644 100644 d00491...... 000000...... M file
The fix is to run "git update-index --refresh" before
"git diff-files" as is done in git-rebase--interactive.
Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Wed, 28 Jul 2010 07:24:27 +0000 (09:24 +0200)]
Document ls-files -t as semi-obsolete.
The behavior of "git ls-files -t" is very misleading (see
http://thread.gmane.org/gmane.comp.version-control.git/126516 and
http://thread.gmane.org/gmane.comp.version-control.git/144394/focus=144397
for examples of mislead users) and badly documented, hence we point the
users to superior alternatives.
The feature is marked as "semi-obsolete" but not "scheduled for removal"
since it's a plumbing command, scripts might use it, and Git testsuite
already uses it to test the state of the index.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Wed, 28 Jul 2010 14:11:25 +0000 (14:11 +0000)]
SubmittingPatches: Cite the 50 char subject limit
Change the SubmittingPatches recommendations to mention the 50
character soft limit on patch subject lines. 50 characters is the soft
limit mentioned in git-commit(1) and gittutorial(7), it's also the
point at which Gitweb, GitHub and various other Git front ends start
abbreviating the commit message.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Wed, 28 Jul 2010 14:12:59 +0000 (14:12 +0000)]
SubmittingPatches: Clarify the Signed-off-by rules
The wording of the Signed-off-by rules could be read as stating that
S-O-B should only be added when the submitter considered the patch
ready for inclusion in git.git.
We also want Signed-off-by to be used for e.g. RFC patches, in case
someone wants to dig an old patch out of the archive and improve
it. Change the wording to recommend a Signed-off-by for all submitted
patches.
The problem with the wording came up in the "[PATCH/RFC] Hacky version
of a glob() driven config include" thread[1]. Bert Wesarg suggested[2]
that it be removed to avoid confusion, which this change implements.
1. <
1273180440-8641-1-git-send-email-avarab@gmail.com>
2. <AANLkTimziTKL13VKIOcaS1TX1F_xvTVjH8Q398Yx36Us@mail.gmail.com>
Suggested-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Wed, 28 Jul 2010 09:39:10 +0000 (16:39 +0700)]
upload-pack: remove unused "create_full_pack" code in do_rev_list
A bit of history in chronological order, the newest at bottom:
-
80ccaa7 (upload-pack: Move the revision walker into a separate function.)
do_rev_list was introduced with create_full_pack argument
-
21edd3f (upload-pack: Run rev-list in an asynchronous function.)
do_rev_list was now called by start_async, create_full_pack was
passed by rev_list.data
-
f0cea83 (Shift object enumeration out of upload-pack)
rev_list.data was now zero permanently. Creating full pack was
done by passing --all to pack-objects
-
ae6a560 (run-command: support custom fd-set in async)
rev_list.data = 0 was found out redudant and got rid of.
Get rid of the code as well, for less headache while reading do_rev_list.
[jc: noticed by Elijah Newren]
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 Jul 2010 23:54:06 +0000 (16:54 -0700)]
Sync with 1.7.2.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 Jul 2010 23:42:47 +0000 (16:42 -0700)]
Git 1.7.2.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 Jul 2010 23:40:15 +0000 (16:40 -0700)]
Sync with 1.7.1.2
Junio C Hamano [Tue, 27 Jul 2010 22:04:49 +0000 (15:04 -0700)]
Git 1.7.1.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 Jul 2010 22:01:36 +0000 (15:01 -0700)]
Sync with 1.7.0 series
Junio C Hamano [Tue, 27 Jul 2010 21:07:41 +0000 (14:07 -0700)]
Git 1.7.0.7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Mon, 26 Jul 2010 15:06:51 +0000 (10:06 -0500)]
config --get --path: check for unset $HOME
If $HOME is unset (as in some automated build situations),
currently
git config --path path.home "~"
git config --path --get path.home
segfaults. Error out with
Failed to expand user dir in: '~/'
instead.
Reported-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stephen Boyd [Tue, 27 Jul 2010 05:40:32 +0000 (22:40 -0700)]
commit: remove full stop from usage help for -u
From api-parse-options.txt:
`description` is a short string to describe the effect of the option.
It shall begin with a lower-case letter and a full stop (`.`) shall be
omitted at the end.
It also makes it less confusing if the argument is 'no.' or 'no'.
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Mon, 26 Jul 2010 16:32:09 +0000 (18:32 +0200)]
Clarify help message when no remote is specified in fetch/pull.
The message is especially confusing when "git fetch" is ran from "git
pull", for users not aware of "git fetch". The new message makes it clear
that "fetch" means "fetch new revisions", and gives hint on the solution.
We don't add a advice.* configuration option since this message doesn't
appear in normal use, and shouldn't disturb advanced users.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 26 Jul 2010 08:40:58 +0000 (10:40 +0200)]
Makefile: add check-docs exception for gitrevisions
The manpage was added in
1ed6f2c (Documentation: gitrevisions,
2010-07-05), but since it does not have a corresponding git command,
it needs an exception for check-docs.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 26 Jul 2010 08:36:24 +0000 (10:36 +0200)]
Fix 'git' wrapper usage string
8b1fa77 (Allow passing of configuration parameters in the command
line, 2010-03-26) forgot the closing ']' for the -c option.
While we're there, also rewrap. Instead of folding the last two lines
together, try to highlight that COMMAND is required by starting a line
with it.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Fri, 23 Jul 2010 22:58:44 +0000 (22:58 +0000)]
tests: Ignore the Test::Harness .prove file
We document how to run prove with the --state option in t/README. This
produces a .prove YAML file in the current directory. Change the t/
gitignore to ignore it, and clean it up on `make clean'.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Sat, 24 Jul 2010 16:03:15 +0000 (18:03 +0200)]
Documentation/git-push: Explain status output in more detail
Mention the effects of the receive.deny* family of options for the
"remote rejected" case. While there, also split up the explanation
into an easier-to-parse list format.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>