gitweb.git
Merge branch 'jn/remote-set-branches'Junio C Hamano Fri, 18 Jun 2010 18:16:55 +0000 (11:16 -0700)

Merge branch 'jn/remote-set-branches'

* jn/remote-set-branches:
Add git remote set-branches

Conflicts:
builtin/remote.c

Merge branch 'rc/ls-remote-default'Junio C Hamano Fri, 18 Jun 2010 18:16:54 +0000 (11:16 -0700)

Merge branch 'rc/ls-remote-default'

* rc/ls-remote-default:
ls-remote: print URL when no repo is specified

Merge branch 'hg/id-munging'Junio C Hamano Fri, 18 Jun 2010 18:16:54 +0000 (11:16 -0700)

Merge branch 'hg/id-munging'

* hg/id-munging:
convert: Keep foreign $Id$ on checkout.
convert: Safer handling of $Id$ contraction.

Merge branch 'tc/merge-m-log'Junio C Hamano Fri, 18 Jun 2010 18:16:54 +0000 (11:16 -0700)

Merge branch 'tc/merge-m-log'

* tc/merge-m-log:
merge: --log appends shortlog to message if specified
fmt-merge-msg: add function to append shortlog only
fmt-merge-msg: refactor merge title formatting
fmt-merge-msg: minor refactor of fmt_merge_msg()
merge: rename variable
merge: update comment
t7604-merge-custom-message: show that --log doesn't append to -m
t7604-merge-custom-message: shift expected output creation

Conflicts:
builtin.h

Merge branch 'ph/clone-message-reword'Junio C Hamano Fri, 18 Jun 2010 18:16:53 +0000 (11:16 -0700)

Merge branch 'ph/clone-message-reword'

* ph/clone-message-reword:
clone: reword messages to match the end-user perception

t/t8006: test textconv support for blameAxel Bonnet Mon, 7 Jun 2010 15:23:38 +0000 (17:23 +0200)

t/t8006: test textconv support for blame

Test the correct functionning of textconv with blame <file> and blame HEAD^ <file>.
Test the case when no driver is specified.

Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_name: add get_sha1_with_context()Clément Poulain Wed, 9 Jun 2010 17:02:06 +0000 (19:02 +0200)

sha1_name: add get_sha1_with_context()

Textconv is defined by the diff driver, which is associated with a pathname,
not a blob. This fonction permits to know the context for the sha1 you're
looking for, especially his pathname

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: Junio C Hamano <gitster@pobox.com>

textconv: support for blameAxel Bonnet Tue, 15 Jun 2010 13:58:48 +0000 (15:58 +0200)

textconv: support for blame

This patches enables to perform textconv with blame if a textconv driver is
available fos the file.

The main task is performed by the textconv_object function which prepares
diff_filespec and if possible converts the file using diff textconv API.
Only regular files are converted, so the mode of diff_filespec is faked.

Textconv conversion is enabled by default (equivalent to the option
--textconv), since blaming binary files is useless in most cases.
The option --no-textconv is used to disable textconv conversion.

The declarations of several functions are modified to give access to a
diff_options, in order to know whether the textconv option is activated or not.

Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git.pm: better error messagePhilippe Bruhat (BooK) Thu, 17 Jun 2010 23:47:31 +0000 (01:47 +0200)

Git.pm: better error message

Provide the bad directory name alongside with $!

Note: $! is set if there is "No such file or directory",
but isn't set if the file exists but is not a directory.

Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: ask about and declare 8bit mailsThomas Rast Thu, 17 Jun 2010 20:10:39 +0000 (22:10 +0200)

send-email: ask about and declare 8bit mails

git-send-email passes on an 8bit mail as-is even if it does not
declare a content-type. Because the user can edit email between
format-patch and send-email, such invalid mails are unfortunately not
very hard to come by.

Make git-send-email stop and ask about the encoding to use if it
encounters any such mail. Also provide a configuration setting to
permanently configure an encoding.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

unpack-trees: Make index lookahead less pessimalBrian Downing Fri, 11 Jun 2010 02:59:07 +0000 (21:59 -0500)

unpack-trees: Make index lookahead less pessimal

When traversing trees with an index, the current index pointer
(o->cache_bottom) occasionally has to be temporarily advanced forwards to
match the traversal order of the tree, which is not the same as the sort
order of the index. The existing algorithm that did this (introduced in
730f72840cc50c523fe4cdd796ea2d2fc4571a28) would get "stuck" when the
cache_bottom was popped and then repeatedly check the same index entries
over and over. This represents a serious performance regression for
large repositories compared to the old "broken" traversal order.

This commit makes a simple change to mitigate this. Whenever
find_cache_pos sees that the current pos is also the cache_bottom, and
it has already been unpacked, it advances the cache_bottom as well as
the current pos. This prevents the above "sticking" behavior without
dramatically changing the algorithm.

In addition, this commit moves the unpacked check above the
ce_in_traverse_path() check. The simple bitmask check is cheaper, and
in the case described above will be firing quite a bit to advance the
cache_bottom after a tree pop.

This yields considerable performance improvements for large trees.
The following are the number of function calls for "git diff HEAD" on
the Linux kernel tree, with 33,307 files:

Symbol Calls Before Calls After
------------------- ------------ -----------
unpack_callback 35,332 35,332
find_cache_pos 37,357 37,357
ce_in_traverse_path 4,979,473 37,357
do_compare_entry 6,828,181 251,925
df_name_compare 6,828,181 251,925

And on a repository of 187,456 files:

Symbol Calls Before Calls After
------------------- ------------ -----------
unpack_callback 197,958 197,958
find_cache_pos 208,460 208,460
ce_in_traverse_path 37,308,336 208,460
do_compare_entry 156,950,469 2,690,626
df_name_compare 156,950,469 2,690,626

On the latter repository, user time for "git diff HEAD" was reduced from
5.58 to 0.42 seconds. This is compared to 0.30 seconds before the
traversal order fix was implemented.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.2Junio C Hamano Thu, 17 Jun 2010 00:10:11 +0000 (17:10 -0700)

Update draft release notes to 1.7.2

... to exclude items meant to go to 1.7.1.1

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

Merge 'maint' updates inJunio C Hamano Thu, 17 Jun 2010 00:09:20 +0000 (17:09 -0700)

Merge 'maint' updates in

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

Prepare draft release notes to 1.7.1.1Junio C Hamano Wed, 16 Jun 2010 23:56:53 +0000 (16:56 -0700)

Prepare draft release notes to 1.7.1.1

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

Merge branch 'tr/receive-pack-aliased-update-fix' into... Junio C Hamano Wed, 16 Jun 2010 23:36:56 +0000 (16:36 -0700)

Merge branch 'tr/receive-pack-aliased-update-fix' into js/maint-receive-pack-symref-alias

* tr/receive-pack-aliased-update-fix:
check_aliased_update: strcpy() instead of strcat() to copy

Merge branch 'cw/maint-exec-defpath' into maintJunio C Hamano Wed, 16 Jun 2010 23:33:47 +0000 (16:33 -0700)

Merge branch 'cw/maint-exec-defpath' into maint

* cw/maint-exec-defpath:
autoconf: Check if <paths.h> exists and set HAVE_PATHS_H
exec_cmd.c: replace hard-coded path list with one from <paths.h>

Merge branch 'sc/http-late-auth' into maintJunio C Hamano Wed, 16 Jun 2010 23:32:15 +0000 (16:32 -0700)

Merge branch 'sc/http-late-auth' into maint

* sc/http-late-auth:
Prompt for a username when an HTTP request 401s

Merge branch 'by/blame-doc-m-c' into maintJunio C Hamano Wed, 16 Jun 2010 23:23:51 +0000 (16:23 -0700)

Merge branch 'by/blame-doc-m-c' into maint

* by/blame-doc-m-c:
blame-options.txt: Add default value for `-M/-C` options.

Merge branch 'cb/maint-stash-orphaned-file' into maintJunio C Hamano Wed, 16 Jun 2010 23:23:48 +0000 (16:23 -0700)

Merge branch 'cb/maint-stash-orphaned-file' into maint

* cb/maint-stash-orphaned-file:
stash tests: stash can lose data in a file removed from the index
stash: Don't overwrite files that have gone from the index

Merge branch 'mg/advice-statushints' into maintJunio C Hamano Wed, 16 Jun 2010 23:23:42 +0000 (16:23 -0700)

Merge branch 'mg/advice-statushints' into maint

* mg/advice-statushints:
wt-status: take advice.statusHints seriously
t7508: test advice.statusHints

Merge branch 'jn/maint-bundle' into maintJunio C Hamano Wed, 16 Jun 2010 23:23:22 +0000 (16:23 -0700)

Merge branch 'jn/maint-bundle' into maint

* jn/maint-bundle:
fix "bundle --stdin" segfault
t5704 (bundle): add tests for bundle --stdin

Merge branch 'rr/doc-submitting' into maintJunio C Hamano Wed, 16 Jun 2010 23:23:14 +0000 (16:23 -0700)

Merge branch 'rr/doc-submitting' into maint

* rr/doc-submitting:
SubmittingPatches: Add new section about what to base work on

Merge branch 'jn/t7006-fixup' into maintJunio C Hamano Wed, 16 Jun 2010 23:22:57 +0000 (16:22 -0700)

Merge branch 'jn/t7006-fixup' into maint

* jn/t7006-fixup:
t7006: guard cleanup with test_expect_success

Merge branch 'jn/shortlog' into maintJunio C Hamano Wed, 16 Jun 2010 23:22:51 +0000 (16:22 -0700)

Merge branch 'jn/shortlog' into maint

* jn/shortlog:
pretty: Respect --abbrev option
shortlog: Document and test --format option
t4201 (shortlog): Test output format with multiple authors
t4201 (shortlog): guard setup with test_expect_success
Documentation/shortlog: scripted users should not rely on implicit HEAD

Merge branch 'np/index-pack-memsave' into maintJunio C Hamano Wed, 16 Jun 2010 23:22:23 +0000 (16:22 -0700)

Merge branch 'np/index-pack-memsave' into maint

* np/index-pack-memsave:
index-pack: smarter memory usage when appending objects
index-pack: rationalize unpack_entry_data()
index-pack: smarter memory usage when resolving deltas

Merge branch 'sp/maint-dumb-http-pack-reidx' into maintJunio C Hamano Wed, 16 Jun 2010 23:21:30 +0000 (16:21 -0700)

Merge branch 'sp/maint-dumb-http-pack-reidx' into maint

* sp/maint-dumb-http-pack-reidx:
http.c::new_http_pack_request: do away with the temp variable filename
http-fetch: Use temporary files for pack-*.idx until verified
http-fetch: Use index-pack rather than verify-pack to check packs
Allow parse_pack_index on temporary files
Extract verify_pack_index for reuse from verify_pack
Introduce close_pack_index to permit replacement
http.c: Remove unnecessary strdup of sha1_to_hex result
http.c: Don't store destination name in request structures
http.c: Drop useless != NULL test in finish_http_pack_request
http.c: Tiny refactoring of finish_http_pack_request
t5550-http-fetch: Use subshell for repository operations
http.c: Remove bad free of static block

Merge branch 'jc/am-3-show-corrupted-patch' into maintJunio C Hamano Wed, 16 Jun 2010 23:21:23 +0000 (16:21 -0700)

Merge branch 'jc/am-3-show-corrupted-patch' into maint

* jc/am-3-show-corrupted-patch:
am -3: recover the diagnostic messages for corrupt patches

Merge branch 'sp/maint-describe-tiebreak-with-tagger... Junio C Hamano Wed, 16 Jun 2010 23:21:15 +0000 (16:21 -0700)

Merge branch 'sp/maint-describe-tiebreak-with-tagger-date' into maint

* sp/maint-describe-tiebreak-with-tagger-date:
describe: Break annotated tag ties by tagger date
tag.c: Parse tagger date (if present)
tag.c: Refactor parse_tag_buffer to be saner to program
tag.h: Remove unused signature field
tag.c: Correct indentation

Merge branch 'np/malloc-threading' into maintJunio C Hamano Wed, 16 Jun 2010 23:21:06 +0000 (16:21 -0700)

Merge branch 'np/malloc-threading' into maint

* np/malloc-threading:
Thread-safe xmalloc and xrealloc needs a recursive mutex
Make xmalloc and xrealloc thread-safe

Merge branch 'bg/send-email-smtpdomain' into maintJunio C Hamano Wed, 16 Jun 2010 23:20:06 +0000 (16:20 -0700)

Merge branch 'bg/send-email-smtpdomain' into maint

* bg/send-email-smtpdomain:
send-email: Cleanup smtp-domain and add config
Document send-email --smtp-domain
send-email: Don't use FQDNs without a '.'
send-email: Cleanup { style

Merge branch 'rc/maint-curl-helper' into maintJunio C Hamano Wed, 16 Jun 2010 23:19:43 +0000 (16:19 -0700)

Merge branch 'rc/maint-curl-helper' into maint

* rc/maint-curl-helper:
remote-curl: ensure that URLs have a trailing slash
http: make end_url_with_slash() public
t5541-http-push: add test for URLs with trailing slash

Conflicts:
remote-curl.c

Merge branch 'hg/maint-attr-fix' into maintJunio C Hamano Wed, 16 Jun 2010 23:17:54 +0000 (16:17 -0700)

Merge branch 'hg/maint-attr-fix' into maint

* hg/maint-attr-fix:
attr: Expand macros immediately when encountered.
attr: Allow multiple changes to an attribute on the same line.
attr: Fixed debug output for macro expansion.

Merge branch 'mh/status-optionally-refresh' into maintJunio C Hamano Wed, 16 Jun 2010 23:16:40 +0000 (16:16 -0700)

Merge branch 'mh/status-optionally-refresh' into maint

* mh/status-optionally-refresh:
t7508: add a test for "git status" in a read-only repository
git status: refresh the index if possible
t7508: add test for "git status" refreshing the index

pretty: Introduce ' ' modifier to add space if non... Michael J Gruber Mon, 14 Jun 2010 16:12:29 +0000 (18:12 +0200)

pretty: Introduce ' ' modifier to add space if non-empty

We have the '+' modifiier which helps combine format specifiers which
may possibly be empty, e.g. '%s%+b%n'.

Introduce an analogous ' ' (space) modifier which adds a space before
non-empty items. This helps assemble "one line type" format specifiers.

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

common_prefix: simplify and fix scanning for prefixesJunio C Hamano Tue, 15 Jun 2010 23:02:03 +0000 (01:02 +0200)

common_prefix: simplify and fix scanning for prefixes

common_prefix() scans backwards from the far end of each 'next'
pathspec, starting from 'len', shortening the 'prefix' using 'path' as
a reference.

However, there is a small opportunity for an out-of-bounds access
because len is unconditionally set to prefix-1 after a "direct match"
test failed. This means that if 'next' is shorter than prefix+2, we
read past it.

Instead of a minimal fix, simplify the loop: scan *forward* over the
'next' entry, remembering the last '/' where it matched the prefix
known so far. This is far easier to read and also has the advantage
that we only scan over each entry once.

Acked-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: Add --signature and format.signatureStephen Boyd Wed, 16 Jun 2010 05:59:26 +0000 (22:59 -0700)

completion: Add --signature and format.signature

Cc: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

format-patch: Add a signature option (--signature)Stephen Boyd Wed, 16 Jun 2010 05:59:25 +0000 (22:59 -0700)

format-patch: Add a signature option (--signature)

By default, git uses the version string as the signature for all
patches output by format-patch. Many employers (mine included)
require the use of a signature on all outgoing mails. In a
format-patch | send-email workflow there isn't an easy way to modify
the signature without breaking the pipe and manually replacing the
version string with the signature required. Instead of doing all that
work, add an option (--signature) and a config variable
(format.signature) to replace the default git version signature when
formatting patches.

This does modify the original behavior of format-patch a bit. First
off the version string is now placed in the cover letter by default.
Secondly, once the configuration variable format.signature is added
to the .config file there is no way to revert back to the default
git version signature. Instead, specifying the --no-signature option
will remove the signature from the patches entirely.

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

am: use get_author_ident_from_commit instead of mailinf... Jay Soffian Wed, 16 Jun 2010 07:12:40 +0000 (03:12 -0400)

am: use get_author_ident_from_commit instead of mailinfo when rebasing

In certain situations, commit authorship can consist of an invalid
e-mail address. For example, this is the case when working with git svn
repos where the author email has had the svn repo UUID appended such as:

author@example.com <author@example.com@deadbeef-dead-beef-dead-beefdeadbeef>

Given such an address, mailinfo extracts the authorship incorrectly as
it assumes a valid domain. However, when rebasing the original
authorship should be preserved irrespective of its validity as an email
address.

Using get_author_ident_from_commit instead of mailinfo when rebasing
preserves the original authorship.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes: Initialize variable to appease Sun StudioÆvar Arnfjörð Bjarmason Mon, 14 Jun 2010 23:40:05 +0000 (23:40 +0000)

notes: Initialize variable to appease Sun Studio

Sun Studio 12 Update 1 thinks that *t could be uninitialized,
ostensibly because it doesn't take rewrite_cmd into account in its
static analysis.

builtin/notes.c: In function `notes_copy_from_stdin':
builtin/notes.c:419: warning: 't' might be used uninitialized in this function

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Return or exit after done serving requestJakub Narebski Sun, 13 Jun 2010 10:09:32 +0000 (12:09 +0200)

gitweb: Return or exit after done serving request

Check if there is a caller in top frame of gitweb, and either 'return'
if gitweb code is wrapped in subroutine, or 'exit' if it is not.

This should avoid

gitweb.cgi: Subroutine git_SOMETHING redefined at gitweb.cgi line NNN

warnings in error_log when running gitweb with mod_perl (using
ModPerl::Registry handler)

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

Make :/ accept a regex rather than a fixed patternLinus Torvalds Fri, 23 Apr 2010 15:20:20 +0000 (08:20 -0700)

Make :/ accept a regex rather than a fixed pattern

This also makes it trigger anywhere in the commit message, rather than
just at the beginning. Which tends to be a lot more useful.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.2Junio C Hamano Mon, 14 Jun 2010 16:53:02 +0000 (09:53 -0700)

Update draft release notes to 1.7.2

It is loooong overdue.

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

Merge git://git.bogomips.org/git-svnJunio C Hamano Mon, 14 Jun 2010 17:05:09 +0000 (10:05 -0700)

Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
git svn: avoid unnecessary '/' in paths for SVN
git-svn: strip off leading slashes on --trunk argument

git svn: avoid unnecessary '/' in paths for SVNEric Wong Mon, 14 Jun 2010 04:31:10 +0000 (04:31 +0000)

git svn: avoid unnecessary '/' in paths for SVN

svn:// servers are more picky regarding redundant slashes
than file:// and http(s)://-backed respositories. Since
the last commit, we avoid putting unnecessary slashes in
$GIT_CONFIG, but this doesn't help users who are already
set up that way.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git-svn: strip off leading slashes on --trunk argumentJonathan Nieder Sun, 13 Jun 2010 11:27:43 +0000 (06:27 -0500)

git-svn: strip off leading slashes on --trunk argument

The following command

git svn clone \
-r9500:10006 \
svn://svn.debian.org/svn/pkg-games/packages \
--trunk=/trunk/freedoom \
--branches=/branches/freedoom \
--tags=/tags/freedoom \
freedoom.git.2009091

produces strange results:

With v1.6.3.3 (and perhaps earlier versions), this would fetch up to
and including r9978 (the last revision of the no_iwad_alternatives
branch before it was deleted), check it out, and prematurely declare
success, leaving out some commits to the trunk (r9984, r9985, r10006)
from after the branch was merged.

With v1.6.5-rc0~74 (svn: allow branches outside of refs/remotes,
2009-08-11) and later, this fetches up to and including r9978 and then
attempts a post-fetch checkout and fails.

r9978 = 25f0920175c395f0f22f54ae7a2318147f745274
(refs/remotes/no_iwad_alternatives)
fatal: refs/remotes/trunk: not a valid SHA1
update-ref refs/heads/master refs/remotes/trunk: command returned error: 128

Checking .git/config reveals

fetch = packages//trunk/freedoom:refs/remotes/trunk

And with both 1.6.3.3 and 1.7.1, using --trunk=trunk/freedom without
the leading slash (/) works fine.

Moral: git-svn needs to scrub an initial / from $_trunk and related
arguments it receives. Make it so.

Reported-by: Jon Dowland <jmtd@debian.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'maint'Junio C Hamano Mon, 14 Jun 2010 04:02:16 +0000 (21:02 -0700)

Merge branch 'maint'

* maint:
git-mailinfo documentation: clarify -u/--encoding

git-mailinfo documentation: clarify -u/--encodingZhang Le Sun, 13 Jun 2010 18:49:47 +0000 (02:49 +0800)

git-mailinfo documentation: clarify -u/--encoding

Instead of talking about hardcoded UTF-8, describe i18n.commitencoding
and the --encoding option, and state that they default to UTF-8.

Signed-off-by: Zhang Le <r0bertz@gentoo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove python 2.5'ismsBrandon Casey Thu, 10 Jun 2010 00:24:54 +0000 (19:24 -0500)

Remove python 2.5'isms

The following python 2.5 features were worked around:

* the sha module is used as a fallback when the hashlib module is
not available
* the 'any' built-in method was replaced with a 'for' loop
* a conditional expression was replaced with an 'if' statement
* the subprocess.check_call method was replaced by a call to
subprocess.Popen followed by a call to subprocess.wait with a
check of its return status

These changes allow the python infrastructure to be used with python 2.4
which is distributed with RedHat's RHEL 5, for example.

t5800 was updated to check for python >= 2.4 to reflect these changes.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONSBrandon Casey Wed, 9 Jun 2010 21:23:59 +0000 (16:23 -0500)

Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS

The PYTHON_PATH environment variable is not set when running test scripts
manually i.e. when not using 'make test'. Scripts which attempt to use
this variable will fail. So add it to the list of variables written to
the GIT-BUILD-OPTIONS file so that the test suite will import it when
running the test scripts.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ab/cvsserver'Junio C Hamano Sun, 13 Jun 2010 18:22:42 +0000 (11:22 -0700)

Merge branch 'ab/cvsserver'

* ab/cvsserver:
git-cvsserver: test for pserver authentication support
git-cvsserver: document making a password without htpasswd
git-cvsserver: Improved error handling for pserver
git-cvsserver: indent & clean up authdb code
git-cvsserver: use a password file cvsserver pserver
git-cvsserver: authentication support for pserver

Merge branch 'mg/notes-dry-run'Junio C Hamano Sun, 13 Jun 2010 18:22:39 +0000 (11:22 -0700)

Merge branch 'mg/notes-dry-run'

* mg/notes-dry-run:
notes: dry-run and verbose options for prune

Merge branch 'mc/maint-zoneparse'Junio C Hamano Sun, 13 Jun 2010 18:22:30 +0000 (11:22 -0700)

Merge branch 'mc/maint-zoneparse'

* mc/maint-zoneparse:
Add "Z" as an alias for the timezone "UTC"

Merge branch 'jk/diff-m-doc'Junio C Hamano Sun, 13 Jun 2010 18:22:27 +0000 (11:22 -0700)

Merge branch 'jk/diff-m-doc'

* jk/diff-m-doc:
docs: clarify meaning of -M for git-log

Merge branch 'jn/maint-doc-ignore'Junio C Hamano Sun, 13 Jun 2010 18:22:15 +0000 (11:22 -0700)

Merge branch 'jn/maint-doc-ignore'

* jn/maint-doc-ignore:
gitignore.5: Clarify matching rules

Merge branch 'jn/fsck-ident'Junio C Hamano Sun, 13 Jun 2010 18:22:09 +0000 (11:22 -0700)

Merge branch 'jn/fsck-ident'

* jn/fsck-ident:
fsck: fix bogus commit header check

Merge branch 'bs/userdiff-php'Junio C Hamano Sun, 13 Jun 2010 18:22:05 +0000 (11:22 -0700)

Merge branch 'bs/userdiff-php'

* bs/userdiff-php:
diff: Support visibility modifiers in the PHP hunk header regexp

Merge branch 'jk/maint-sha1-file-name-fix'Junio C Hamano Sun, 13 Jun 2010 18:22:00 +0000 (11:22 -0700)

Merge branch 'jk/maint-sha1-file-name-fix'

* jk/maint-sha1-file-name-fix:
remove over-eager caching in sha1_file_name

Merge branch 'jk/maint-pull-dry-run-noop'Junio C Hamano Sun, 13 Jun 2010 18:21:55 +0000 (11:21 -0700)

Merge branch 'jk/maint-pull-dry-run-noop'

* jk/maint-pull-dry-run-noop:
pull: do nothing on --dry-run

Merge branch 'ab/submodule-foreach-toplevel'Junio C Hamano Sun, 13 Jun 2010 18:21:49 +0000 (11:21 -0700)

Merge branch 'ab/submodule-foreach-toplevel'

* ab/submodule-foreach-toplevel:
git-submodule foreach: Add $toplevel variable

Merge branch 'rs/grep-binary'Junio C Hamano Sun, 13 Jun 2010 18:21:44 +0000 (11:21 -0700)

Merge branch 'rs/grep-binary'

* rs/grep-binary:
grep: support NUL chars in search strings for -F
grep: use REG_STARTEND for all matching if available
grep: continue case insensitive fixed string search after NUL chars
grep: use memmem() for fixed string search
grep: --name-only over binary
grep: --count over binary
grep: grep: refactor handling of binary mode options
grep: add test script for binary file handling

Merge branch 'jn/gitweb-syntax-highlight'Junio C Hamano Sun, 13 Jun 2010 18:21:37 +0000 (11:21 -0700)

Merge branch 'jn/gitweb-syntax-highlight'

* jn/gitweb-syntax-highlight:
gitweb: Refactor syntax highlighting support
gitweb: Syntax highlighting support

Merge branch 'js/maint-windows'Junio C Hamano Sun, 13 Jun 2010 18:21:30 +0000 (11:21 -0700)

Merge branch 'js/maint-windows'

* js/maint-windows:
Recent MinGW has a C99 implementation of snprintf functions
mingw: use _commit to implement fsync

Merge branch 'bw/diff-metainfo-color'Junio C Hamano Sun, 13 Jun 2010 18:21:25 +0000 (11:21 -0700)

Merge branch 'bw/diff-metainfo-color'

* bw/diff-metainfo-color:
diff: fix coloring of extended diff headers

Merge branch 'js/try-to-free-stackable'Junio C Hamano Sun, 13 Jun 2010 18:21:21 +0000 (11:21 -0700)

Merge branch 'js/try-to-free-stackable'

* js/try-to-free-stackable:
Do not call release_pack_memory in malloc wrappers when GIT_TRACE is used
Have set_try_to_free_routine return the previous routine

Merge branch 'jn/make-header-dependency'Junio C Hamano Sun, 13 Jun 2010 18:21:17 +0000 (11:21 -0700)

Merge branch 'jn/make-header-dependency'

* jn/make-header-dependency:
Makefile: let header dependency checker override COMPUTE_HEADER_DEPENDENCIES
Makefile: fix header dependency checker to allow NO_CURL builds

Merge branch 'cb/assume-unchanged-fix'Junio C Hamano Sun, 13 Jun 2010 18:21:11 +0000 (11:21 -0700)

Merge branch 'cb/assume-unchanged-fix'

* cb/assume-unchanged-fix:
Documentation: git-add does not update files marked "assume unchanged"
do not overwrite files marked "assume unchanged"

Merge branch 'jn/notes-doc'Junio C Hamano Sun, 13 Jun 2010 18:21:06 +0000 (11:21 -0700)

Merge branch 'jn/notes-doc'

* jn/notes-doc:
Documentation/notes: nitpicks
Documentation/notes: clean up description of rewriting configuration
Documentation/notes: simplify treatment of default display refs
Documentation/log: add a CONFIGURATION section
Documentation/notes: simplify treatment of default notes ref
Documentation/notes: add configuration section
Documentation/notes: describe content of notes blobs
Documentation/notes: document format of notes trees

Merge branch 'wp/pretty-enhancement'Junio C Hamano Sun, 13 Jun 2010 18:21:00 +0000 (11:21 -0700)

Merge branch 'wp/pretty-enhancement'

* wp/pretty-enhancement:
pretty: initialize new cmt_fmt_map to 0
pretty: add aliases for pretty formats
pretty: add infrastructure for commit format aliases
pretty: make it easier to add new formats

Merge branch 'ab/test-cleanup'Junio C Hamano Sun, 13 Jun 2010 18:20:57 +0000 (11:20 -0700)

Merge branch 'ab/test-cleanup'

* ab/test-cleanup:
Turn setup code in t2007-checkout-symlink.sh into a test
Move t6000lib.sh to lib-*

Merge branch 'jn/maint-amend-missing-name'Junio C Hamano Sun, 13 Jun 2010 18:20:52 +0000 (11:20 -0700)

Merge branch 'jn/maint-amend-missing-name'

* jn/maint-amend-missing-name:
commit --amend: cope with missing display name

Merge branch 'rs/diff-no-minimal'Junio C Hamano Sun, 13 Jun 2010 18:20:46 +0000 (11:20 -0700)

Merge branch 'rs/diff-no-minimal'

* rs/diff-no-minimal:
git diff too slow for a file

Merge branch 'maint'Junio C Hamano Sun, 13 Jun 2010 17:47:17 +0000 (10:47 -0700)

Merge branch 'maint'

* maint:
add-interactive: Clarify “remaining hunks in the file”

add-interactive: Clarify “remaining hunks in the file”Jonathan Nieder Sun, 13 Jun 2010 03:32:51 +0000 (22:32 -0500)

add-interactive: Clarify “remaining hunks in the file”

The "a" and "d" commands to ‘add --patch’ (accept/reject rest of file)
interact with "j", "g", and "/" (skip some hunks) in a perhaps
confusing way: after accepting or rejecting all _later_ hunks in the
file, they return to the earlier, skipped hunks and prompt the user
about them again.

This behavior can be very useful in practice. One can still accept or
reject _all_ undecided hunks in a file by using the "g" command to
move to hunk #1 first.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Fix typo in hash key name in %opts in git_heade... Jakub Narebski Sat, 12 Jun 2010 22:35:59 +0000 (00:35 +0200)

gitweb: Fix typo in hash key name in %opts in git_header_html

The name of the key has to be the same in call site handle_errors_html
and in called subroutine that uses it, i.e. git_header_html.

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

commit: use value of GIT_REFLOG_ACTION env variable... Christian Couder Sat, 12 Jun 2010 16:05:12 +0000 (18:05 +0200)

commit: use value of GIT_REFLOG_ACTION env variable as reflog message

The environment variable GIT_REFLOG_ACTION was used by git-commit.sh,
but when it was converted to a builtin
(f5bbc3225c4b073a7ff3218164a0c820299bc9c6, Port git commit to C,
Nov 8 2007) this was lost.

Let's use it again as it is more user friendly when reverting or
cherry-picking to see "revert" or "cherry-pick" in the reflog rather
than to just see "commit".

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit::print_summary(): don't use format_commit_message()Tay Ray Chuan Sat, 12 Jun 2010 14:15:39 +0000 (22:15 +0800)

commit::print_summary(): don't use format_commit_message()

This attempts to fix a regression in git-commit, where non-abbreviated
SHA-1s were printed in the summary.

One possible fix would be to set ctx.abbrev to DEFAULT_ABBREV in the
`if` block, where format_commit_message() is used.

Instead, we do away with the format_commit_message() codeblock
altogether, replacing it with a re-run of log_tree_commit().

We re-run log_tree_commit() with rev.always_show_header set, to force
the invocation of show_log(). The effect of this flag can be seen from
this excerpt from log-tree.c:560, the only area that
rev.always_show_header is checked:

shown = log_tree_diff(opt, commit, &log);
if (!shown && opt->loginfo && opt->always_show_header) {
log.parent = NULL;
show_log(opt);
shown = 1;
}

We also set rev.use_terminator, so that a newline is appended at the end
of the log message. Note that callers in builtin/log.c that also set
rev.always_show_header don't have to set rev.use_terminator, but still
get a newline, because they are wrapped in a pager.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

parseopt: wrap rev-parse --parseopt usage for eval... Thomas Rast Sat, 12 Jun 2010 12:57:39 +0000 (14:57 +0200)

parseopt: wrap rev-parse --parseopt usage for eval consumption

9c7304e (print the usage string on stdout instead of stderr,
2010-05-17) broke rev-parse --parseopt: when run with -h, the usage
notice on stdout ended up in the shell eval.

Wrap the usage in a cat <<\EOF ... EOF block when printing to stdout.
I do not expect any usage lines to ever start with EOF so this
shouldn't be an undue burden.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

log_ref_setup: don't return stack-allocated arrayThomas Rast Thu, 10 Jun 2010 12:54:03 +0000 (14:54 +0200)

log_ref_setup: don't return stack-allocated array

859c301 (refs: split log_ref_write logic into log_ref_setup,
2010-05-21) refactors the stack allocation of the log_file array into
the new log_ref_setup() function, but passes it back to the caller.

Since the original intent seems to have been to split the work between
log_ref_setup and log_ref_write, make it the caller's responsibility
to allocate the buffer.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sat, 12 Jun 2010 05:05:58 +0000 (22:05 -0700)

Merge branch 'maint'

* maint:
t/README: document --root option
Makefile: default pager on AIX to "more"

check_aliased_update: strcpy() instead of strcat()... Thomas Rast Thu, 10 Jun 2010 18:43:51 +0000 (20:43 +0200)

check_aliased_update: strcpy() instead of strcat() to copy

da3efdb (receive-pack: detect aliased updates which can occur with
symrefs, 2010-04-19) introduced two strcat() into uninitialized
strings. The intent was clearly make a copy of the static buffer used
by find_unique_abbrev(), so use strcpy() instead.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Tested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/README: document --root optionThomas Rast Thu, 10 Jun 2010 18:24:46 +0000 (20:24 +0200)

t/README: document --root option

We've had this option since f423ef5 (tests: allow user to specify
trash directory location, 2009-08-09). Make it easier to look up :-)

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fast-import: die_nicely() back to vsnprintf (reverts... Thomas Rast Fri, 11 Jun 2010 15:02:50 +0000 (17:02 +0200)

fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f)

ebaa79f (Make report() from usage.c public as vreportf() and use it.,
2010-03-06) changed fast-import's die_nicely() to use vreportf().
Unfortunately this is not possible: we need the message again for
write_report(), and vreportf() uses vsnprintf(), which invalidates the
va_list. As pointed out by Erik Faye-Lund, va_copy is C99 and thus
not an option.

So revert the part of ebaa79f that pertains to die_nicely().

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

test-lib: use DIFF definition from GIT-BUILD-OPTIONSJunio C Hamano Fri, 11 Jun 2010 16:40:25 +0000 (09:40 -0700)

test-lib: use DIFF definition from GIT-BUILD-OPTIONS

Otherwise running individual tests from t/ directory may lack the definition
of $DIFF, $GIT_TEST_CMP and friends.

Noticed and initial patch provided by Thomas Rast, alternative solution
suggested by Brandon Casey, which this patch implements.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Thomas Rast <trast@student.ethz.ch>

textconv: make the API publicAxel Bonnet Mon, 7 Jun 2010 15:23:36 +0000 (17:23 +0200)

textconv: make the API public

The textconv functionality allows one to convert a file into text before
running diff. But this functionality can be useful to other features
such as blame.

Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: default pager on AIX to "more"Jeff King Thu, 10 Jun 2010 08:59:52 +0000 (04:59 -0400)

Makefile: default pager on AIX to "more"

AIX doesn't ship with "less" by default, and their "more" is
more featureful than average, so the latter is a more
sensible choice. People who really want less can set the
compile-time option themselves, or users can set $PAGER.

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Tor Arntsen <tor@spacetec.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase -i: Abort cleanly if new base cannot be checked outIan Ward Comfort Tue, 8 Jun 2010 08:16:11 +0000 (01:16 -0700)

rebase -i: Abort cleanly if new base cannot be checked out

Untracked content in the working tree may prevent rebase -i from checking out
the new base onto which it wants to replay commits, if the new base commit
includes files at those (now untracked) paths. Currently, rebase -i dies
uncleanly in this situation, updating ORIG_HEAD and leaving a useless
.git/rebase-merge directory, with which the user can do nothing useful except
rebase --abort. Make rebase -i abort the procedure itself instead, as
non-interactive rebase already does, and add a test for this behavior.

Signed-off-by: Ian Ward Comfort <icomfort@stanford.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-recursive: demonstrate an incorrect conflict... Johannes Sixt Tue, 8 Jun 2010 11:34:12 +0000 (13:34 +0200)

merge-recursive: demonstrate an incorrect conflict with submodule

When one side of a merge turns a directory into a submodule, and the other
side does not touch that directory (but has other non-conflicting changes),
then a merge should succeed. But currently, it does not; it rather fails
with a file/directory conflict.

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

commit: give advice on empty amendJeff King Mon, 7 Jun 2010 00:41:46 +0000 (20:41 -0400)

commit: give advice on empty amend

We generally disallow empty commits with "git commit". The
output produced by the wt_status functions is generally
sufficient to explain what happened.

With --amend commits, however, things are a little more
confusing. We would create an empty commit not if you
actually have staged changes _now_, but if your staged
changes match HEAD^. In this case, it is not immediately
obvious why "git commit" claims no changes, but "git status"
does not. Furthermore, we should point the user in the
direction of git reset, which would eliminate the empty
commit entirely.

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

gitweb: Run in FastCGI mode if gitweb script has .fcgi... Jakub Narebski Sat, 5 Jun 2010 21:11:18 +0000 (23:11 +0200)

gitweb: Run in FastCGI mode if gitweb script has .fcgi extension

If the name of the script ($SCRIPT_NAME or $SCRIPT_FILENAME CGI
environment variable, or __FILE__ literal) ends with '.fcgi'
extension, run gitweb in FastCGI mode, as if it was run with
'--fastcgi' / '--fcgi' option.

This is intended for easy deploying gitweb using FastCGI
interface.

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

Documentation/checkout: clarify descriptionJonathan Nieder Tue, 1 Jun 2010 07:25:23 +0000 (02:25 -0500)

Documentation/checkout: clarify description

git checkout can be used to switch branches and to retrieve files from
the index or an arbitrary tree. Split the description into
subsections corresponding to each mode to make each use easier to
understand.

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase -i -p: document shortcomingsJonathan Nieder Tue, 1 Jun 2010 01:43:35 +0000 (20:43 -0500)

rebase -i -p: document shortcomings

The rebase --preserve-merges facility presents a list of commits
in its instruction sheet and uses a separate table to keep
track of their parents. Unfortunately, in practice this means
that with -p after most attempts to rearrange patches, some
commits have the "wrong" parent and the resulting history is
rarely what the caller expected.

Yes, it would be nice to fix that. But first, add a warning to the
manual to help the uninitiated understand what is going on.

Reported-by: Jiří Paleček <jpalecek@web.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: default pager on AIX to "more"Jeff King Thu, 10 Jun 2010 08:59:52 +0000 (04:59 -0400)

Makefile: default pager on AIX to "more"

AIX doesn't ship with "less" by default, and their "more" is
more featureful than average, so the latter is a more
sensible choice. People who really want less can set the
compile-time option themselves, or users can set $PAGER.

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Tor Arntsen <tor@spacetec.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 8 Jun 2010 05:15:31 +0000 (22:15 -0700)

Merge branch 'maint'

* maint:
Change C99 comments to old-style C comments

Refactor parse_date for approxidate functionsRamkumar Ramachandra Thu, 3 Jun 2010 20:28:55 +0000 (22:28 +0200)

Refactor parse_date for approxidate functions

approxidate_relative and approxidate_careful both use parse_date to
dump the timestamp to a character buffer and parse it back into a long
unsigned using strtoul(). Avoid doing this by creating a new
parse_date_toffset method.

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

Change C99 comments to old-style C commentsTor Arntsen Fri, 4 Jun 2010 09:32:11 +0000 (11:32 +0200)

Change C99 comments to old-style C comments

Signed-off-by: Tor Arntsen <tor@spacetec.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

branch: don't fail listing branches if one of the commi... Simo Melenius Fri, 4 Jun 2010 09:50:11 +0000 (12:50 +0300)

branch: don't fail listing branches if one of the commits wasn't found

When listing branches with ref lookups, if one of the known raw refs
doesn't point to a commit then "git branch" would return error(),
terminating the whole for_each_rawref() iteration and possibly hiding
any remaining refs.

Signed-off-by: Simo Melenius <simo.melenius@iki.fi>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

branch: exit status now reflects if branch listing... Simo Melenius Fri, 4 Jun 2010 09:50:10 +0000 (12:50 +0300)

branch: exit status now reflects if branch listing finds an error

If some refs could not be read when listing branches, this can now be
observed in the exit status of the "git branch" command.

Signed-off-by: Simo Melenius <simo.melenius@iki.fi>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 7 Jun 2010 22:46:01 +0000 (15:46 -0700)

Merge branch 'maint'

* maint:
commit.txt: clarify how --author argument is used

commit.txt: clarify how --author argument is usedJay Soffian Sun, 6 Jun 2010 23:31:34 +0000 (19:31 -0400)

commit.txt: clarify how --author argument is used

commit --author was added by 146ea06 (git commit --author=$name: look $name up
in existing commits), but its documentation was sorely lacking compared to its
excellent commit message. This commit tries to improve the documentation.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add "core.eol" config variableEyvind Bernhardsen Fri, 4 Jun 2010 19:29:08 +0000 (21:29 +0200)

Add "core.eol" config variable

Introduce a new configuration variable, "core.eol", that allows the user
to set which line endings to use for end-of-line-normalized files in the
working directory. It defaults to "native", which means CRLF on Windows
and LF everywhere else.

Note that "core.autocrlf" overrides core.eol. This means that

[core]
autocrlf = true

puts CRLFs in the working directory even if core.eol is set to "lf".

Signed-off-by: Eyvind Bernhardsen <eyvind.bernhardsen@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>