gitweb.git
Merge branch 'md/interix'Junio C Hamano Tue, 30 Nov 2010 01:52:34 +0000 (17:52 -0800)

Merge branch 'md/interix'

* md/interix:
Interix: add configure checks
add support for the SUA layer (interix; windows)

Conflicts:
git-compat-util.h

Merge branch 'jl/add-p-reverse-message'Junio C Hamano Tue, 30 Nov 2010 01:52:34 +0000 (17:52 -0800)

Merge branch 'jl/add-p-reverse-message'

* jl/add-p-reverse-message:
Correct help blurb in checkout -p and friends

Merge branch 'np/pack-broken-boundary'Junio C Hamano Tue, 30 Nov 2010 01:52:33 +0000 (17:52 -0800)

Merge branch 'np/pack-broken-boundary'

* np/pack-broken-boundary:
make pack-objects a bit more resilient to repo corruption

Merge branch 'np/diff-in-corrupt-repository'Junio C Hamano Tue, 30 Nov 2010 01:52:33 +0000 (17:52 -0800)

Merge branch 'np/diff-in-corrupt-repository'

* np/diff-in-corrupt-repository:
diff: don't presume empty file when corresponding object is missing

Merge branch 'fc/apply-p2-get-header-name'Junio C Hamano Tue, 30 Nov 2010 01:52:33 +0000 (17:52 -0800)

Merge branch 'fc/apply-p2-get-header-name'

* fc/apply-p2-get-header-name:
test: git-apply -p2 rename/chmod only
Fix git-apply with -p greater than 1

Merge branch 'jn/fast-import-fix'Junio C Hamano Tue, 30 Nov 2010 01:52:32 +0000 (17:52 -0800)

Merge branch 'jn/fast-import-fix'

* jn/fast-import-fix:
fast-import: do not clear notes in do_change_note_fanout()
t9300 (fast-import): another test for the "replace root" feature
fast-import: tighten M 040000 syntax
fast-import: filemodify after M 040000 <tree> "" crashes

Merge branch 'rr/needs-clean-work-tree'Junio C Hamano Tue, 30 Nov 2010 01:52:32 +0000 (17:52 -0800)

Merge branch 'rr/needs-clean-work-tree'

* rr/needs-clean-work-tree:
Porcelain scripts: Rewrite cryptic "needs update" error message

Merge branch 'kb/blame-author-email'Junio C Hamano Tue, 30 Nov 2010 01:52:32 +0000 (17:52 -0800)

Merge branch 'kb/blame-author-email'

* kb/blame-author-email:
blame: Add option to show author email instead of name

Conflicts:
t/annotate-tests.sh

Merge branch 'cm/diff-check-at-eol'Junio C Hamano Tue, 30 Nov 2010 01:52:31 +0000 (17:52 -0800)

Merge branch 'cm/diff-check-at-eol'

* cm/diff-check-at-eol:
diff --check: correct line numbers of new blank lines at EOF

Merge branch 'ak/apply-non-git-epoch'Junio C Hamano Tue, 30 Nov 2010 01:52:31 +0000 (17:52 -0800)

Merge branch 'ak/apply-non-git-epoch'

* ak/apply-non-git-epoch:
apply: handle patches with funny filename and colon in timezone
apply: Recognize epoch timestamps with : in the timezone

Merge branch 'tc/smart-http-post-redirect'Junio C Hamano Tue, 30 Nov 2010 01:52:30 +0000 (17:52 -0800)

Merge branch 'tc/smart-http-post-redirect'

* tc/smart-http-post-redirect:
smart-http: Don't change POST to GET when following redirect

gitweb: document $per_request_config betterJonathan Nieder Mon, 29 Nov 2010 00:19:08 +0000 (18:19 -0600)

gitweb: document $per_request_config better

Global variables $my_url, $my_uri and $base_url have subtle interactions
that need to be desribed, and can be influenced most cleanly by
$per_request_config.

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

gitweb: selectable configurations that change with... Jakub Narebski Thu, 25 Nov 2010 18:43:59 +0000 (19:43 +0100)

gitweb: selectable configurations that change with each request

Allow selecting whether configuration file should be (re)parsed on each
request (the default, for backward compatibility with configurations that
change per session, see commit 7f425db (gitweb: allow configurations that
change with each request, 2010-07-30)), or whether should it be parsed only
once (for performance speedup for persistent environments, though currently
only FastCGI is able to make use of it, when flexibility is not important).

You can also have configuration file parsed only once, but have parts of
configuration (re)evaluated once per each request.

This is done by introducing $per_request_config variable: if set to code
reference, this code would be run once per request, while config file would
be parsed only once. For example gitolite's contrib/gitweb/gitweb.conf
fragment mentioned in 7f425db could be rewritten as

our $per_request_config = sub {
$ENV{GL_USER} = ($cgi && $cgi->remote_user) || "gitweb";
};

to make use of this feature.

If $per_request_config is not a code reference, it is taken to be boolean
variable, to choose between running config file for each request
(flexibility), and running config file only once (performance in
persistent environments).

The default value for $per_request_config is 1 (true), which means that
old configuration that require to change per session (like gitolite's)
will keep working.

While at it, make it so evaluate_git_version() is run only once.

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

cvsimport: partial whitespace cleanupMichael J Gruber Sun, 28 Nov 2010 19:39:45 +0000 (20:39 +0100)

cvsimport: partial whitespace cleanup

in preparation of the config parse patch

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

diff: add --detect-copies-harder as a synonym for ... Kevin Ballard Mon, 29 Nov 2010 22:52:59 +0000 (14:52 -0800)

diff: add --detect-copies-harder as a synonym for --find-copies-harder

Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

status: show branchname with a configurable colorAleksi Aalto Wed, 17 Nov 2010 23:40:05 +0000 (01:40 +0200)

status: show branchname with a configurable color

You can tell "git status" to paint the name of the current branch in its
output (the line that says "On branch ...") by setting the configuration
variable color.status.branch; it is by default turned off.

Signed-off-by: Aleksi Aalto <aga@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use reflog in 'pull --rebase . foo'Martin von Zweigbergk Sat, 13 Nov 2010 22:58:22 +0000 (23:58 +0100)

Use reflog in 'pull --rebase . foo'

Since c85c792 (pull --rebase: be cleverer with rebased upstream
branches, 2008-01-26), "git pull --rebase" has used the reflog to try to
rebase from the old upstream onto the new upstream.

Make this work if the local repository is explicitly passed on the
command line as in 'git pull --rebase . foo'.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Acked-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase: only show stat if configured to trueMartin von Zweigbergk Tue, 9 Nov 2010 20:59:00 +0000 (21:59 +0100)

rebase: only show stat if configured to true

If rebase.stat is set to true, a diffstat should be displayed. If it is
not set, it should default to false. However, if it is explicitly set to
false (or other value), a diffstat is still displayed, which is probably
not what most users would expect. Show diffstat only if it is set
to true.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

entry.c: remove "checkout-index" from error messagesNguyễn Thái Ngọc Duy Sun, 28 Nov 2010 04:36:38 +0000 (11:36 +0700)

entry.c: remove "checkout-index" from error messages

Back then when entry.c was part of checkout-index (or checkout-cache
at that time [1]). It makes sense to print the command name in error
messages. Nowadays entry.c is in libgit and can be used by any
commands, printing "git checkout-index: blah" does no more than
confusion. The error messages without it still give enough information.

[1] 12dccc1 (Make fiel checkout function available to the git library - 2005-06-05)

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

commit: Add commit_list prefix in two function names.Thiago Farina Sat, 27 Nov 2010 01:58:14 +0000 (23:58 -0200)

commit: Add commit_list prefix in two function names.

Add commit_list prefix to insert_by_date function and to sort_by_date,
so it's clear that these functions refer to commit_list structure.

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

unpack-trees: move all skip-worktree checks back to... Nguyễn Thái Ngọc Duy Sat, 27 Nov 2010 06:24:04 +0000 (13:24 +0700)

unpack-trees: move all skip-worktree checks back to unpack_trees()

Earlier, the will_have_skip_worktree() checks are done in various
places, which makes it hard to traverse the index tree-alike, required
by excluded_from_list(). This patch moves all the checks into two
loops in unpack_trees().

Entries in index in this operation can be classified into two
groups: ones already in index before unpack_trees() is called and ones
added to index after traverse_trees() is called.

In both groups, before checking file status on worktree, the future
skip-worktree bit must be checked, so that if an entry will be outside
worktree, worktree should not be checked.

For the first group, the future skip-worktree bit is precomputed and
stored as CE_NEW_SKIP_WORKTREE in the first loop before
traverse_trees() is called so that *way_merge() function does not need
to compute it again.

For the second group, because we don't know what entries will be in
this group until traverse_trees() finishes, operations that need
future skip-worktree check is delayed until CE_NEW_SKIP_WORKTREE is
computed in the second loop. CE_ADDED is used to mark entries in the
second group.

CE_ADDED and CE_NEW_SKIP_WORKTREE are temporary flags used in
unpack_trees(). CE_ADDED is only used by add_to_index(), which should
not be called while unpack_trees() is running.

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

dir.c: add free_excludes()Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 18:17:44 +0000 (01:17 +0700)

dir.c: add free_excludes()

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

cache.h: realign and use (1 << x) form for CE_* constantsNguyễn Thái Ngọc Duy Sat, 27 Nov 2010 06:22:16 +0000 (13:22 +0700)

cache.h: realign and use (1 << x) form for CE_* constants

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

git-rev-parse.txt: clarify --git-dirJonathan Nieder Fri, 26 Nov 2010 15:32:31 +0000 (22:32 +0700)

git-rev-parse.txt: clarify --git-dir

The current behavior is often to print an absolute path rather than
a ../../etc string, but callers must be ready to accept a relative
path, too. The most common output is ".git" (from the toplevel of
an ordinary work tree).

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

t1510: setup case #31Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:30 +0000 (22:32 +0700)

t1510: setup case #31

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

t1510: setup case #30Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:29 +0000 (22:32 +0700)

t1510: setup case #30

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

t1510: setup case #29Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:28 +0000 (22:32 +0700)

t1510: setup case #29

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

t1510: setup case #28Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:27 +0000 (22:32 +0700)

t1510: setup case #28

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

t1510: setup case #27Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:26 +0000 (22:32 +0700)

t1510: setup case #27

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

t1510: setup case #26Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:25 +0000 (22:32 +0700)

t1510: setup case #26

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

t1510: setup case #25Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:24 +0000 (22:32 +0700)

t1510: setup case #25

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

t1510: setup case #24Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:23 +0000 (22:32 +0700)

t1510: setup case #24

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

t1510: setup case #23Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:22 +0000 (22:32 +0700)

t1510: setup case #23

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

t1510: setup case #22Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:21 +0000 (22:32 +0700)

t1510: setup case #22

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

t1510: setup case #21Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:20 +0000 (22:32 +0700)

t1510: setup case #21

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

t1510: setup case #20Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:19 +0000 (22:32 +0700)

t1510: setup case #20

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

t1510: setup case #19Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:18 +0000 (22:32 +0700)

t1510: setup case #19

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

t1510: setup case #18Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:17 +0000 (22:32 +0700)

t1510: setup case #18

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

t1510: setup case #17Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:16 +0000 (22:32 +0700)

t1510: setup case #17

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

t1510: setup case #16Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:15 +0000 (22:32 +0700)

t1510: setup case #16

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

t1510: setup case #15Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:14 +0000 (22:32 +0700)

t1510: setup case #15

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

t1510: setup case #14Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:13 +0000 (22:32 +0700)

t1510: setup case #14

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

t1510: setup case #13Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:12 +0000 (22:32 +0700)

t1510: setup case #13

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

t1510: setup case #12Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:11 +0000 (22:32 +0700)

t1510: setup case #12

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

t1510: setup case #11Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:10 +0000 (22:32 +0700)

t1510: setup case #11

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

t1510: setup case #10Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:09 +0000 (22:32 +0700)

t1510: setup case #10

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

t1510: setup case #9Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:08 +0000 (22:32 +0700)

t1510: setup case #9

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

t1510: setup case #8Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:07 +0000 (22:32 +0700)

t1510: setup case #8

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

t1510: setup case #7Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:06 +0000 (22:32 +0700)

t1510: setup case #7

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

t1510: setup case #6Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:05 +0000 (22:32 +0700)

t1510: setup case #6

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

t1510: setup case #5Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:04 +0000 (22:32 +0700)

t1510: setup case #5

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

t1510: setup case #4Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:03 +0000 (22:32 +0700)

t1510: setup case #4

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

t1510: setup case #3Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:02 +0000 (22:32 +0700)

t1510: setup case #3

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

t1510: setup case #2Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:01 +0000 (22:32 +0700)

t1510: setup case #2

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

t1510: setup case #1Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:32:00 +0000 (22:32 +0700)

t1510: setup case #1

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

t1510: setup case #0Nguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:31:59 +0000 (22:31 +0700)

t1510: setup case #0

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

Add t1510 and basic rules that run repo setupNguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:31:58 +0000 (22:31 +0700)

Add t1510 and basic rules that run repo setup

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

builtins: print setup info if repo is foundNguyễn Thái Ngọc Duy Fri, 26 Nov 2010 15:31:57 +0000 (22:31 +0700)

builtins: print setup info if repo is found

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

http-fetch: rework url handlingTay Ray Chuan Thu, 25 Nov 2010 08:21:10 +0000 (16:21 +0800)

http-fetch: rework url handling

Do away with a second url variable, rewritten_url, and make url
non-const. This is safe because the functions called with url (ie.
get_http_walker() and walker_fetch()) do not modify it (ie. marked with
const char *).

Also, replace code that adds a trailing slash with a call to
str_end_url_with_slash().

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

http-push: add trailing slash at arg-parse time, instea... Tay Ray Chuan Thu, 25 Nov 2010 08:21:09 +0000 (16:21 +0800)

http-push: add trailing slash at arg-parse time, instead of later on

That way, we don't have to update repo->path and repo->path_len again
after adding the trailing slash.

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

http-push: check path length before using itTay Ray Chuan Thu, 25 Nov 2010 08:21:08 +0000 (16:21 +0800)

http-push: check path length before using it

We use path_len to skip the base url/path, but we do not know for sure
if path does indeed contain the base url/path. Check if this is so.

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

http-push: Normalise directory names when pushing to... Tay Ray Chuan Thu, 25 Nov 2010 08:21:07 +0000 (16:21 +0800)

http-push: Normalise directory names when pushing to some WebDAV servers

Fix a bug when pushing to WebDAV servers which do not use a trailing
slash for collection names. The previous implementation fails to see
that the requested resource "refs/" is the same resource as "refs"
and loads every reference twice (once for refs/ and once for refs).

This implementation normalises every collection name by appending a
trailing slash if necessary.

This can be tested with old versions of Apache (such as the WebDAV
server of GMX, Apache 2.0.63).

Based-on-patch-by: Gabriel Corona <gabriel.corona@enst-bretagne.fr>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http-backend: use end_url_with_slash()Tay Ray Chuan Thu, 25 Nov 2010 08:21:06 +0000 (16:21 +0800)

http-backend: use end_url_with_slash()

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

url: add str wrapper for end_url_with_slash()Tay Ray Chuan Thu, 25 Nov 2010 08:21:05 +0000 (16:21 +0800)

url: add str wrapper for end_url_with_slash()

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

shift end_url_with_slash() from http.[ch] to url.[ch]Tay Ray Chuan Thu, 25 Nov 2010 08:21:04 +0000 (16:21 +0800)

shift end_url_with_slash() from http.[ch] to url.[ch]

This allows non-http/curl users to access it too (eg. http-backend.c).

Update include headers in end_url_with_slash() users too.

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

t5550-http-fetch: add test for http-fetchTay Ray Chuan Thu, 25 Nov 2010 08:21:03 +0000 (16:21 +0800)

t5550-http-fetch: add test for http-fetch

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

t5550-http-fetch: add missing '&&'Tay Ray Chuan Thu, 25 Nov 2010 08:21:02 +0000 (16:21 +0800)

t5550-http-fetch: add missing '&&'

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

Merge branch 'en/and-cascade-tests'Junio C Hamano Fri, 26 Nov 2010 22:45:37 +0000 (14:45 -0800)

Merge branch 'en/and-cascade-tests'

* en/and-cascade-tests:
t7300: add a missing SYMLINKS prerequisite

t7300: add a missing SYMLINKS prerequisiteJohannes Sixt Thu, 25 Nov 2010 08:03:39 +0000 (09:03 +0100)

t7300: add a missing SYMLINKS prerequisite

The test fails on Windows since 2dec68c (tests: add missing &&, batch 2).

Even though this test allocates and leaves behind files, subsequent tests
do not depend on this, so it is safe to just skip it.

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

Merge branch 'cb/maint-orphan-merge-noclobber'Junio C Hamano Wed, 24 Nov 2010 23:55:36 +0000 (15:55 -0800)

Merge branch 'cb/maint-orphan-merge-noclobber'

* cb/maint-orphan-merge-noclobber:
do not overwrite untracked during merge from unborn branch

Merge branch 'ao/send-email-irt'Junio C Hamano Wed, 24 Nov 2010 23:55:32 +0000 (15:55 -0800)

Merge branch 'ao/send-email-irt'

* ao/send-email-irt:
git-send-email.perl: make initial In-Reply-To apply only to first email
t9001: send-email interation with --in-reply-to and --chain-reply-to

Merge branch 'jk/add-e-doc'Junio C Hamano Wed, 24 Nov 2010 23:55:29 +0000 (15:55 -0800)

Merge branch 'jk/add-e-doc'

* jk/add-e-doc:
docs: give more hints about how "add -e" works
docs: give more hints about how "add -e" works

Merge branch 'rs/opt-help-text'Junio C Hamano Wed, 24 Nov 2010 23:55:19 +0000 (15:55 -0800)

Merge branch 'rs/opt-help-text'

* rs/opt-help-text:
verify-tag: document --verbose
branch: improve --verbose description
archive: improve --verbose description
Describe various forms of "be quiet" using OPT__QUIET
add OPT__FORCE
add description parameter to OPT__QUIET
add description parameter to OPT__DRY_RUN
add description parameter to OPT__VERBOSE

Merge branch 'kb/maint-rebase-autosquash'Junio C Hamano Wed, 24 Nov 2010 23:55:15 +0000 (15:55 -0800)

Merge branch 'kb/maint-rebase-autosquash'

* kb/maint-rebase-autosquash:
rebase: teach --autosquash to match on sha1 in addition to message
rebase: better rearranging of fixup!/squash! lines with --autosquash

Merge branch 'mm/phrase-remote-tracking'Junio C Hamano Wed, 24 Nov 2010 23:55:05 +0000 (15:55 -0800)

Merge branch 'mm/phrase-remote-tracking'

* mm/phrase-remote-tracking:
git-branch.txt: mention --set-upstream as a way to change upstream configuration
user-manual: remote-tracking can be checked out, with detached HEAD
user-manual.txt: explain better the remote(-tracking) branch terms
Change incorrect "remote branch" to "remote tracking branch" in C code
Change incorrect uses of "remote branch" meaning "remote-tracking"
Change "tracking branch" to "remote-tracking branch"
everyday.txt: change "tracking branch" to "remote-tracking branch"
Change remote tracking to remote-tracking in non-trivial places
Replace "remote tracking" with "remote-tracking"
Better "Changed but not updated" message in git-status

Merge branch 'en/and-cascade-tests'Junio C Hamano Wed, 24 Nov 2010 23:51:49 +0000 (15:51 -0800)

Merge branch 'en/and-cascade-tests'

* en/and-cascade-tests: (25 commits)
t4124 (apply --whitespace): use test_might_fail
t3404: do not use 'describe' to implement test_cmp_rev
t3404 (rebase -i): introduce helper to check position of HEAD
t3404 (rebase -i): move comment to description
t3404 (rebase -i): unroll test_commit loops
t3301 (notes): use test_expect_code for clarity
t1400 (update-ref): use test_must_fail
t1502 (rev-parse --parseopt): test exit code from "-h"
t6022 (renaming merge): chain test commands with &&
test-lib: introduce test_line_count to measure files
tests: add missing &&, batch 2
tests: add missing &&
Introduce sane_unset and use it to ensure proper && chaining
t7800 (difftool): add missing &&
t7601 (merge-pull-config): add missing &&
t7001 (mv): add missing &&
t6016 (rev-list-graph-simplify-history): add missing &&
t5602 (clone-remote-exec): add missing &&
t4026 (color): remove unneeded and unchained command
t4019 (diff-wserror): add lots of missing &&
...

Conflicts:
t/t7006-pager.sh

docs: default to more modern toolsetJeff King Fri, 19 Nov 2010 17:54:24 +0000 (12:54 -0500)

docs: default to more modern toolset

When the ASCIIDOC8 and ASCIIDOC_NO_ROFF knobs were built,
many people were still on asciidoc 7 and using older
versions of docbook-xsl. These days, even the almost
2-year-old Debian stable needs these knobs turned.

So let's turn them by default. The new knobs ASCIIDOC7 and
ASCIIDOC_ROFF can be used to get the old behavior if people
are on older systems.

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

fast-import: treat SIGUSR1 as a request to access objec... Jonathan Nieder Mon, 22 Nov 2010 08:16:02 +0000 (02:16 -0600)

fast-import: treat SIGUSR1 as a request to access objects early

It can be tedious to wait for a multi-million-revision import.
Unfortunately it is hard to spy on the import because fast-import
works by continuously streaming out objects, without updating the pack
index or refs until a checkpoint command or the end of the stream.

So allow the impatient operator to request checkpoints by sending a
signal, like so:

killall -USR1 git-fast-import

When receiving such a signal, fast-import would schedule a checkpoint
to take place after the current top-level command (usually a "commit"
or "blob" request) finishes.

Caveats: just like ordinary checkpoint commands, such requests slow
down the import. Switching to a new pack at a suboptimal moment is
also likely to result in a less dense initial collection of packs.
That's the price.

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

vcs-svn: Error out for v3 dumpsJonathan Nieder Thu, 18 Nov 2010 05:02:48 +0000 (23:02 -0600)

vcs-svn: Error out for v3 dumps

By ignoring the Text-Delta and Prop-Delta node fields, current svn-fe
happily mistakes deltas for full text and instead of cleanly erroring
out, it produces a valid but semantically bogus fast-import stream
when fed a dump file in the modern "svnadmin dump --deltas" format.

Dump file parsers are supposed to ignore header fields they don't
understand (to allow for backward-compatible extensions), but they are
also supposed to check the SVN-fs-dump-format-version header to
prevent misinterpretation of non backward-compatible extensions.
Do so.

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

Merge branch 'maint'Junio C Hamano Wed, 24 Nov 2010 21:24:49 +0000 (13:24 -0800)

Merge branch 'maint'

* maint:
imap-send: link against libcrypto for HMAC and others
git-send-email.perl: Deduplicate "to:" and "cc:" entries with names
mingw: do not set errno to 0 on success

Merge branch 'jl/maint-pull-tags-doc' into maintJunio C Hamano Wed, 24 Nov 2010 20:47:42 +0000 (12:47 -0800)

Merge branch 'jl/maint-pull-tags-doc' into maint

* jl/maint-pull-tags-doc:
pull: Remove --tags option from manpage

Merge branch 'kb/maint-diff-ws-check' into maintJunio C Hamano Wed, 24 Nov 2010 20:47:27 +0000 (12:47 -0800)

Merge branch 'kb/maint-diff-ws-check' into maint

* kb/maint-diff-ws-check:
diff: handle lines containing only whitespace and tabs better
test-lib: extend test_decode_color to handle more color codes

Merge branch 'jm/mailmap' into maintJunio C Hamano Wed, 24 Nov 2010 20:47:18 +0000 (12:47 -0800)

Merge branch 'jm/mailmap' into maint

* jm/mailmap:
t4203: do not let "git shortlog" DWIM based on tty
t4203 (mailmap): stop hardcoding commit ids and dates
mailmap: fix use of freed memory

Merge branch 'tr/maint-git-repack-tmpfile' into maintJunio C Hamano Wed, 24 Nov 2010 20:47:10 +0000 (12:47 -0800)

Merge branch 'tr/maint-git-repack-tmpfile' into maint

* tr/maint-git-repack-tmpfile:
repack: place temporary packs under .git/objects/pack/

Merge branch 'jk/maint-apply-no-binary' into maintJunio C Hamano Wed, 24 Nov 2010 20:47:04 +0000 (12:47 -0800)

Merge branch 'jk/maint-apply-no-binary' into maint

* jk/maint-apply-no-binary:
apply: don't segfault on binary files with missing data

Merge branch 'jn/send-pack-error' into maintJunio C Hamano Wed, 24 Nov 2010 20:46:46 +0000 (12:46 -0800)

Merge branch 'jn/send-pack-error' into maint

* jn/send-pack-error:
send-pack: avoid redundant "pack-objects died with strange error"

Merge branch 'ak/submodule-sync' into maintJunio C Hamano Wed, 24 Nov 2010 20:46:40 +0000 (12:46 -0800)

Merge branch 'ak/submodule-sync' into maint

* ak/submodule-sync:
submodule sync: Update "submodule.<name>.url" for empty directories

Merge branch 'jk/maint-rev-list-nul' into maintJunio C Hamano Wed, 24 Nov 2010 20:46:32 +0000 (12:46 -0800)

Merge branch 'jk/maint-rev-list-nul' into maint

* jk/maint-rev-list-nul:
rev-list: handle %x00 NUL in user format

Merge branch 'cb/diff-fname-optim' into maintJunio C Hamano Wed, 24 Nov 2010 20:46:26 +0000 (12:46 -0800)

Merge branch 'cb/diff-fname-optim' into maint

* cb/diff-fname-optim:
diff: avoid repeated scanning while looking for funcname
do not search functions for patch ID
add rebase patch id tests

Merge branch 'jk/no-textconv-symlink' into maintJunio C Hamano Wed, 24 Nov 2010 20:46:20 +0000 (12:46 -0800)

Merge branch 'jk/no-textconv-symlink' into maint

* jk/no-textconv-symlink:
diff: don't use pathname-based diff drivers for symlinks

Merge branch 'dk/maint-blame-el' into maintJunio C Hamano Wed, 24 Nov 2010 20:46:17 +0000 (12:46 -0800)

Merge branch 'dk/maint-blame-el' into maint

* dk/maint-blame-el:
git-blame.el: Add (require 'format-spec)

Merge branch 'aw/git-p4-deletion' into maintJunio C Hamano Wed, 24 Nov 2010 20:46:14 +0000 (12:46 -0800)

Merge branch 'aw/git-p4-deletion' into maint

* aw/git-p4-deletion:
Fix handling of git-p4 on deleted files

Merge branch 'kf/post-receive-sample-hook' into maintJunio C Hamano Wed, 24 Nov 2010 20:45:39 +0000 (12:45 -0800)

Merge branch 'kf/post-receive-sample-hook' into maint

* kf/post-receive-sample-hook:
post-receive-email: ensure sent messages are not empty

Merge branch 'jk/repack-reuse-object' into maintJunio C Hamano Wed, 24 Nov 2010 20:45:07 +0000 (12:45 -0800)

Merge branch 'jk/repack-reuse-object' into maint

* jk/repack-reuse-object:
Documentation: pack.compression: explain how to recompress
repack: add -F flag to let user choose between --no-reuse-delta/object

Conflicts:
Documentation/git-repack.txt

Merge branch 'bc/fix-cherry-pick-root' into maintJunio C Hamano Wed, 24 Nov 2010 20:44:46 +0000 (12:44 -0800)

Merge branch 'bc/fix-cherry-pick-root' into maint

* bc/fix-cherry-pick-root:
builtin/revert.c: don't dereference a NULL pointer

Merge branch 'uk/fix-author-ident-sed-script' into... Junio C Hamano Wed, 24 Nov 2010 20:44:41 +0000 (12:44 -0800)

Merge branch 'uk/fix-author-ident-sed-script' into maint

* uk/fix-author-ident-sed-script:
get_author_ident_from_commit(): remove useless quoting

Merge branch 'ab/makefile-track-cc' into maintJunio C Hamano Wed, 24 Nov 2010 20:44:35 +0000 (12:44 -0800)

Merge branch 'ab/makefile-track-cc' into maint

* ab/makefile-track-cc:
Makefile: add CC to TRACK_CFLAGS

Merge branch 'mg/reset-doc' into maintJunio C Hamano Wed, 24 Nov 2010 20:44:26 +0000 (12:44 -0800)

Merge branch 'mg/reset-doc' into maint

* mg/reset-doc:
git-reset.txt: make modes description more consistent
git-reset.txt: point to git-checkout
git-reset.txt: use "working tree" consistently
git-reset.txt: reset --soft is not a no-op
git-reset.txt: reset does not change files in target
git-reset.txt: clarify branch vs. branch head

Merge branch 'tr/send-email-refuse-sending-unedited... Junio C Hamano Wed, 24 Nov 2010 20:44:12 +0000 (12:44 -0800)

Merge branch 'tr/send-email-refuse-sending-unedited-cover-letter' into maint

* tr/send-email-refuse-sending-unedited-cover-letter:
send-email: Refuse to send cover-letter template subject

imap-send: link against libcrypto for HMAC and othersDiego Elio Pettenò Wed, 24 Nov 2010 20:03:53 +0000 (21:03 +0100)

imap-send: link against libcrypto for HMAC and others

When using stricter linkers, such as GNU gold or Darwin ld, transitive
dependencies are not counted towards symbol resolution. If we don't link
imap-send to libcrypto, we'll have undefined references to the HMAC_*,
EVP_* and ERR_* functions families.

Signed-off-by: Diego Elio Pettenò <flameeyes@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>