gitweb.git
Merge branch 'nd/index-doc'Junio C Hamano Sun, 27 Mar 2011 03:13:15 +0000 (20:13 -0700)

Merge branch 'nd/index-doc'

* nd/index-doc:
doc: technical details about the index file format
doc: technical details about the index file format

Merge branch 'jc/fetch-progressive-stride'Junio C Hamano Sun, 27 Mar 2011 03:13:15 +0000 (20:13 -0700)

Merge branch 'jc/fetch-progressive-stride'

* jc/fetch-progressive-stride:
fetch-pack: use smaller handshake window for initial request
fetch-pack: progressively use larger handshake windows
fetch-pack: factor out hardcoded handshake window size

Conflicts:
builtin/fetch-pack.c

Merge branch 'svn-fe' of git://repo.or.cz/git/jrnJunio C Hamano Sat, 26 Mar 2011 18:35:41 +0000 (11:35 -0700)

Merge branch 'svn-fe' of git://repo.or.cz/git/jrn

* 'svn-fe' of git://repo.or.cz/git/jrn:
vcs-svn: handle log message with embedded NUL
vcs-svn: avoid unnecessary copying of log message and author
vcs-svn: remove buffer_read_string
vcs-svn: make reading of properties binary-safe

Merge git-gui 0.14.0Junio C Hamano Sat, 26 Mar 2011 17:42:26 +0000 (10:42 -0700)

Merge git-gui 0.14.0

vcs-svn: handle log message with embedded NULJonathan Nieder Sat, 26 Mar 2011 05:49:37 +0000 (00:49 -0500)

vcs-svn: handle log message with embedded NUL

Pass the log message by strbuf instead of as a C-style string and use
fwrite instead of printf to write it to fast-import so embedded '\0'
bytes can be preserved.

Currently "git log" doesn't show the embedded NULs but "git cat-file
commit" can.

While at it, stop including system headers from repo_tree.h. git
source files need to include git-compat-util.h (or cache.h or
builtin.h) sooner to ensure the appropriate feature test macros are
defined.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: avoid unnecessary copying of log message and... Jonathan Nieder Fri, 25 Mar 2011 04:10:00 +0000 (23:10 -0500)

vcs-svn: avoid unnecessary copying of log message and author

Use strbuf_swap when storing the svn:log and svn:author properties, so
pointers to rather than the contents of buffers get copied. The main
effect should be to make the code a little easier to read.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: remove buffer_read_stringJonathan Nieder Fri, 25 Mar 2011 04:09:19 +0000 (23:09 -0500)

vcs-svn: remove buffer_read_string

All previous users of buffer_read_string have already been converted
to use the more intuitive buffer_read_binary, so remove the old API to
avoid some confusion.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: make reading of properties binary-safeJonathan Nieder Sat, 26 Mar 2011 05:15:10 +0000 (00:15 -0500)

vcs-svn: make reading of properties binary-safe

svn-fe errors out on revision 59151 of the ASF repository:

fatal: invalid dump: unexpected end of file

The proximate cause is a property with an embedded NUL character.
Previously such anomalies were ignored but commit c9d1c8ba
(2010-12-28) introduced a check strlen(val) == len to avoid reading
uninitialized data when a property list ends early and unfortunately
this test does not distinguish between "foo" followed by EOF and the
string "foo\0bar\0baz".

Fix it by using buffer_read_binary to read to a strbuf and checking
the actual length read. Most consumers of properties still use
C-style strings, so in practice an author or log message with embedded
NULs will be truncated, but a least this way svn-fe won't error out
(fixing the regression).

Reported-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

Sync with 1.7.4.2Junio C Hamano Sat, 26 Mar 2011 00:57:08 +0000 (17:57 -0700)

Sync with 1.7.4.2

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

Git 1.7.4.2 v1.7.4.2Junio C Hamano Sat, 26 Mar 2011 00:56:14 +0000 (17:56 -0700)

Git 1.7.4.2

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

pull: do not clobber untracked files on initial pullJeff King Fri, 25 Mar 2011 18:13:31 +0000 (14:13 -0400)

pull: do not clobber untracked files on initial pull

For a pull into an unborn branch, we do not use "git merge"
at all. Instead, we call read-tree directly. However, we
used the --reset parameter instead of "-m", which turns off
the safety features.

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

merge: merge unborn index before setting refJeff King Fri, 25 Mar 2011 18:10:38 +0000 (14:10 -0400)

merge: merge unborn index before setting ref

When we merge into an unborn branch, there are basically two
steps:

1. Write the sha1 of the new commit into the ref pointed
to by HEAD.

2. Update the index with the new content, and check it out
to the working tree.

We currently do them in this order. However, (2) is the step
that is much more likely to fail, since it can be blocked by
things like untracked working tree files. When it does, the
merge fails and we are left with an empty index but an
updated HEAD.

This patch switches the order, so that a failure in updating
the index leaves us unchanged. Of course, a failure in
updating the ref now leaves us with an updated index and
mis-matched HEAD. That is arguably not much better, but it
is probably less likely to actually happen.

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

t7607: clean up stray untracked fileJeff King Fri, 25 Mar 2011 18:09:03 +0000 (14:09 -0400)

t7607: clean up stray untracked file

This file ends up conflicting with the test just after it
(causing the "git merge" to fail). Neither test is to blame
for the bug, though. It looks like the merge in 1a9fe45
(Merge branch 'tr/merge-unborn-clobber', 2011-02-09) is what
caused the conflict.

We didn't notice because the follow-on test is already
marked as expect_failure (even though it has since been
fixed, and now succeeds once the untracked file is moved out
of the way).

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

t7607: mark known breakage in test 11 as fixedJeff King Fri, 25 Mar 2011 18:08:36 +0000 (14:08 -0400)

t7607: mark known breakage in test 11 as fixed

This was fixed by 1d718a51 (do not overwrite untracked
symlinks, 2011-02-20).

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

gitweb: Fix handling of fractional timezones in parse_dateJakub Narebski Fri, 25 Mar 2011 19:20:49 +0000 (20:20 +0100)

gitweb: Fix handling of fractional timezones in parse_date

Fractional timezones, like -0330 (NST used in Canada) or +0430
(Afghanistan, Iran DST), were not handled properly in parse_date; this
means values such as 'minute_local' and 'iso-tz' were not generated
correctly.

This was caused by two mistakes:

* sign of timezone was applied only to hour part of offset, and not
as it should be also to minutes part (this affected only negative
fractional timezones).

* 'int $h + $m/60' is 'int($h + $m/60)' and not 'int($h) + $m/60',
so fractional part was discarded altogether ($h is hours, $m is
minutes, which is always less than 60).

Note that positive fractional timezones +0430, +0530 and +1030 can be
found as authortime in git.git repository itself.

For example http://repo.or.cz/w/git.git/commit/88d50e7 had authortime
of "Fri, 8 Jan 2010 18:48:07 +0000 (23:48 +0530)", which is not marked
with 'atnight', when "git show 88d50e7" gives correct author date of
"Sat Jan 9 00:18:07 2010 +0530".

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ss/git-gui-mergetool' gitgui-0.14.0Pat Thoyts Fri, 25 Mar 2011 08:26:47 +0000 (08:26 +0000)

Merge branch 'ss/git-gui-mergetool'

git-gui: detect the use of MUI langauge packs on WindowsPat Thoyts Fri, 18 Feb 2011 13:42:54 +0000 (13:42 +0000)

git-gui: detect the use of MUI langauge packs on Windows

The Tcl msgcat package doesn't detect the use of a multi-lingual language
pack on Windows 7. This means that a user may have their display language
set to Japanese but the system installed langauge was English.
This patch reads the relevent registry key to fix this before loading in
the locale specific parts of git-gui.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

tests: avoid nonportable {foo,bar} globJonathan Nieder Thu, 24 Mar 2011 08:21:24 +0000 (03:21 -0500)

tests: avoid nonportable {foo,bar} glob

Unlike bash and ksh, dash and busybox ash do not support brace
expansion (as in 'echo {hello,world}'). So when dash is sh,
t6009.13 (set up dodecapus) ends up pass a string beginning with
"root{1,2," to "git merge" verbatim and the test fails.

Fix it by introducing a variable to hold the list of parents for
the dodecapus and populating it in a more low-tech way.

While at it, simplify a little by combining this setup code with the
test it sets up for.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge: merge with the default upstream branch without... Junio C Hamano Thu, 24 Mar 2011 06:48:24 +0000 (23:48 -0700)

merge: merge with the default upstream branch without argument

"git merge" without specifying any commit is a no-op by default.

A new option merge.defaultupstream can be set to true to cause such an
invocation of the command to merge the upstream branches configured for
the current branch by using their last observed values stored in their
remote tracking branches.

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

merge: match the help text with the documentationJared Hance Thu, 10 Feb 2011 23:52:41 +0000 (18:52 -0500)

merge: match the help text with the documentation

We used to be very casual in terminology and used <branch>, <ref> and
<rev> more or less interchangeably with <commit>. Match the help text
given by "git merge -h" with that of the documentation.

Signed-off-by: Jared Hance <jaredhance@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rerere: make sure it works even in a workdir attached... Junio C Hamano Fri, 11 Mar 2011 00:02:50 +0000 (16:02 -0800)

rerere: make sure it works even in a workdir attached to a young repository

The git-new-workdir script in contrib/ makes a new work tree by sharing
many subdirectories of the .git directory with the original repository.
When rerere.enabled is set in the original repository, but the user has
not encountered any conflicts yet, the original repository may not yet
have .git/rr-cache directory.

When rerere wants to run in a new work tree created from such a young
original repository, it fails to mkdir(2) .git/rr-cache that is a symlink
to a yet-to-be-created directory.

There are three possible approaches to this:

- A naive solution is not to create a symlink in the git-new-workdir
script to a directory the original does not have (yet). This is not a
solution, as we tend to lazily create subdirectories of .git/, and
having rerere.enabled configuration set is a strong indication that the
user _wants_ to have this lazy creation to happen;

- We could always create .git/rr-cache upon repository creation. This is
tempting but will not help people with existing repositories.

- Detect this case by seeing that mkdir(2) failed with EEXIST, checking
that the path is a symlink, and try running mkdir(2) on the link
target.

This patch solves the issue by doing the third one.

Strictly speaking, this is incomplete. It does not attempt to handle
relative symbolic link that points into the original repository, but this
is good enough to help people who use contrib/workdir/git-new-workdir
script.

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

doc: technical details about the index file formatJunio C Hamano Wed, 2 Mar 2011 01:51:01 +0000 (17:51 -0800)

doc: technical details about the index file format

* Clarify "string of unsigned bytes";

* Blob has two variants (regular file vs symlink), not (blob vs symlink);

* Clarify permission mode bits;

* Clarify ce_namelen() "too long to fit in the length field" case;

* Clarify "." etc are forbidden as path components;

* Match the description with the internal wording "cache-tree";

* All types of extension begin with signature and length as explained in
the first part. Don't repeat the "length" part in the description of
each extension (can be mistaken as if there is a separate 32-bit size
field inside the extension), but state what the signature for each
extension is.

* Don't say "Extension tag", as we have said "Extension signature" in the
first part---be consistent;

* Clarify the invalidation of cache-tree entries;

* Correct description on subtree_nr field in the cache-tree;

* Clarify the order of entries in cache-tree;

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

Merge branch 'kc/gitweb-pathinfo-w-anchor'Junio C Hamano Wed, 23 Mar 2011 21:55:55 +0000 (14:55 -0700)

Merge branch 'kc/gitweb-pathinfo-w-anchor'

* kc/gitweb-pathinfo-w-anchor:
gitweb: fix #patchNN anchors when path_info is enabled

Merge branch 'jn/fortify-source-workaround'Junio C Hamano Wed, 23 Mar 2011 21:55:49 +0000 (14:55 -0700)

Merge branch 'jn/fortify-source-workaround'

* jn/fortify-source-workaround:
run-command: prettify -D_FORTIFY_SOURCE workaround

Merge branch 'jn/maint-c99-format'Junio C Hamano Wed, 23 Mar 2011 21:55:46 +0000 (14:55 -0700)

Merge branch 'jn/maint-c99-format'

* jn/maint-c99-format:
unbreak and eliminate NO_C99_FORMAT
mktag: avoid %td in format string

Merge branch 'lt/default-abbrev'Junio C Hamano Wed, 23 Mar 2011 21:55:40 +0000 (14:55 -0700)

Merge branch 'lt/default-abbrev'

* lt/default-abbrev:
Rename core.abbrevlength back to core.abbrev
Make the default abbrev length configurable

Merge branch 'pk/stash-apply-status-relative'Junio C Hamano Wed, 23 Mar 2011 21:55:37 +0000 (14:55 -0700)

Merge branch 'pk/stash-apply-status-relative'

* pk/stash-apply-status-relative:
Add test: git stash shows status relative to current dir
git stash: show status relative to current directory

Merge branch 'jc/maint-diff-q-filter'Junio C Hamano Wed, 23 Mar 2011 21:55:17 +0000 (14:55 -0700)

Merge branch 'jc/maint-diff-q-filter'

* jc/maint-diff-q-filter:
diff --quiet: disable optimization when --diff-filter=X is used

Merge branch 'pw/p4'Junio C Hamano Wed, 23 Mar 2011 21:54:24 +0000 (14:54 -0700)

Merge branch 'pw/p4'

* pw/p4:
git-p4: test sync new branch
git-p4: fix sync new branch regression

rev-list --min-parents,--max-parents: doc, test and... Michael J Gruber Wed, 23 Mar 2011 09:38:51 +0000 (10:38 +0100)

rev-list --min-parents,--max-parents: doc, test and completion

This also adds test for "--merges" and "--no-merges" which we did not
have so far.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

revision.c: introduce --min-parents and --max-parents... Michael J Gruber Mon, 21 Mar 2011 10:14:06 +0000 (11:14 +0100)

revision.c: introduce --min-parents and --max-parents options

Introduce --min-parents and --max-parents options which limit the
revisions to those commits which have at least (or at most) that many
commits, where negative arguments for --max-parents= denote infinity
(i.e. no upper limit).

In particular:

--max-parents=1 is the same as --no-merges;
--min-parents=2 is the same as --merges;
--max-parents=0 shows only roots; and
--min-parents=3 shows only octopus merges

Using --min-parents=n and --max-parents=m with n>m gives you what you ask
for (i.e. nothing) for obvious reasons, just like when you give --merges
(show only merge commits) and --no-merges (show only non-merge commits) at
the same time.

Also, introduce --no-min-parents and --no-max-parents to do the obvious
thing for convenience.

We compute the number of parents only when we limit by that, so there
is no performance impact when there are no limiters.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.5Junio C Hamano Wed, 23 Mar 2011 05:02:24 +0000 (22:02 -0700)

Update draft release notes to 1.7.5

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

Merge branch 'mg/rev-list-one-side-only'Junio C Hamano Wed, 23 Mar 2011 04:38:50 +0000 (21:38 -0700)

Merge branch 'mg/rev-list-one-side-only'

* mg/rev-list-one-side-only:
git-log: put space after commit mark
t6007: test rev-list --cherry
log --cherry: a synonym
rev-list: documentation and test for --cherry-mark
revision.c: introduce --cherry-mark
rev-list/log: factor out revision mark generation
rev-list: --left/right-only are mutually exclusive
rev-list: documentation and test for --left/right-only
t6007: Make sure we test --cherry-pick
revlist.c: introduce --left/right-only for unsymmetric picking

Merge branch 'js/maint-stash-index-copy'Junio C Hamano Wed, 23 Mar 2011 04:38:25 +0000 (21:38 -0700)

Merge branch 'js/maint-stash-index-copy'

* js/maint-stash-index-copy:
stash: copy the index using --index-output instead of cp -p
stash: fix incorrect quoting in cleanup of temporary files

Merge branch 'tl/p4'Junio C Hamano Wed, 23 Mar 2011 04:38:19 +0000 (21:38 -0700)

Merge branch 'tl/p4'

* tl/p4:
git-p4: Fix error message crash in P4Sync.commit.
Teach git-p4 to ignore case in perforce filenames if configured.
git-p4: Teach gitConfig method about arguments.

Merge branch 'mg/doc-bisect-tweak-worktree'Junio C Hamano Wed, 23 Mar 2011 04:38:15 +0000 (21:38 -0700)

Merge branch 'mg/doc-bisect-tweak-worktree'

* mg/doc-bisect-tweak-worktree:
git-bisect.txt: example for bisecting with hot-fix
git-bisect.txt: streamline run presentation

Merge branch 'jn/test-sanitize-git-env'Junio C Hamano Wed, 23 Mar 2011 04:38:12 +0000 (21:38 -0700)

Merge branch 'jn/test-sanitize-git-env'

* jn/test-sanitize-git-env:
tests: scrub environment of GIT_* variables
config: drop support for GIT_CONFIG_NOGLOBAL
gitattributes: drop support for GIT_ATTR_NOGLOBAL
tests: suppress system gitattributes
tests: stop worrying about obsolete environment variables

Merge branch 'sp/maint-upload-pack-stop-early'Junio C Hamano Wed, 23 Mar 2011 04:38:06 +0000 (21:38 -0700)

Merge branch 'sp/maint-upload-pack-stop-early'

* sp/maint-upload-pack-stop-early:
upload-pack: Implement no-done capability
upload-pack: More aggressively send 'ACK %s ready'

Merge branch 'sp/maint-fetch-pack-stop-early'Junio C Hamano Wed, 23 Mar 2011 04:38:03 +0000 (21:38 -0700)

Merge branch 'sp/maint-fetch-pack-stop-early'

* sp/maint-fetch-pack-stop-early:
fetch-pack: Implement no-done capability
fetch-pack: Finish negotation if remote replies "ACK %s ready"

Merge branch 'jc/maint-rev-list-culled-boundary'Junio C Hamano Wed, 23 Mar 2011 04:37:59 +0000 (21:37 -0700)

Merge branch 'jc/maint-rev-list-culled-boundary'

* jc/maint-rev-list-culled-boundary:
list-objects.c: don't add an unparsed NULL as a pending tree

Conflicts:
list-objects.c

Merge branch 'jc/maint-fetch-alt'Junio C Hamano Wed, 23 Mar 2011 04:37:53 +0000 (21:37 -0700)

Merge branch 'jc/maint-fetch-alt'

* jc/maint-fetch-alt:
fetch-pack: objects in our alternates are available to us
refs_from_alternate: helper to use refs from alternates

Conflicts:
builtin/receive-pack.c

Merge branch 'sg/complete-symmetric-diff'Junio C Hamano Wed, 23 Mar 2011 04:37:47 +0000 (21:37 -0700)

Merge branch 'sg/complete-symmetric-diff'

* sg/complete-symmetric-diff:
bash: complete 'git diff ...branc<TAB>'
bash: fix misindented esac statement in __git_complete_file()

Merge branch 'svn-fe' of git://repo.or.cz/git/jrnJunio C Hamano Wed, 23 Mar 2011 03:51:07 +0000 (20:51 -0700)

Merge branch 'svn-fe' of git://repo.or.cz/git/jrn

* 'svn-fe' of git://repo.or.cz/git/jrn:
vcs-svn: use strchr to find RFC822 delimiter
vcs-svn: implement perfect hash for top-level keys
vcs-svn: implement perfect hash for node-prop keys
vcs-svn: use strbuf for author, UUID, and URL
vcs-svn: use strbuf for revision log
vcs-svn: improve reporting of input errors
vcs-svn: make buffer_copy_bytes return length read
vcs-svn: make buffer_skip_bytes return length read
vcs-svn: improve support for reading large files
vcs-svn: allow input errors to be detected promptly
vcs-svn: simplify repo_modify_path and repo_copy
vcs-svn: handle_node: use repo_read_path
vcs-svn: introduce repo_read_path to check the content at a path

Merge branch 'db/length-as-hash' into svn-feJonathan Nieder Tue, 22 Mar 2011 23:44:49 +0000 (18:44 -0500)

Merge branch 'db/length-as-hash' into svn-fe

* db/length-as-hash:
vcs-svn: use strchr to find RFC822 delimiter
vcs-svn: implement perfect hash for top-level keys
vcs-svn: implement perfect hash for node-prop keys

Conflicts:
vcs-svn/svndump.c

vcs-svn: use strchr to find RFC822 delimiterDavid Barr Tue, 14 Dec 2010 00:06:43 +0000 (11:06 +1100)

vcs-svn: use strchr to find RFC822 delimiter

This is a small optimisation (4% reduction in user time) but is the
largest artifact within the parsing portion of svndump.c

Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: implement perfect hash for top-level keysDavid Barr Mon, 13 Dec 2010 08:56:01 +0000 (19:56 +1100)

vcs-svn: implement perfect hash for top-level keys

Instead of interning property names and comparing their string_pool
keys, look them up in a table by string length, which should be about
as fast.

Another small step towards removing dependence on string_pool
altogether.

Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: implement perfect hash for node-prop keysDavid Barr Mon, 13 Dec 2010 08:13:24 +0000 (19:13 +1100)

vcs-svn: implement perfect hash for node-prop keys

Instead of interning property names and comparing their string_pool
keys, look them up in a table by string length, which should be about
as fast.

This is a small step towards removing dependence on string_pool.

Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: use strbuf for author, UUID, and URLDavid Barr Tue, 22 Mar 2011 22:52:17 +0000 (17:52 -0500)

vcs-svn: use strbuf for author, UUID, and URL

Use strbufs and strings instead of interned strings for values of rev,
dump, and node fields that happen to be strings. After this change,
the only remaining string_pool use is for paths in the repo_tree API
and internals.

Functional change: treat an empty author, UUID, or URL as none at all.
So for example, in repos where the first revision has an empty
svn:author property, the first rev will be treated as by "nobody"
rather than by a person with empty name and email address created by
prepending an @ sign to the repository UUID.

Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

Merge branch 'maint'Junio C Hamano Tue, 22 Mar 2011 21:56:13 +0000 (14:56 -0700)

Merge branch 'maint'

* maint:
git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply'
bisect: visualize with git-log if gitk is unavailable

vcs-svn: use strbuf for revision logDavid Barr Mon, 21 Mar 2011 23:49:50 +0000 (10:49 +1100)

vcs-svn: use strbuf for revision log

obj_pool is overkill for this application: all that is needed is a
buffer that can resize from rev to rev to accomodate differently-sized
strings. In the spirit of commit deadcef4 (2010-11-06), use a strbuf
instead.

This is a small step towards removing dependence on obj_pool.h.

Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: improve reporting of input errorsJonathan Nieder Tue, 28 Dec 2010 10:30:54 +0000 (04:30 -0600)

vcs-svn: improve reporting of input errors

Catch input errors and exit early enough to print a reasonable
diagnosis based on errno.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: make buffer_copy_bytes return length readJonathan Nieder Tue, 28 Dec 2010 10:26:17 +0000 (04:26 -0600)

vcs-svn: make buffer_copy_bytes return length read

Currently buffer_copy_bytes does not report to its caller whether
it encountered an early end of file.

Add a return value representing the number of bytes read (but not
the number of bytes copied). This way all three unusual conditions
can be distinguished: input error with buffer_ferror, output error
with ferror(outfile), early end of input by checking the return
value.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: make buffer_skip_bytes return length readJonathan Nieder Mon, 11 Oct 2010 02:44:21 +0000 (21:44 -0500)

vcs-svn: make buffer_skip_bytes return length read

Currently there is no way to detect when input ended if it ended
early during buffer_skip_bytes. Tell the calling program how many
bytes were actually skipped for easier debugging.

Existing callers will still ignore early EOF.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

vcs-svn: improve support for reading large filesJonathan Nieder Mon, 11 Oct 2010 02:46:24 +0000 (21:46 -0500)

vcs-svn: improve support for reading large files

Move from uint32_t to off_t as the fundamental unit of length used by
the line_buffer library. Performance would get worse if anything but
I think it's worth it for support of deltas that need to skip large
pieces (> 4 GiB).

Exception: buffer_read_string still takes a uint32_t, since it keeps
its result in an in-core obj_pool.

Callers still have to be updated to take advantage of this.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

git-am.txt: advertise 'git am --abort' instead of ... SZEDER Gábor Tue, 22 Mar 2011 18:42:25 +0000 (19:42 +0100)

git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply'

'git am --abort' is around for quite a long time now, and users should
normally not poke around inside the .git directory, yet the
documentation of 'git am' still recommends the following:

... if you decide to start over from scratch,
run `rm -f -r .git/rebase-apply` ...

Suggest 'git am --abort' instead.

It's not quite the same as the original, because 'git am --abort' will
restore the original branch, while simply removing '.git/rebase-apply'
won't, but that's rather a thinko in the original wording, because
that won't actually "start over _from scratch_".

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diffcore-rename: fall back to -C when -C -C busts the... Junio C Hamano Thu, 6 Jan 2011 21:50:06 +0000 (13:50 -0800)

diffcore-rename: fall back to -C when -C -C busts the rename limit

When there are too many paths in the project, the number of rename source
candidates "git diff -C -C" finds will exceed the rename detection limit,
and no inexact rename detection is performed. We however could fall back
to "git diff -C" if the number of modified paths is sufficiently small.

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

diffcore-rename: record filepair for rename srcJunio C Hamano Thu, 6 Jan 2011 21:50:05 +0000 (13:50 -0800)

diffcore-rename: record filepair for rename src

This will allow us to later skip unmodified entries added due to "-C -C".
We might also want to do something similar to rename_dst side, but that
would only be for the sake of symmetry and not necessary for this series.

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

diffcore-rename: refactor "too many candidates" logicJunio C Hamano Thu, 6 Jan 2011 21:50:04 +0000 (13:50 -0800)

diffcore-rename: refactor "too many candidates" logic

Move the logic to a separate function, to be enhanced by later patches in
the series.

While at it, swap the condition used in the if statement from "if it is
too big then do this" to "if it would fit then do this".

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

Rebased to 'master' as the logic to use the result of this logic was
updated recently, together with the addition of eye-candy.

builtin/diff.c: remove duplicated call to diff_result_c... Junio C Hamano Tue, 22 Mar 2011 21:17:30 +0000 (14:17 -0700)

builtin/diff.c: remove duplicated call to diff_result_code()

The return value from builtin_diff_files() is fed to diff_result_code()
by the caller, and all other callees like builtin_diff_index() do not
have their own call to diff_result_code(). Remove the duplicated one
from builtin_diff_files() and let the caller handle it.

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

Remove unused variablesJohannes Schindelin Tue, 22 Mar 2011 12:50:08 +0000 (13:50 +0100)

Remove unused variables

Noticed by gcc 4.6.0.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix sparse warningsStephen Boyd Tue, 22 Mar 2011 07:51:05 +0000 (00:51 -0700)

Fix sparse warnings

Fix warnings from 'make check'.

- These files don't include 'builtin.h' causing sparse to complain that
cmd_* isn't declared:

builtin/clone.c:364, builtin/fetch-pack.c:797,
builtin/fmt-merge-msg.c:34, builtin/hash-object.c:78,
builtin/merge-index.c:69, builtin/merge-recursive.c:22
builtin/merge-tree.c:341, builtin/mktag.c:156, builtin/notes.c:426
builtin/notes.c:822, builtin/pack-redundant.c:596,
builtin/pack-refs.c:10, builtin/patch-id.c:60, builtin/patch-id.c:149,
builtin/remote.c:1512, builtin/remote-ext.c:240,
builtin/remote-fd.c:53, builtin/reset.c:236, builtin/send-pack.c:384,
builtin/unpack-file.c:25, builtin/var.c:75

- These files have symbols which should be marked static since they're
only file scope:

submodule.c:12, diff.c:631, replace_object.c:92, submodule.c:13,
submodule.c:14, trace.c:78, transport.c:195, transport-helper.c:79,
unpack-trees.c:19, url.c:3, url.c:18, url.c:104, url.c:117, url.c:123,
url.c:129, url.c:136, thread-utils.c:21, thread-utils.c:48

- These files redeclare symbols to be different types:

builtin/index-pack.c:210, parse-options.c:564, parse-options.c:571,
usage.c:49, usage.c:58, usage.c:63, usage.c:72

- These files use a literal integer 0 when they really should use a NULL
pointer:

daemon.c:663, fast-import.c:2942, imap-send.c:1072, notes-merge.c:362

While we're in the area, clean up some unused #includes in builtin files
(mostly exec_cmd.h).

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-completion: Add git help completion for aliasesJakob Pfender Mon, 21 Mar 2011 09:25:06 +0000 (10:25 +0100)

git-completion: Add git help completion for aliases

Enable bash completion for "git help <alias>", analogous to "git
<alias>", which was already implemented.

Signed-off-by: Jakob Pfender <jpfender@elegosoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

update $GIT_INDEX_FILE when there are racily clean... Junio C Hamano Mon, 21 Mar 2011 17:18:19 +0000 (10:18 -0700)

update $GIT_INDEX_FILE when there are racily clean entries

Traditional "opportunistic index update" done by read-only "diff" and
"status" was about updating cached lstat(2) information in the index for
the next round. We missed another obvious optimization opportunity: when
there are racily clean entries that will cease to be racily clean by
updating $GIT_INDEX_FILE. Detect that case and write $GIT_INDEX_FILE out
to give it a newer timestamp.

Noticed by Lasse Makholm by stracing "git status" in a fresh checkout and
counting the number of open(2) calls.

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

diff/status: refactor opportunistic index updateJunio C Hamano Mon, 21 Mar 2011 17:16:10 +0000 (10:16 -0700)

diff/status: refactor opportunistic index update

When we had to refresh the index internally before running diff or status,
we opportunistically updated the $GIT_INDEX_FILE so that later invocation
of git can use the lstat(2) we already did in this invocation.

Make them share a helper function to do so.

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

t6009: use test_commit() from test-lib.shMichael J Gruber Mon, 21 Mar 2011 10:14:05 +0000 (11:14 +0100)

t6009: use test_commit() from test-lib.sh

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bisect: visualize with git-log if gitk is unavailableJeff King Mon, 21 Mar 2011 13:14:22 +0000 (09:14 -0400)

bisect: visualize with git-log if gitk is unavailable

If gitk is not available in the PATH, bisect ends up
exiting with the shell's 127 error code, confusing the git
wrapper into thinking that bisect is not a git command.

We already fallback to git-log if there doesn't seem to be a
graphical display available. We should do the same if gitk
is not available in our PATH at all. This not only fixes the
ugly error message, but is a much more sensible default than
failing to show the user anything.

Reported by Maxin John.

Tested-by: Maxin B. John <maxin@maxinbjohn.info>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: Cover more files with make checkStephen Boyd Mon, 21 Mar 2011 09:45:03 +0000 (02:45 -0700)

Makefile: Cover more files with make check

After the builtin/ move 'make check' doesn't cover the builtin/
directory. We could just add builtin/*.c but lets just use GIT_OBJS
instead so we cover future movement of the source files.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Rename core.abbrevlength back to core.abbrevJunio C Hamano Mon, 21 Mar 2011 05:26:24 +0000 (22:26 -0700)

Rename core.abbrevlength back to core.abbrev

It corresponds to --abbrev=$n command line option after all.

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

Update drart release notes to 1.7.5Junio C Hamano Mon, 21 Mar 2011 05:24:24 +0000 (22:24 -0700)

Update drart release notes to 1.7.5

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

Merge branch 'maint'Junio C Hamano Mon, 21 Mar 2011 05:14:47 +0000 (22:14 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.4.2
Work around broken ln on solaris as used in t8006
t/README: Add a note about running commands under valgrind

Update draft release notes to 1.7.4.2Junio C Hamano Mon, 21 Mar 2011 05:14:21 +0000 (22:14 -0700)

Update draft release notes to 1.7.4.2

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

Merge branch 'sp/maint-fd-limit' into maintJunio C Hamano Mon, 21 Mar 2011 05:11:46 +0000 (22:11 -0700)

Merge branch 'sp/maint-fd-limit' into maint

* sp/maint-fd-limit:
sha1_file.c: Don't retain open fds on small packs
mingw: add minimum getrlimit() compatibility stub
Limit file descriptors used by packs

Merge branch 'mr/hpux' into maintJunio C Hamano Mon, 21 Mar 2011 05:11:15 +0000 (22:11 -0700)

Merge branch 'mr/hpux' into maint

* mr/hpux:
git-compat-util.h: Honor HP C's noreturn attribute
Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section

Merge branch 'so/submodule-no-update-first-time' into... Junio C Hamano Mon, 21 Mar 2011 05:11:02 +0000 (22:11 -0700)

Merge branch 'so/submodule-no-update-first-time' into maint

* so/submodule-no-update-first-time:
t7406: "git submodule update {--merge|--rebase]" with new submodules
submodule: no [--merge|--rebase] when newly cloned

Merge branch 'mo/perl-bidi-pipe-envfix' into maintJunio C Hamano Mon, 21 Mar 2011 05:10:31 +0000 (22:10 -0700)

Merge branch 'mo/perl-bidi-pipe-envfix' into maint

* mo/perl-bidi-pipe-envfix:
perl: command_bidi_pipe() method should set-up git environmens

Merge branch 'ae/better-template-failure-report' into... Junio C Hamano Mon, 21 Mar 2011 05:09:39 +0000 (22:09 -0700)

Merge branch 'ae/better-template-failure-report' into maint

* ae/better-template-failure-report:
Improve error messages when temporary file creation fails

Work around broken ln on solaris as used in t8006Ben Walton Mon, 21 Mar 2011 01:12:26 +0000 (21:12 -0400)

Work around broken ln on solaris as used in t8006

The test setup in t8006-blame-textconv.sh uses "ln -sf" to
overwrite an existing symlink. Unfortunately, both /usr/bin/ln
and /usr/xpg4/bin/ln on solaris 9 don't properly handle -f and -s
used at the same time. This caused the test setup and subsequent
checks to fail.

Instead, remove the symlink and then create a new one in the
setup code.

The upstream Solaris bug (fixed in 10, but not 9) is documented
here:

http://bugs.opensolaris.org/view_bug.do?bug_id=4372462

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fetch-pack: use smaller handshake window for initial... Junio C Hamano Mon, 21 Mar 2011 04:52:45 +0000 (21:52 -0700)

fetch-pack: use smaller handshake window for initial request

Start the initial request small by halving the INITIAL_FLUSH (we will try
to stay one window ahead of the server, so we would end up giving twice as
many "have" in flight at the very beginning). We may want to tweak these
values even more, taking MTU into account.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Shawn Pearce <spearce@spearce.org>

fetch-pack: progressively use larger handshake windowsJunio C Hamano Mon, 21 Mar 2011 04:52:44 +0000 (21:52 -0700)

fetch-pack: progressively use larger handshake windows

The client has to dig the history deeper when more recent parts of its
history do not have any overlap with the server it is fetching from. Make
the handshake window exponentially larger as we dig deeper, with a
reasonable upper cap.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Shawn Pearce <spearce@spearce.org>

fetch-pack: factor out hardcoded handshake window sizeJunio C Hamano Mon, 21 Mar 2011 04:52:40 +0000 (21:52 -0700)

fetch-pack: factor out hardcoded handshake window size

The "git fetch" client presents the most recent 32 commits it has to the
server and gives a chance to the server to say "ok, we heard enough", and
continues reporting what it has in chunks of 32 commits, digging its
history down to older commits.

Move the hardcoded size of the handshake window outside the code, so that
we can tweak it more easily.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Shawn Pearce <spearce@spearce.org>

Add test: git stash shows status relative to current dirPiotr Krukowiecki Mon, 14 Mar 2011 19:19:36 +0000 (20:19 +0100)

Add test: git stash shows status relative to current dir

[jc: moved "cd subdir" inside subshell and fixed comparison with expected]

Signed-off-by: Piotr Krukowiecki <piotr.krukowiecki@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/README: Add a note about running commands under valgrindCarlos Martín Nieto Tue, 15 Mar 2011 09:32:11 +0000 (10:32 +0100)

t/README: Add a note about running commands under valgrind

The test suite runs valgrind with certain options activated. Add a
note saying how to run commands under the same conditions as the test
suite does.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

checkout: tweak detached-orphan warning formatJeff King Sun, 20 Mar 2011 09:19:01 +0000 (05:19 -0400)

checkout: tweak detached-orphan warning format

When orphaning a commit on a detached HEAD, the warning
currently looks like:

Warning: you are leaving 3 commits behind, not connected to
any of your branches:

- commit subject 1
- commit subject 2
- commit subject 3

If you want to keep them by creating a new branch, this
may be a good time to do so with:

git branch new_branch_name 933a615ab0bc566dcfd8c01ec8af159f770d3fe5

Instead of using the "-" list, let's provide a more
traditional oneline format, with the abbreviated sha1 before
each subject. Users are accustomed to seeing commits in this
format, and having the sha1 of each commit can be useful if
you want to cherry-pick instead of creating a new branch.

The new format looks like:

Warning: you are leaving 3 commits behind, not connected to
any of your branches:

933a615 commit subject 1
824fcde commit subject 2
fa49b1a commit subject 3

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

checkout: clear commit marks after detached-orphan... Jeff King Sun, 20 Mar 2011 09:09:18 +0000 (05:09 -0400)

checkout: clear commit marks after detached-orphan check

When leaving a detached HEAD, we do a revision walk to make
sure the commit we are leaving isn't being orphaned.
However, this leaves crufty marks in the commit objects
which can confuse later walkers, like the one in
stat_tracking_info.

Let's clean up after ourselves to prevent this conflict.

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

checkout: add basic tests for detached-orphan warningJeff King Sun, 20 Mar 2011 09:04:16 +0000 (05:04 -0400)

checkout: add basic tests for detached-orphan warning

Commit 8e2dc6ac added a warning when we leave a detached
HEAD whose commit is not reachable from any ref tip. Let's
add a few basic tests to make sure it works.

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

Merge branch 'mm/maint-log-n-with-diff-filtering'Junio C Hamano Sun, 20 Mar 2011 06:25:38 +0000 (23:25 -0700)

Merge branch 'mm/maint-log-n-with-diff-filtering'

* mm/maint-log-n-with-diff-filtering:
log: fix --max-count when used together with -S or -G

Merge branch 'mg/rev-list-n-reverse-doc'Junio C Hamano Sun, 20 Mar 2011 06:25:32 +0000 (23:25 -0700)

Merge branch 'mg/rev-list-n-reverse-doc'

* mg/rev-list-n-reverse-doc:
git-log.txt,rev-list-options.txt: put option blocks in proper order
git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting

Merge branch 'js/rerere-forget-always-take-pathspec'Junio C Hamano Sun, 20 Mar 2011 06:24:48 +0000 (23:24 -0700)

Merge branch 'js/rerere-forget-always-take-pathspec'

* js/rerere-forget-always-take-pathspec:
rerere forget: deprecate invocation without pathspec

Merge branch 'ab/i18n-basic'Junio C Hamano Sun, 20 Mar 2011 06:24:42 +0000 (23:24 -0700)

Merge branch 'ab/i18n-basic'

* ab/i18n-basic:
i18n: "make distclean" should clean up after "make pot"
i18n: Makefile: "pot" target to extract messages marked for translation
i18n: add stub Q_() wrapper for ngettext
i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set
i18n: add GETTEXT_POISON to simulate unfriendly translator
i18n: add no-op _() and N_() wrappers
commit, status: use status_printf{,_ln,_more} helpers
commit: refer to commit template as s->fp
wt-status: add helpers for printing wt-status lines

Conflicts:
builtin/commit.c

Merge branch 'uk/ls-remote-in-get-remote-url'Junio C Hamano Sun, 20 Mar 2011 06:24:34 +0000 (23:24 -0700)

Merge branch 'uk/ls-remote-in-get-remote-url'

* uk/ls-remote-in-get-remote-url:
git-request-pull: open-code the only invocation of get_remote_url
get_remote_url(): use the same data source as ls-remote to get remote urls

Merge branch 'ss/mergetool--lib'Junio C Hamano Sun, 20 Mar 2011 06:24:27 +0000 (23:24 -0700)

Merge branch 'ss/mergetool--lib'

* ss/mergetool--lib:
mergetool--lib: Add Beyond Compare 3 as a tool
mergetool--lib: Sort tools alphabetically for easier lookup

Merge branch 'jn/status-translatable'Junio C Hamano Sun, 20 Mar 2011 06:24:19 +0000 (23:24 -0700)

Merge branch 'jn/status-translatable'

* jn/status-translatable:
commit, status: use status_printf{,_ln,_more} helpers
commit: refer to commit template as s->fp
wt-status: add helpers for printing wt-status lines

Conflicts:
builtin/commit.c

Merge branch 'jk/trace-sifter'Junio C Hamano Sun, 20 Mar 2011 06:24:12 +0000 (23:24 -0700)

Merge branch 'jk/trace-sifter'

* jk/trace-sifter:
trace: give repo_setup trace its own key
add packet tracing debug code
trace: add trace_strbuf
trace: factor out "do we want to trace" logic
trace: refactor to support multiple env variables
trace: add trace_vprintf

Merge branch 'jk/format-patch-multiline-header'Junio C Hamano Sun, 20 Mar 2011 06:24:08 +0000 (23:24 -0700)

Merge branch 'jk/format-patch-multiline-header'

* jk/format-patch-multiline-header:
format-patch: rfc2047-encode newlines in headers
format-patch: wrap long header lines
strbuf: add fixed-length version of add_wrapped_text

Merge branch 'jk/merge-rename-ux'Junio C Hamano Sun, 20 Mar 2011 06:23:56 +0000 (23:23 -0700)

Merge branch 'jk/merge-rename-ux'

* jk/merge-rename-ux:
pull: propagate --progress to merge
merge: enable progress reporting for rename detection
add inexact rename detection progress infrastructure
commit: stop setting rename limit
bump rename limit defaults (again)
merge: improve inexact rename limit warning

Merge branch 'maint'Junio C Hamano Sun, 20 Mar 2011 06:21:10 +0000 (23:21 -0700)

Merge branch 'maint'

* maint:
gitweb: Always call parse_date with timezone parameter
bisect: explain the rationale behind 125

init, clone: support --separate-git-dir for .git fileNguyễn Thái Ngọc Duy Sat, 19 Mar 2011 15:16:56 +0000 (22:16 +0700)

init, clone: support --separate-git-dir for .git file

--separate-git-dir tells git to create git dir at the specified
location, instead of where it is supposed to be. A .git file that
points to that location will be put in place so that it appears normal
to repo discovery process.

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

git-init.txt: move description section upNguyễn Thái Ngọc Duy Sat, 19 Mar 2011 15:16:55 +0000 (22:16 +0700)

git-init.txt: move description section up

It's more or less standard that synopsis is followed by description,
then options.

This is not just a clean move though:

- The paragraphs are realigned a bit
- The text mentioning git-init-db is dropped. init-db is
deprecated, no need to confuse new users

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

grep: read patterns from stdin with -f -René Scharfe Sat, 19 Mar 2011 18:33:15 +0000 (19:33 +0100)

grep: read patterns from stdin with -f -

Support the well-know convention of reading standard input instead of a
named file if "-" (dash) is specified. GNU grep does the same.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Always call parse_date with timezone parameterJakub Narebski Sat, 19 Mar 2011 22:53:55 +0000 (23:53 +0100)

gitweb: Always call parse_date with timezone parameter

Timezone is required to correctly set local time, which would be needed
for future 'localtime' feature.

While at it, remove unnecessary call to the function from git_log_body,
as its return value is not used anywhere.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>