Kevin Ballard [Mon, 27 Sep 2010 23:58:25 +0000 (16:58 -0700)]
merge-recursive: option to specify rename threshold
The recursive merge strategy turns on rename detection but leaves the
rename threshold at the default. Add a strategy option to allow the user
to specify a rename threshold to use.
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Justin Frankel [Thu, 26 Aug 2010 05:51:47 +0000 (00:51 -0500)]
merge-recursive: options to ignore whitespace changes
Add support for merging with ignoring line endings (specifically
--ignore-space-at-eol) when using recursive merging. This is
as a strategy-option, so that you can do:
git merge --strategy-option=ignore-space-at-eol <branch>
and
git rebase --strategy-option=ignore-space-at-eol <branch>
This can be useful for coping with line-ending damage (Xcode 3.1 has a
nasty habit of converting all CRLFs to LFs, and VC6 tends to just use
CRLFs for inserted lines).
The only option I need is ignore-space-at-eol, but while at it,
include the other xdiff whitespace options (ignore-space-change,
ignore-all-space), too.
[jn: with documentation]
Signed-off-by: Justin Frankel <justin@cockos.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Justin Frankel [Thu, 26 Aug 2010 05:50:45 +0000 (00:50 -0500)]
merge-recursive --patience
Teach the merge-recursive strategy a --patience option to use the
"patience diff" algorithm, which tends to improve results when
cherry-picking a patch that reorders functions at the same time as
refactoring them.
To support this, struct merge_options and ll_merge_options gain an
xdl_opts member, so programs can use arbitrary xdiff flags (think
"XDF_IGNORE_WHITESPACE") in a git-aware merge.
git merge and git rebase can be passed the -Xpatience option to
use this.
[jn: split from --ignore-space patch; with documentation]
Signed-off-by: Justin Frankel <justin@cockos.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Thu, 26 Aug 2010 05:49:53 +0000 (00:49 -0500)]
ll-merge: replace flag argument with options struct
Keeping track of the flag bits is proving more trouble than it's
worth. Instead, use a pointer to an options struct like most similar
APIs do.
Callers with no special requests can pass NULL to request the default
options.
Cc: Bert Wesarg <bert.wesarg@googlemail.com>
Cc: Avery Pennarun <apenwarr@gmail.com>
Helped-by: Justin Frankel <justin@cockos.com>
Helped-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Thu, 26 Aug 2010 05:47:58 +0000 (00:47 -0500)]
merge-recursive: expose merge options for builtin merge
There are two very similar blocks of code that recognize options for
the "recursive" merge strategy. Unify them.
No functional change intended.
Cc: Avery Pennarun <apenwarr@gmail.com>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan 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>
Jonathan 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>
Jonathan 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>
Jonathan 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>
Jonathan 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>
Jonathan 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>
Jonathan 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>
Jonathan 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>
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>
Jonathan 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>
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>
Jonathan 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>
Eyvind 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>
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>
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>
Junio 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>
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()
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
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
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
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
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'
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
Ramsay 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>
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>
Michael 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>
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>
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
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>
Junio 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>
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
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)
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
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
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
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
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
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
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
Junio 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>
Junio 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
Junio 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
Junio 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
Junio 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
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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
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>
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Junio 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>
Junio 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"
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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
Junio 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"
Junio 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
Junio 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-*
Junio 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
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
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
Æ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>
Æ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>
Jay 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>
Clé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>
Clé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>
Junio 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>
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