gitweb.git
merge-recursive --renormalizeJonathan Nieder Thu, 5 Aug 2010 11:32:41 +0000 (06:32 -0500)

merge-recursive --renormalize

Teach "git merge-recursive" a --renormalize option to enable the
merge.renormalize configuration. The --no-renormalize option can
be used to override it in the negative.

So in the future, you might be able to, e.g.:

git checkout -m -Xrenormalize otherbranch

or

git revert -Xrenormalize otherpatch

or

git pull --rebase -Xrenormalize

The bad part: merge.renormalize is still not honored for most
commands. And it reveals lots of places that -X has not been plumbed
in (so we get "git merge -Xrenormalize" but not much else).

NEEDSWORK: tests

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

rerere: never renormalizeJonathan Nieder Thu, 5 Aug 2010 11:30:26 +0000 (06:30 -0500)

rerere: never renormalize

plain rerere performs three tasks; let us consider how the new
merge.renormalize option should apply to each.

After an unsuccessful merge, rerere records conflict hunks from the
work tree under .git/rr-cache. If the merge was performed with
merge.renormalize enabled, both sides of the conflict hunk use the
current work tree’s end-of-line and smudge rules; there is not really
much of a choice.

After a successful manual resolution, rerere records the postimage.
Here, also, the file will be in the current work tree’s canonical
format and there is not much to do about it.

When encountering that conflict again, merge looks up the preimage
and postimage using the conflict hunk as a key and runs a three-way
merge to apply that resolution to the work tree. Since the conflict
hunk used the current work tree’s canonical format, chances are the
version in the work tree, the preimage, and the postimage will, too.
In fact using the merge.renormalize machinery is exactly the wrong
thing to do, since its result has been run through convert_to_git
and therefore is not suitable for writing to the work tree.

The only affected caller is "git merge".

NEEDSWORK: lacks test

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

rerere: migrate to parse-options APIJonathan Nieder Thu, 5 Aug 2010 11:28:37 +0000 (06:28 -0500)

rerere: migrate to parse-options API

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

t4200 (rerere): modernize styleJonathan Nieder Thu, 5 Aug 2010 11:25:34 +0000 (06:25 -0500)

t4200 (rerere): modernize style

Guard all test code with test_expect_success to make the
script easier to follow. While at it, pick some other nits:

- use test_tick (more than we have to, to be realistic);

- 'single quotes' and \escaped HERE documents where possible
simplify review for escaping problems;

- omit whitespace after >redirection operators for
consistency with other tests;

- use "update-index --refresh" instead of testing that
"ls-files -u" output is empty, since the former produces
nicer output on failure;

- compare to expected nonempty "ls-files -u" output instead
of counting lines when it is expected to be nonempty.

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

ll-merge: let caller decide whether to renormalizeJonathan Nieder Thu, 5 Aug 2010 11:24:58 +0000 (06:24 -0500)

ll-merge: let caller decide whether to renormalize

Add a “renormalize” bit to the ll-merge options word so callers can
decide on a case-by-case basis whether the merge is likely to have
overlapped with a change in smudge/clean rules.

This reveals a few commands that have not been taking that situation
into account, though it does not fix them.

No functional change intended.

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

ll-merge: make flag easier to populateJonathan Nieder Thu, 5 Aug 2010 11:17:38 +0000 (06:17 -0500)

ll-merge: make flag easier to populate

ll_merge() takes its options in a flag word, which has a few
advantages:

- options flags can be cheaply passed around in registers, while
an option struct passed by pointer cannot;

- callers can easily pass 0 without trouble for no options,
while an option struct passed by value would not allow that.

The downside is that code to populate and access the flag word can be
somewhat opaque. Mitigate that with a few macros.

Cc: Avery Pennarun <apenwarr@gmail.com>
Cc: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/technical: document ll_mergeJonathan Nieder Thu, 5 Aug 2010 11:16:51 +0000 (06:16 -0500)

Documentation/technical: document ll_merge

Cc: Junio C Hamano <gitster@pobox.com>
Cc: Avery Pennarun <apenwarr@gmail.com>
Cc: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-trees: let caller decide whether to renormalizeJonathan Nieder Thu, 5 Aug 2010 11:15:32 +0000 (06:15 -0500)

merge-trees: let caller decide whether to renormalize

Add a "renormalize" option to struct merge_options so callers can
decide on a case-by-case basis whether the merge is likely to have
overlapped with a change in smudge/clean rules. The option defaults
to the global merge_renormalize setting for now.

No change in behavior intended.

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

merge-trees: push choice to renormalize away from low... Jonathan Nieder Thu, 5 Aug 2010 11:13:49 +0000 (06:13 -0500)

merge-trees: push choice to renormalize away from low level

The merge machinery decides whether to resmudge and clean relevant
entries based on the global merge_renormalize setting, which is set by
"git merge" based on its configuration (and left alone by other
commands).

A nicer interface would make that decision a parameter to merge_trees
so callers would pass in a choice made on a call-by-call basis.
Start by making blob_unchanged stop examining the merge_renormalize
global.

In other words, this change is a trivial no-op, but it brings us
closer to something good.

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

t6038 (merge.renormalize): check that it can be turned offJonathan Nieder Thu, 5 Aug 2010 11:13:04 +0000 (06:13 -0500)

t6038 (merge.renormalize): check that it can be turned off

An unusual sort of person (not me) may even enjoy the conflicts
from line-ending changes. But more importantly, it is useful to
document that behavior so we can more easily notice if it changes
in an uncontrolled way while no one is watching.

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

t6038 (merge.renormalize): try checkout -m and cherry... Jonathan Nieder Thu, 5 Aug 2010 11:11:12 +0000 (06:11 -0500)

t6038 (merge.renormalize): try checkout -m and cherry-pick

checkout -m and cherry-pick have not been wired up to respect
merge.renormalize, but a naïve user would not know that.

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

t6038 (merge.renormalize): style nitpicksJonathan Nieder Thu, 5 Aug 2010 11:09:33 +0000 (06:09 -0500)

t6038 (merge.renormalize): style nitpicks

Some tweaks to simplify adding and running tests.

- Use test_tick for predictable, sort of realistic commit dates;

- Use test_cmp as "test_cmp expected actual" --- some crazy
content that was not expected should cause the test to fail;

- Remove and re-add all files at the start of each test so the
worktree is easier to think about;

- Avoid using cat where not necessary for clarity.

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

Don't expand CRLFs when normalizing text during mergeEyvind Bernhardsen Fri, 2 Jul 2010 19:20:49 +0000 (21:20 +0200)

Don't expand CRLFs when normalizing text during merge

Disable CRLF expansion when convert_to_working_tree() is called from
normalize_buffer(). This improves performance when merging branches
with conflicting line endings when core.eol=crlf or core.autocrlf=true
by making the normalization act as if core.eol=lf.

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

Try normalizing files to avoid delete/modify conflicts... Eyvind Bernhardsen Fri, 2 Jul 2010 19:20:48 +0000 (21:20 +0200)

Try normalizing files to avoid delete/modify conflicts when merging

If a file is modified due to normalization on one branch, and deleted on
another, a merge of the two branches will result in a delete/modify
conflict for that file even if it is otherwise unchanged.

Try to avoid the conflict by normalizing and comparing the "base" file
and the modified file when their sha1s differ. If they compare equal,
the file is considered unmodified and is deleted.

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

Avoid conflicts when merging branches with mixed normal... Eyvind Bernhardsen Fri, 2 Jul 2010 19:20:47 +0000 (21:20 +0200)

Avoid conflicts when merging branches with mixed normalization

Currently, merging across changes in line ending normalization is
painful since files containing CRLF will conflict with normalized files,
even if the only difference between the two versions is the line
endings. Additionally, any "real" merge conflicts that exist are
obscured because every line in the file has a conflict.

Assume you start out with a repo that has a lot of text files with CRLF
checked in (A):

o---C
/ \
A---B---D

B: Add "* text=auto" to .gitattributes and normalize all files to
LF-only

C: Modify some of the text files

D: Try to merge C

You will get a ridiculous number of LF/CRLF conflicts when trying to
merge C into D, since the repository contents for C are "wrong" wrt the
new .gitattributes file.

Fix ll-merge so that the "base", "theirs" and "ours" stages are passed
through convert_to_worktree() and convert_to_git() before a three-way
merge. This ensures that all three stages are normalized in the same
way, removing from consideration differences that are only due to
normalization.

This feature is optional for now since it changes a low-level mechanism
and is not necessary for the majority of users. The "merge.renormalize"
config variable enables it.

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

Git 1.7.2-rc0 v1.7.2-rc0Junio C Hamano Sun, 27 Jun 2010 19:01:12 +0000 (12:01 -0700)

Git 1.7.2-rc0

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

Merge branch 'cp/textconv-cat-file'Junio C Hamano Sun, 27 Jun 2010 19:07:55 +0000 (12:07 -0700)

Merge branch 'cp/textconv-cat-file'

* cp/textconv-cat-file:
git-cat-file.txt: Document --textconv
t/t8007: test textconv support for cat-file
textconv: support for cat_file
sha1_name: add get_sha1_with_context()

Merge branch 'pb/maint-perl-errmsg-no-dir'Junio C Hamano Sun, 27 Jun 2010 19:07:45 +0000 (12:07 -0700)

Merge branch 'pb/maint-perl-errmsg-no-dir'

* pb/maint-perl-errmsg-no-dir:
Git.pm: better error message

Merge branch 'tr/send-email-8bit'Junio C Hamano Sun, 27 Jun 2010 19:07:45 +0000 (12:07 -0700)

Merge branch 'tr/send-email-8bit'

* tr/send-email-8bit:
send-email: ask about and declare 8bit mails

Merge branch 'js/maint-am-rebase-invalid-author'Junio C Hamano Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)

Merge branch 'js/maint-am-rebase-invalid-author'

* js/maint-am-rebase-invalid-author:
am: use get_author_ident_from_commit instead of mailinfo when rebasing

Merge branch 'ab/blame-textconv'Junio C Hamano Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)

Merge branch 'ab/blame-textconv'

* ab/blame-textconv:
t/t8006: test textconv support for blame
textconv: support for blame
textconv: make the API public

Conflicts:
diff.h

Merge branch 'jn/show-num-walks'Junio C Hamano Sun, 27 Jun 2010 19:07:44 +0000 (12:07 -0700)

Merge branch 'jn/show-num-walks'

* jn/show-num-walks:
DWIM 'git show -5' to 'git show --do-walk -5'

Merge branch 'maint'Junio C Hamano Fri, 25 Jun 2010 18:45:27 +0000 (11:45 -0700)

Merge branch 'maint'

* maint:
msvc: Fix some compiler warnings
Documentation: grep: fix asciidoc problem with --
msvc: Fix some "expr evaluates to function" compiler warnings

msvc: Fix some compiler warningsRamsay Jones Wed, 23 Jun 2010 19:47:50 +0000 (20:47 +0100)

msvc: Fix some compiler warnings

In particular, using the normal (or production) compiler
warning level (-W3), msvc complains as follows:

.../sha1.c(244) : warning C4018: '<' : signed/unsigned mismatch
.../sha1.c(270) : warning C4244: 'function' : conversion from \
'unsigned __int64' to 'unsigned long', possible loss of data
.../sha1.c(271) : warning C4244: 'function' : conversion from \
'unsigned __int64' to 'unsigned long', possible loss of data

Note that gcc issues a similar complaint about line 244 when
compiling with -Wextra.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: grep: fix asciidoc problem with --Christian Couder Fri, 25 Jun 2010 02:16:24 +0000 (04:16 +0200)

Documentation: grep: fix asciidoc problem with --

Asciidoc interprets two dashes separated by spaces as a single big
dash. So let's escape the first dash, so that "\--" will properly
appear as "--".

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

git-cat-file.txt: Document --textconvMichael J Gruber Thu, 24 Jun 2010 12:56:55 +0000 (14:56 +0200)

git-cat-file.txt: Document --textconv

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

msvc: Fix some "expr evaluates to function" compiler... Ramsay Jones Wed, 23 Jun 2010 19:40:19 +0000 (20:40 +0100)

msvc: Fix some "expr evaluates to function" compiler warnings

In particular, the following warning is issued while compiling
notes.c:

notes.c(927) : warning C4550: expression evaluates to a \
function which is missing an argument list

along with identical warnings on lines 928, 1016 and 1017.

In order to suppress the warning, we change the definition of
combine_notes_fn, so that the symbol type is an (explicit)
"pointer to function ...". As a result, several other
declarations need some minor fix-up to take account of the
new typedef.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/url-decode'Junio C Hamano Wed, 23 Jun 2010 17:43:28 +0000 (10:43 -0700)

Merge branch 'jk/url-decode'

* jk/url-decode:
url.c: "<scheme>://" part at the beginning should not be URL decoded

url.c: "<scheme>://" part at the beginning should not... Junio C Hamano Wed, 23 Jun 2010 17:27:39 +0000 (10:27 -0700)

url.c: "<scheme>://" part at the beginning should not be URL decoded

When using the protocol git+ssh:// for example we do not want to
decode the '+' as a space. The url decoding must take place only
for the server name and parameters.

This fixes a regression introduced in 9d2e942.

Initial-fix-by: Pascal Obry <pascal.obry@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.7.2Junio C Hamano Tue, 22 Jun 2010 17:03:04 +0000 (10:03 -0700)

Update draft release notes to 1.7.2

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

Merge branch 'jc/maint-simpler-common-prefix'Junio C Hamano Tue, 22 Jun 2010 16:45:23 +0000 (09:45 -0700)

Merge branch 'jc/maint-simpler-common-prefix'

* jc/maint-simpler-common-prefix:
common_prefix: simplify and fix scanning for prefixes

Merge branch 'sb/format-patch-signature'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'sb/format-patch-signature'

* sb/format-patch-signature:
completion: Add --signature and format.signature
format-patch: Add a signature option (--signature)

Merge branch 'mg/pretty-magic-space'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'mg/pretty-magic-space'

* mg/pretty-magic-space:
pretty: Introduce ' ' modifier to add space if non-empty

Conflicts:
pretty.c

Merge branch 'jn/gitweb-return-or-exit-cleanup'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'jn/gitweb-return-or-exit-cleanup'

* jn/gitweb-return-or-exit-cleanup:
gitweb: Return or exit after done serving request

Conflicts:
gitweb/gitweb.perl

Merge branch 'bd/maint-unpack-trees-parawalk-fix'Junio C Hamano Tue, 22 Jun 2010 16:45:22 +0000 (09:45 -0700)

Merge branch 'bd/maint-unpack-trees-parawalk-fix'

* bd/maint-unpack-trees-parawalk-fix:
unpack-trees: Make index lookahead less pessimal

Merge branch 'cc/cherry-pick-series'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'cc/cherry-pick-series'

* cc/cherry-pick-series:
Documentation/revert: describe passing more than one commit
Documentation/cherry-pick: describe passing more than one commit
revert: add tests to check cherry-picking many commits
revert: allow cherry-picking more than one commit
revert: change help_msg() to take no argument
revert: refactor code into a do_pick_commit() function
revert: use run_command_v_opt() instead of execv_git_cmd()
revert: cleanup code for -x option

Merge branch 'jc/rev-list-ancestry-path'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'jc/rev-list-ancestry-path'

* jc/rev-list-ancestry-path:
revision: Turn off history simplification in --ancestry-path mode
revision: Fix typo in --ancestry-path error message
Documentation/rev-list-options.txt: Explain --ancestry-path
Documentation/rev-list-options.txt: Fix missing line in example history graph
revision: --ancestry-path

Merge branch 'lt/extended-sha1-match-commit-with-regexp'Junio C Hamano Tue, 22 Jun 2010 16:45:21 +0000 (09:45 -0700)

Merge branch 'lt/extended-sha1-match-commit-with-regexp'

* lt/extended-sha1-match-commit-with-regexp:
Make :/ accept a regex rather than a fixed pattern

Merge branch 'maint'Junio C Hamano Tue, 22 Jun 2010 16:35:36 +0000 (09:35 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.1.1
tests: remove unnecessary '^' from 'expr' regular expression

Conflicts:
diff.c

Update draft release notes to 1.7.1.1Junio C Hamano Tue, 22 Jun 2010 16:18:55 +0000 (09:18 -0700)

Update draft release notes to 1.7.1.1

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

Merge branch 'ic/maint-rebase-i-abort' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'ic/maint-rebase-i-abort' into maint

* ic/maint-rebase-i-abort:
rebase -i: Abort cleanly if new base cannot be checked out

Merge branch 'cc/maint-commit-reflog-msg' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'cc/maint-commit-reflog-msg' into maint

* cc/maint-commit-reflog-msg:
commit: use value of GIT_REFLOG_ACTION env variable as reflog message

Merge branch 'jk/maint-advice-empty-amend' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:48 +0000 (09:31 -0700)

Merge branch 'jk/maint-advice-empty-amend' into maint

* jk/maint-advice-empty-amend:
commit: give advice on empty amend

Merge branch 'tc/commit-abbrev-fix' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'tc/commit-abbrev-fix' into maint

* tc/commit-abbrev-fix:
commit::print_summary(): don't use format_commit_message()
t7502-commit: add summary output tests for empty and merge commits
t7502-commit: add tests for summary output

Merge branch 'jn/document-rebase-i-p-limitation' into... Junio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'jn/document-rebase-i-p-limitation' into maint

* jn/document-rebase-i-p-limitation:
rebase -i -p: document shortcomings

Merge branch 'jn/checkout-doc' into maintJunio C Hamano Tue, 22 Jun 2010 16:31:47 +0000 (09:31 -0700)

Merge branch 'jn/checkout-doc' into maint

* jn/checkout-doc:
Documentation/checkout: clarify description
Documentation/checkout: clarify description

Merge branch 'cc/maint-diff-CC-binary' into maintJunio C Hamano Tue, 22 Jun 2010 16:04:14 +0000 (09:04 -0700)

Merge branch 'cc/maint-diff-CC-binary' into maint

* cc/maint-diff-CC-binary:
diff: fix "git show -C -C" output when renaming a binary file

Conflicts:
diff.c

Merge branch 'jc/t9129-any-utf8' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:53 +0000 (08:31 -0700)

Merge branch 'jc/t9129-any-utf8' into maint

* jc/t9129-any-utf8:
t9129: fix UTF-8 locale detection

Merge branch 'cb/ls-files-cdup' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:46 +0000 (08:31 -0700)

Merge branch 'cb/ls-files-cdup' into maint

* cb/ls-files-cdup:
ls-files: allow relative pathspec
quote.c: separate quoting and relative path generation

Merge branch 'tc/merge-m-log' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:25 +0000 (08:31 -0700)

Merge branch 'tc/merge-m-log' into maint

* 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

Merge branch 'ph/clone-message-reword' into maintJunio C Hamano Tue, 22 Jun 2010 15:31:20 +0000 (08:31 -0700)

Merge branch 'ph/clone-message-reword' into maint

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

Merge branch 'jn/maint-amend-missing-name' into maintJunio C Hamano Tue, 22 Jun 2010 15:30:44 +0000 (08:30 -0700)

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

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

Merge branch 'pc/remove-warn' into maintJunio C Hamano Tue, 22 Jun 2010 15:30:38 +0000 (08:30 -0700)

Merge branch 'pc/remove-warn' into maint

* pc/remove-warn:
Remove a redundant errno test in a usage of remove_path
Introduce remove_or_warn function
Implement the rmdir_or_warn function
Generalise the unlink_or_warn function

tests: remove unnecessary '^' from 'expr' regular expre... Junio C Hamano Mon, 21 Jun 2010 18:18:54 +0000 (11:18 -0700)

tests: remove unnecessary '^' from 'expr' regular expression

As Brandon noticed, a regular expression match given to 'expr' is already
anchored at the beginning. Some versions of expr even complain about this.

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

Merge branch 'js/maint-receive-pack-symref-alias'Junio C Hamano Mon, 21 Jun 2010 13:02:50 +0000 (06:02 -0700)

Merge branch 'js/maint-receive-pack-symref-alias'

* js/maint-receive-pack-symref-alias:

Merge branch 'cc/maint-commit-reflog-msg'Junio C Hamano Mon, 21 Jun 2010 13:02:50 +0000 (06:02 -0700)

Merge branch 'cc/maint-commit-reflog-msg'

* cc/maint-commit-reflog-msg:
commit: use value of GIT_REFLOG_ACTION env variable as reflog message

Merge branch 'ic/maint-rebase-i-abort'Junio C Hamano Mon, 21 Jun 2010 13:02:50 +0000 (06:02 -0700)

Merge branch 'ic/maint-rebase-i-abort'

* ic/maint-rebase-i-abort:
rebase -i: Abort cleanly if new base cannot be checked out

Merge branch 'jk/maint-advice-empty-amend'Junio C Hamano Mon, 21 Jun 2010 13:02:49 +0000 (06:02 -0700)

Merge branch 'jk/maint-advice-empty-amend'

* jk/maint-advice-empty-amend:
commit: give advice on empty amend

Merge branch 'eb/core-eol'Junio C Hamano Mon, 21 Jun 2010 13:02:49 +0000 (06:02 -0700)

Merge branch 'eb/core-eol'

* eb/core-eol:
Add "core.eol" config variable
Rename the "crlf" attribute "text"
Add per-repository eol normalization
Add tests for per-repository eol normalization

Conflicts:
Documentation/config.txt
Makefile

Merge branch 'fg/autocrlf'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'fg/autocrlf'

* fg/autocrlf:
autocrlf: Make it work also for un-normalized repositories

Merge branch 'sm/branch-broken-ref'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'sm/branch-broken-ref'

* sm/branch-broken-ref:
branch: don't fail listing branches if one of the commits wasn't found
branch: exit status now reflects if branch listing finds an error

Merge branch 'rr/parse-date-refactor'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'rr/parse-date-refactor'

* rr/parse-date-refactor:
Refactor parse_date for approxidate functions

Merge branch 'jn/document-rebase-i-p-limitation'Junio C Hamano Mon, 21 Jun 2010 13:02:47 +0000 (06:02 -0700)

Merge branch 'jn/document-rebase-i-p-limitation'

* jn/document-rebase-i-p-limitation:
rebase -i -p: document shortcomings

Merge branch 'tc/commit-abbrev-fix'Junio C Hamano Mon, 21 Jun 2010 13:02:46 +0000 (06:02 -0700)

Merge branch 'tc/commit-abbrev-fix'

* tc/commit-abbrev-fix:
commit::print_summary(): don't use format_commit_message()
t7502-commit: add summary output tests for empty and merge commits
t7502-commit: add tests for summary output

Merge branch 'tr/receive-pack-aliased-update-fix'Junio C Hamano Mon, 21 Jun 2010 13:02:46 +0000 (06:02 -0700)

Merge branch 'tr/receive-pack-aliased-update-fix'

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

Merge branch 'gs/usage-to-stdout'Junio C Hamano Mon, 21 Jun 2010 13:02:45 +0000 (06:02 -0700)

Merge branch 'gs/usage-to-stdout'

* gs/usage-to-stdout:
parseopt: wrap rev-parse --parseopt usage for eval consumption
print the usage string on stdout instead of stderr

Conflicts:
parse-options.h

Merge branch 'js/async-thread'Junio C Hamano Mon, 21 Jun 2010 13:02:45 +0000 (06:02 -0700)

Merge branch 'js/async-thread'

* js/async-thread:
fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f)
Enable threaded async procedures whenever pthreads is available
Dying in an async procedure should only exit the thread, not the process.
Reimplement async procedures using pthreads
Windows: more pthreads functions
Fix signature of fcntl() compatibility dummy
Make report() from usage.c public as vreportf() and use it.
Modernize t5530-upload-pack-error.

Conflicts:
http-backend.c

Merge branch 'gv/portable'Junio C Hamano Mon, 21 Jun 2010 13:02:44 +0000 (06:02 -0700)

Merge branch 'gv/portable'

* gv/portable:
test-lib: use DIFF definition from GIT-BUILD-OPTIONS
build: propagate $DIFF to scripts
Makefile: Tru64 portability fix
Makefile: HP-UX 10.20 portability fixes
Makefile: HPUX11 portability fixes
Makefile: SunOS 5.6 portability fix
inline declaration does not work on AIX
Allow disabling "inline"
Some platforms lack socklen_t type
Make NO_{INET_NTOP,INET_PTON} configured independently
Makefile: some platforms do not have hstrerror anywhere
git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
test_cmp: do not use "diff -u" on platforms that lack one
fixup: do not unconditionally disable "diff -u"
tests: use "test_cmp", not "diff", when verifying the result
Do not use "diff" found on PATH while building and installing
enums: omit trailing comma for portability
Makefile: -lpthread may still be necessary when libc has only pthread stubs
Rewrite dynamic structure initializations to runtime assignment
Makefile: pass CPPFLAGS through to fllow customization

Conflicts:
Makefile
wt-status.h

Merge branch 'bc/portable'Junio C Hamano Mon, 21 Jun 2010 13:02:42 +0000 (06:02 -0700)

Merge branch 'bc/portable'

* bc/portable:
Remove python 2.5'isms
Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS
t/aggregate-results: accomodate systems with small max argument list length
t/t7006: ignore return status of shell's unset builtin
t/t5150: remove space from sed script
git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh
t/t5800: skip if python version is older than 2.5

Merge branch 'jn/gitweb-fastcgi'Junio C Hamano Mon, 21 Jun 2010 13:02:42 +0000 (06:02 -0700)

Merge branch 'jn/gitweb-fastcgi'

* jn/gitweb-fastcgi:
gitweb: Run in FastCGI mode if gitweb script has .fcgi extension
gitweb: Add support for FastCGI, using CGI::Fast
gitweb: Put all per-connection code in run() subroutine

Merge branch 'jn/checkout-doc'Junio C Hamano Mon, 21 Jun 2010 13:02:42 +0000 (06:02 -0700)

Merge branch 'jn/checkout-doc'

* jn/checkout-doc:
Documentation/checkout: clarify description
Documentation/checkout: clarify description

Merge branch 'em/checkout-orphan'Junio C Hamano Mon, 21 Jun 2010 13:02:41 +0000 (06:02 -0700)

Merge branch 'em/checkout-orphan'

* em/checkout-orphan:
log_ref_setup: don't return stack-allocated array
bash completion: add --orphan to 'git checkout'
t3200: test -l with core.logAllRefUpdates options
checkout --orphan: respect -l option always
refs: split log_ref_write logic into log_ref_setup
Documentation: alter checkout --orphan description

Drop items that are 1.7.1.1 fixes from the 1.7.1 releas... Junio C Hamano Mon, 21 Jun 2010 12:49:26 +0000 (05:49 -0700)

Drop items that are 1.7.1.1 fixes from the 1.7.1 release notes

Merge branch 'maint'Junio C Hamano Mon, 21 Jun 2010 12:48:50 +0000 (05:48 -0700)

Merge branch 'maint'

* maint:
Update draft release notes to 1.7.1.1

Update draft release notes to 1.7.1.1Junio C Hamano Mon, 21 Jun 2010 12:48:18 +0000 (05:48 -0700)

Update draft release notes to 1.7.1.1

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

Merge branch 'mc/maint-zoneparse' into maintJunio C Hamano Mon, 21 Jun 2010 12:41:03 +0000 (05:41 -0700)

Merge branch 'mc/maint-zoneparse' into maint

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

Merge branch 'jk/diff-m-doc' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:57 +0000 (05:40 -0700)

Merge branch 'jk/diff-m-doc' into maint

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

Merge branch 'jn/maint-doc-ignore' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:53 +0000 (05:40 -0700)

Merge branch 'jn/maint-doc-ignore' into maint

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

Merge branch 'bs/userdiff-php' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:48 +0000 (05:40 -0700)

Merge branch 'bs/userdiff-php' into maint

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

Merge branch 'jk/maint-sha1-file-name-fix' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:41 +0000 (05:40 -0700)

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

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

Merge branch 'jk/maint-pull-dry-run-noop' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:33 +0000 (05:40 -0700)

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

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

Merge branch 'bw/diff-metainfo-color' into maintJunio C Hamano Mon, 21 Jun 2010 12:40:10 +0000 (05:40 -0700)

Merge branch 'bw/diff-metainfo-color' into maint

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

Merge branch 'cb/assume-unchanged-fix' into maintJunio C Hamano Mon, 21 Jun 2010 12:39:23 +0000 (05:39 -0700)

Merge branch 'cb/assume-unchanged-fix' into maint

* 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' into maintJunio C Hamano Mon, 21 Jun 2010 12:39:16 +0000 (05:39 -0700)

Merge branch 'jn/notes-doc' into maint

* 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 'ab/test-cleanup' into maintJunio C Hamano Mon, 21 Jun 2010 12:39:02 +0000 (05:39 -0700)

Merge branch 'ab/test-cleanup' into maint

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

Merge branch 'rs/diff-no-minimal' into maintJunio C Hamano Mon, 21 Jun 2010 12:38:50 +0000 (05:38 -0700)

Merge branch 'rs/diff-no-minimal' into maint

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

Merge branch 'bg/apply-blank-trailing-context' into... Junio C Hamano Mon, 21 Jun 2010 12:38:36 +0000 (05:38 -0700)

Merge branch 'bg/apply-blank-trailing-context' into maint

* bg/apply-blank-trailing-context:
apply: Allow blank *trailing* context lines to match beyond EOF

Merge branch 'maint'Junio C Hamano Mon, 21 Jun 2010 06:21:27 +0000 (23:21 -0700)

Merge branch 'maint'

* maint:
gitweb/Makefile: fix typo in gitweb.min.css rule

Conflicts:
gitweb/Makefile

git-cvsserver: fix error for invalid password formatsÆvar Arnfjörð Bjarmason Sat, 19 Jun 2010 16:06:58 +0000 (16:06 +0000)

git-cvsserver: fix error for invalid password formats

Change the error message to report the erroneous password
character. $1 was never set in the previos version, it was a leftover
from older code that used a regex for the test.

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

git-cvsserver: typo in a comment: bas -> hasÆvar Arnfjörð Bjarmason Sat, 19 Jun 2010 16:06:57 +0000 (16:06 +0000)

git-cvsserver: typo in a comment: bas -> has

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

gitweb/Makefile: fix typo in gitweb.min.css ruleJay Soffian Fri, 18 Jun 2010 21:01:25 +0000 (17:01 -0400)

gitweb/Makefile: fix typo in gitweb.min.css rule

This typo has been in place since the rule was originally added by
0e6ce21 (Gitweb: add support for minifying gitweb.css).

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

t/t8007: test textconv support for cat-fileClément Poulain Wed, 9 Jun 2010 17:02:09 +0000 (19:02 +0200)

t/t8007: test textconv support for cat-file

Test the correct functionning of textconv with cat-file <sha1:blob>
and cat-file HEAD^ <file>. Test the case when no driver is specified

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 cat_fileClément Poulain Tue, 15 Jun 2010 15:50:28 +0000 (17:50 +0200)

textconv: support for cat_file

Make the textconv_object function public, and add --textconv option to cat-file
to perform conversion on blob objects. Using --textconv implies that we are
working on a blob.
As files drivers need to be initialized, a new config is required in addition
to git_default_config. Therefore git_cat_file_config() is introduced

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>

Update draft release notes to 1.7.2Junio C Hamano Fri, 18 Jun 2010 18:27:01 +0000 (11:27 -0700)

Update draft release notes to 1.7.2

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

Merge branch 'cc/maint-diff-CC-binary'Junio C Hamano Fri, 18 Jun 2010 18:16:57 +0000 (11:16 -0700)

Merge branch 'cc/maint-diff-CC-binary'

* cc/maint-diff-CC-binary:
diff: fix "git show -C -C" output when renaming a binary file

Conflicts:
diff.c

Merge branch 'by/diff-graph'Junio C Hamano Fri, 18 Jun 2010 18:16:57 +0000 (11:16 -0700)

Merge branch 'by/diff-graph'

* by/diff-graph:
Make --color-words work well with --graph
graph.c: register a callback for graph output
Emit a whole line in one go
diff.c: Output the text graph padding before each diff line
Output the graph columns at the end of the commit message
Add a prefix output callback to diff output

Conflicts:
diff.c

Merge branch 'cb/ls-files-cdup'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'cb/ls-files-cdup'

* cb/ls-files-cdup:
ls-files: allow relative pathspec
quote.c: separate quoting and relative path generation

Merge branch 'jc/t9129-any-utf8'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'jc/t9129-any-utf8'

* jc/t9129-any-utf8:
t9129: fix UTF-8 locale detection

Merge branch 'rr/am-help'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'rr/am-help'

* rr/am-help:
git am: Remove stray error message from sed
git am: Display some help text when patch is empty
git am: Set cmdline globally

Merge branch 'jn/rebase-cmdline-fix'Junio C Hamano Fri, 18 Jun 2010 18:16:56 +0000 (11:16 -0700)

Merge branch 'jn/rebase-cmdline-fix'

* jn/rebase-cmdline-fix:
rebase: improve error message when upstream argument is missing