git/git.git
10 years agoll-merge: replace flag argument with options struct
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>
10 years agomerge-recursive: expose merge options for builtin merge
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>
10 years agomerge-recursive --renormalize
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>
10 years agorerere: never renormalize
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>
10 years agorerere: migrate to parse-options API
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>
10 years agot4200 (rerere): modernize style
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>
10 years agoll-merge: let caller decide whether to renormalize
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>
10 years agoll-merge: make flag easier to populate
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>
10 years agoDocumentation/technical: document ll_merge
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>
10 years agomerge-trees: let caller decide whether to renormalize
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>
10 years agomerge-trees: push choice to renormalize away from low level
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>
10 years agot6038 (merge.renormalize): check that it can be turned off
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>
10 years agot6038 (merge.renormalize): try checkout -m and cherry-pick
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>
10 years agot6038 (merge.renormalize): style nitpicks
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>
10 years agoDon't expand CRLFs when normalizing text during merge
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>
10 years agoTry normalizing files to avoid delete/modify conflicts when merging
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>
10 years agoAvoid conflicts when merging branches with mixed normalization
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>
10 years agoGit 1.7.2-rc0 v1.7.2-rc0
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>
10 years agoMerge 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()

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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'

10 years agoMerge 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

10 years agomsvc: Fix some 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>
10 years agoDocumentation: 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>
10 years agogit-cat-file.txt: Document --textconv
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>
10 years agomsvc: Fix some "expr evaluates to function" compiler warnings
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>
10 years agoMerge 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

10 years agourl.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>
10 years agoUpdate draft release notes to 1.7.2
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>
10 years agoMerge 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

10 years agoMerge 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)

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoUpdate draft release notes to 1.7.1.1
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>
10 years agoMerge branch 'ic/maint-rebase-i-abort' into maint
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

10 years agoMerge branch 'cc/maint-commit-reflog-msg' into maint
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

10 years agoMerge branch 'jk/maint-advice-empty-amend' into maint
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

10 years agoMerge branch 'tc/commit-abbrev-fix' into maint
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

10 years agoMerge branch 'jn/document-rebase-i-p-limitation' into maint
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

10 years agoMerge branch 'jn/checkout-doc' into maint
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

10 years agoMerge branch 'cc/maint-diff-CC-binary' into maint
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

10 years agoMerge branch 'jc/t9129-any-utf8' into maint
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

10 years agoMerge branch 'cb/ls-files-cdup' into maint
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

10 years agoMerge branch 'tc/merge-m-log' into maint
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

10 years agoMerge branch 'ph/clone-message-reword' into maint
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

10 years agoMerge branch 'jn/maint-amend-missing-name' into maint
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

10 years agoMerge branch 'pc/remove-warn' into maint
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

10 years agotests: remove unnecessary '^' from 'expr' regular expression
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>
10 years agoMerge 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:

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoDrop items that are 1.7.1.1 fixes from the 1.7.1 release notes
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

10 years agoMerge 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

10 years agoUpdate 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>
10 years agoMerge branch 'mc/maint-zoneparse' into maint
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"

10 years agoMerge branch 'jk/diff-m-doc' into maint
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

10 years agoMerge branch 'jn/maint-doc-ignore' into maint
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

10 years agoMerge branch 'bs/userdiff-php' into maint
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

10 years agoMerge branch 'jk/maint-sha1-file-name-fix' into maint
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

10 years agoMerge branch 'jk/maint-pull-dry-run-noop' into maint
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

10 years agoMerge branch 'bw/diff-metainfo-color' into maint
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

10 years agoMerge branch 'cb/assume-unchanged-fix' into maint
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"

10 years agoMerge branch 'jn/notes-doc' into maint
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

10 years agoMerge branch 'ab/test-cleanup' into maint
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-*

10 years agoMerge branch 'rs/diff-no-minimal' into maint
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

10 years agoMerge branch 'bg/apply-blank-trailing-context' into maint
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

10 years agoMerge 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

10 years agogit-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>
10 years agogit-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>
10 years agogitweb/Makefile: fix typo in gitweb.min.css rule
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>
10 years agot/t8007: test textconv support for cat-file
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>
10 years agotextconv: support for cat_file
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>
10 years agoUpdate draft release notes to 1.7.2
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>
10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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

10 years agoMerge 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