gitweb.git
revert: plug memory leak in "cherry-pick root commit... Jonathan Nieder Sun, 14 Aug 2011 15:22:04 +0000 (10:22 -0500)

revert: plug memory leak in "cherry-pick root commit" codepath

The empty tree passed as common ancestor to merge_trees() when
cherry-picking a parentless commit is allocated on the heap and never
freed. Leaking such a small one-time allocation is not a very big
problem, but now that "git cherry-pick" can cherry-pick multiple
commits it can start to add up.

Avoid the leak by storing the fake tree exactly once in the BSS
section (i.e., use a static). While at it, let's add a test to make
sure cherry-picking multiple parentless commits continues to work.

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

Documentation/revert: describe passing more than one... Christian Couder Wed, 2 Jun 2010 05:58:41 +0000 (07:58 +0200)

Documentation/revert: describe passing more than one commit

And while at it, add an "EXAMPLES" section.

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

Documentation/cherry-pick: describe passing more than... Christian Couder Wed, 2 Jun 2010 05:58:40 +0000 (07:58 +0200)

Documentation/cherry-pick: describe passing more than one commit

And while at it, add an "EXAMPLES" section.

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

revert: add tests to check cherry-picking many commitsChristian Couder Wed, 2 Jun 2010 05:58:39 +0000 (07:58 +0200)

revert: add tests to check cherry-picking many commits

Note that there is an expected failure when running:

git cherry-pick -3 fourth

that's because:

git rev-list --no-walk -3 fourth

produce only one commit and not 3 as "--no-walk" seems to
take over "-3".

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

revert: allow cherry-picking more than one commitChristian Couder Wed, 2 Jun 2010 05:58:38 +0000 (07:58 +0200)

revert: allow cherry-picking more than one commit

This makes it possible to pass many commits or ranges of
commits to "git cherry-pick" and to "git revert" to process
many commits instead of just one.

In fact commits are now enumerated with an equivalent of

git rev-list --no-walk "$@"

so all the following are now possible:

git cherry-pick master~2..master
git cherry-pick ^master~2 master
git cherry-pick master^ master

The following should be possible but does not work:

git cherry-pick -2 master

because "git rev-list --no-walk -2 master" only outputs
one commit as "--no-walk" seems to take over "-2".

And there is currently no way to continue cherry-picking or
reverting if there is a problem with one commit. It's also
not possible to abort the whole process. Some future work
should provide the --continue and --abort options to do
just that.

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

revert: change help_msg() to take no argumentChristian Couder Wed, 2 Jun 2010 05:58:37 +0000 (07:58 +0200)

revert: change help_msg() to take no argument

This is needed because the following commits will make it
possible to cherry-pick many commits instead of just one.

So it will be possible to pass for example ranges of commits
to "git cherry-pick" and this means that it will not be
possible to use the arguments passed to "git cherry-pick" in
the help message.

The help message will have to use the sha1 of the currently
processed commit.

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

revert: refactor code into a do_pick_commit() functionChristian Couder Wed, 2 Jun 2010 05:58:36 +0000 (07:58 +0200)

revert: refactor code into a do_pick_commit() function

This is needed because we are going to make it possible
to cherry-pick many commits instead of just one in the following
commits. And we will be able to do that by just calling
do_pick_commit() once for each commit to cherry-pick.

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

revert: use run_command_v_opt() instead of execv_git_cmd()Christian Couder Wed, 2 Jun 2010 05:58:35 +0000 (07:58 +0200)

revert: use run_command_v_opt() instead of execv_git_cmd()

This is needed by the following commits, because we are going
to cherry pick many commits instead of just one.

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

revert: cleanup code for -x optionChristian Couder Wed, 2 Jun 2010 05:58:34 +0000 (07:58 +0200)

revert: cleanup code for -x option

There was some dead code and option -x appeared in the short
help message of git revert (when running "git revert -h")
which was wrong.

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

Merge branch 'maint'Junio C Hamano Fri, 28 May 2010 23:59:42 +0000 (16:59 -0700)

Merge branch 'maint'

* maint:
Makefile: reenable install with NO_CURL
completion: --set-upstream option for git-branch
get_cwd_relative(): do not misinterpret suffix as subdirectory

Merge branch 'maint-1.7.0' into maintJunio C Hamano Fri, 28 May 2010 23:59:36 +0000 (16:59 -0700)

Merge branch 'maint-1.7.0' into maint

* maint-1.7.0:
Makefile: reenable install with NO_CURL

Makefile: reenable install with NO_CURLMichael J Gruber Wed, 26 May 2010 14:24:34 +0000 (16:24 +0200)

Makefile: reenable install with NO_CURL

Setting NO_CURL leaves some variables like REMOTE_CURL_ALIASES
empty, which creates no fun when for-looping over
$(REMOTE_CURL_ALIASES) unconditionally. Make it conditional.

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

completion: --set-upstream option for git-branchMichael J Gruber Wed, 26 May 2010 08:46:41 +0000 (10:46 +0200)

completion: --set-upstream option for git-branch

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

get_cwd_relative(): do not misinterpret suffix as subdi... Clemens Buchacher Sat, 22 May 2010 11:13:05 +0000 (13:13 +0200)

get_cwd_relative(): do not misinterpret suffix as subdirectory

If the current working directory is the same as the work tree path
plus a suffix, e.g. 'work' and 'work-xyz', then the suffix '-xyz'
would be interpreted as a subdirectory of 'work'.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 25 May 2010 20:13:43 +0000 (13:13 -0700)

Merge branch 'maint'

* maint:
Documentation/SubmittingPatches: clarify GMail section and SMTP
show-branch: use DEFAULT_ABBREV instead of 7
t7502-commit: fix spelling
test get_git_work_tree() return value for NULL

Documentation/SubmittingPatches: clarify GMail section... Michael J Gruber Tue, 25 May 2010 08:30:13 +0000 (10:30 +0200)

Documentation/SubmittingPatches: clarify GMail section and SMTP

We keep getting mangled submissions from GMail's web interface. Try to
be more proactive in SubmittingPatches by

- pointing to MUA specific instructions early on,
- structuring the GMail section more clearly,
- putting send-email/SMTP before imap-send/IMAP.

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

show-branch: use DEFAULT_ABBREV instead of 7Tay Ray Chuan Mon, 24 May 2010 08:50:44 +0000 (16:50 +0800)

show-branch: use DEFAULT_ABBREV instead of 7

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

t7502-commit: fix spellingTay Ray Chuan Mon, 24 May 2010 08:51:17 +0000 (16:51 +0800)

t7502-commit: fix spelling

s/subdirecotry/subdirectory/

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

test get_git_work_tree() return value for NULLClemens Buchacher Sat, 22 May 2010 12:21:27 +0000 (14:21 +0200)

test get_git_work_tree() return value for NULL

If we are in a git directory, get_git_work_tree() can return NULL.
While trying to determine whether or not the given paths are outside
the work tree, the following command would read from it anyways and
trigger a segmentation fault.

git diff / /

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'by/blame-doc-m-c'Junio C Hamano Fri, 21 May 2010 11:02:24 +0000 (04:02 -0700)

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

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

Merge branch 'by/log-follow'Junio C Hamano Fri, 21 May 2010 11:02:23 +0000 (04:02 -0700)

Merge branch 'by/log-follow'

* by/log-follow:
tests: rename duplicate t4205
Make git log --follow find copies among unmodified files.
Make diffcore_std only can run once before a diff_flush
Add a macro DIFF_QUEUE_CLEAR.

Merge branch 'mg/advice-statushints'Junio C Hamano Fri, 21 May 2010 11:02:23 +0000 (04:02 -0700)

Merge branch 'mg/advice-statushints'

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

Conflicts:
wt-status.c

Merge branch 'cb/maint-stash-orphaned-file'Junio C Hamano Fri, 21 May 2010 11:02:23 +0000 (04:02 -0700)

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

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

Merge branch 'jn/maint-bundle'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'jn/maint-bundle'

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

Merge branch 'pb/patch-id-plus'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'pb/patch-id-plus'

* pb/patch-id-plus:
patch-id: Add support for mbox format
patch-id: extract parsing one diff out of generate_id_list

Merge branch 'rr/doc-submitting'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'rr/doc-submitting'

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

Merge branch 'st/remote-tags-no-tags'Junio C Hamano Fri, 21 May 2010 11:02:22 +0000 (04:02 -0700)

Merge branch 'st/remote-tags-no-tags'

* st/remote-tags-no-tags:
remote add: add a --[no-]tags option
Honor "tagopt = --tags" configuration option

Merge branch 'jn/fsck-ident'Junio C Hamano Fri, 21 May 2010 11:02:21 +0000 (04:02 -0700)

Merge branch 'jn/fsck-ident'

* jn/fsck-ident:
fsck: check ident lines in commit objects

Merge branch 'jn/gitweb-caching-prep'Junio C Hamano Fri, 21 May 2010 11:02:21 +0000 (04:02 -0700)

Merge branch 'jn/gitweb-caching-prep'

* jn/gitweb-caching-prep:
gitweb: Move generating page title to separate subroutine
gitweb: Add custom error handler using die_error
gitweb: Use nonlocal jump instead of 'exit' in die_error
gitweb: href(..., -path_info => 0|1)
Export more test-related variables when running external tests

Merge branch 'jn/gitweb-install'Junio C Hamano Fri, 21 May 2010 11:02:21 +0000 (04:02 -0700)

Merge branch 'jn/gitweb-install'

* jn/gitweb-install:
gitweb: Create install target for gitweb in Makefile
gitweb: Improve installation instructions in gitweb/INSTALL

Merge branch 'jn/gitweb-our-squelch'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/gitweb-our-squelch'

* jn/gitweb-our-squelch:
gitweb: Silence 'Variable VAR may be unavailable' warnings

Merge branch 'jn/request-pull'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/request-pull'

* jn/request-pull:
tests: chmod +x t5150
adapt request-pull tests for new pull request format
t5150: protect backslash with backslash in shell
request-pull: protect against OPTIONS_KEEPDASHDASH from environment
tests for request-pull

Merge branch 'jn/shortlog'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/shortlog'

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

Merge branch 'jn/t7006-fixup'Junio C Hamano Fri, 21 May 2010 11:02:20 +0000 (04:02 -0700)

Merge branch 'jn/t7006-fixup'

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

Merge branch 'js/maint-receive-pack-symref-alias'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

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

* js/maint-receive-pack-symref-alias:
t5516-fetch-push.sh: style cleanup
receive-pack: detect aliased updates which can occur with symrefs
receive-pack: switch global variable 'commands' to a parameter

Conflicts:
t/t5516-fetch-push.sh

Merge branch 'sp/maint-dumb-http-pack-reidx'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

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

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

Merge branch 'jn/submodule-basic-test'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

Merge branch 'jn/submodule-basic-test'

* jn/submodule-basic-test:
t7400: clarify submodule update tests
t7400: clarify 'submodule add' tests
t7400: split setup into multiple tests

Merge branch 'np/index-pack-memsave'Junio C Hamano Fri, 21 May 2010 11:02:19 +0000 (04:02 -0700)

Merge branch 'np/index-pack-memsave'

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

Merge branch 'jc/am-3-show-corrupted-patch'Junio C Hamano Fri, 21 May 2010 11:02:18 +0000 (04:02 -0700)

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

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

Merge branch 'jc/maint-no-reflog-expire-unreach-for... Junio C Hamano Fri, 21 May 2010 11:02:18 +0000 (04:02 -0700)

Merge branch 'jc/maint-no-reflog-expire-unreach-for-head'

* jc/maint-no-reflog-expire-unreach-for-head:
reflog --expire-unreachable: special case entries in "HEAD" reflog
more war on "sleep" in tests
Document gc.<pattern>.reflogexpire variables

Conflicts:
Documentation/config.txt

Merge branch 'cw/maint-exec-defpath'Junio C Hamano Fri, 21 May 2010 11:02:17 +0000 (04:02 -0700)

Merge branch 'cw/maint-exec-defpath'

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

Merge branch 'tr/word-diff'Junio C Hamano Fri, 21 May 2010 11:02:17 +0000 (04:02 -0700)

Merge branch 'tr/word-diff'

* tr/word-diff:
diff: add --word-diff option that generalizes --color-words

Conflicts:
diff.c

Merge branch 'sp/maint-describe-tiebreak-with-tagger... Junio C Hamano Fri, 21 May 2010 11:02:17 +0000 (04:02 -0700)

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

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

Merge branch 'jc/status-show-ignored'Junio C Hamano Fri, 21 May 2010 11:02:16 +0000 (04:02 -0700)

Merge branch 'jc/status-show-ignored'

* jc/status-show-ignored:
wt-status: fix 'fprintf' compilation warning
status: --ignored option shows ignored files
wt-status: rename and restructure status-print-untracked
wt-status: collect ignored files
wt-status: plug memory leak while collecting untracked files
wt-status: remove unused workdir_untracked member

Merge branch 'np/malloc-threading'Junio C Hamano Fri, 21 May 2010 11:02:16 +0000 (04:02 -0700)

Merge branch 'np/malloc-threading'

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

Merge branch 'sr/remote-helper-export'Junio C Hamano Fri, 21 May 2010 11:02:15 +0000 (04:02 -0700)

Merge branch 'sr/remote-helper-export'

* sr/remote-helper-export:
t5800: testgit helper requires Python support
Makefile: Simplify handling of python scripts
remote-helpers: add tests for testgit helper
remote-helpers: add testgit helper
remote-helpers: add support for an export command
remote-helpers: allow requesing the path to the .git directory
fast-import: always create marks_file directories
clone: also configure url for bare clones
clone: pass the remote name to remote_get

Conflicts:
Makefile

Merge branch 'ld/discovery-limit-to-fs' (early part)Junio C Hamano Fri, 21 May 2010 11:02:15 +0000 (04:02 -0700)

Merge branch 'ld/discovery-limit-to-fs' (early part)

* 'ld/discovery-limit-to-fs' (early part):
Rename ONE_FILESYSTEM to DISCOVERY_ACROSS_FILESYSTEM
GIT_ONE_FILESYSTEM: flip the default to stop at filesystem boundaries
Add support for GIT_ONE_FILESYSTEM
truncate cwd string before printing error message
config.c: remove static keyword from git_env_bool()

Merge branch 'ar/config-from-command-line'Junio C Hamano Fri, 21 May 2010 11:02:14 +0000 (04:02 -0700)

Merge branch 'ar/config-from-command-line'

* ar/config-from-command-line:
Complete prototype of git_config_from_parameters()
Use strbufs instead of open-coded string manipulation
Allow passing of configuration parameters in the command line

Merge branch 'em/checkout-orphan'Junio C Hamano Fri, 21 May 2010 11:02:14 +0000 (04:02 -0700)

Merge branch 'em/checkout-orphan'

* em/checkout-orphan:
git checkout: create unparented branch by --orphan

Complete prototype of git_config_from_parameters()Thomas Rast Fri, 21 May 2010 10:07:47 +0000 (12:07 +0200)

Complete prototype of git_config_from_parameters()

Add the missing argument list. (Its lack triggered a compiler warning
for me.)

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

Merge branch 'maint'Junio C Hamano Fri, 21 May 2010 10:13:07 +0000 (03:13 -0700)

Merge branch 'maint'

* maint:
Fix checkout of large files to network shares on Windows XP
start_command: close cmd->err descriptor when fork/spawn fails
Fix "Out of memory? mmap failed" for files larger than 4GB on Windows

Fix checkout of large files to network shares on Windows XPRené Scharfe Thu, 20 May 2010 18:57:53 +0000 (20:57 +0200)

Fix checkout of large files to network shares on Windows XP

Bigger writes to network drives on Windows XP fail. Cap them at 31MB to
allow them to succeed. Callers need to be prepared for write() calls
that do less work than requested anyway.

On local drives, write() calls are translated to WriteFile() calls with
a cap of 64KB on Windows XP and 256KB on Vista. Thus a cap of 31MB won't
affect the number of WriteFile() calls which do the actual work. There's
still room for some other version of Windows to use a chunk size of 1MB
without increasing the number of system calls.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

start_command: close cmd->err descriptor when fork... bert Dvornik Thu, 20 May 2010 18:57:52 +0000 (20:57 +0200)

start_command: close cmd->err descriptor when fork/spawn fails

Fix the problem where the cmd->err passed into start_command wasn't
being properly closed when certain types of errors occurr. (Compare
the affected code with the clean shutdown code later in the function.)

On Windows, this problem would be triggered if mingw_spawnvpe()
failed, which would happen if the command to be executed was malformed
(e.g. a text file that didn't start with a #! line). If cmd->err was
a pipe, the failure to close it could result in a hang while the other
side was waiting (forever) for either input or pipe close, e.g. while
trying to shove the output into the side band. On msysGit, this
problem was causing a hang in t5516-fetch-push.

[J6t: With a slight adjustment of the test case, the hang is also
observed on Linux.]

Signed-off-by: bert Dvornik <dvornik+git@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix "Out of memory? mmap failed" for files larger than... Ian McLean Thu, 20 May 2010 18:57:51 +0000 (20:57 +0200)

Fix "Out of memory? mmap failed" for files larger than 4GB on Windows

The git_mmap implementation was broken for file sizes that wouldn't fit
into a size_t (32 bits). This was caused by intermediate variables that
were only 32 bits wide when they should be 64 bits.

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

Merge branch 'maint'Junio C Hamano Thu, 20 May 2010 04:28:51 +0000 (21:28 -0700)

Merge branch 'maint'

* maint:
post-receive-email: document command-line mode

post-receive-email: document command-line modeJonathan Nieder Wed, 19 May 2010 19:01:47 +0000 (14:01 -0500)

post-receive-email: document command-line mode

According to the default hooks/post-receive file, the hook is called
with three arguments on stdin:

<oldrev> <newrev> <refname>

In command-line mode, the arguments come in a different order, because
the email hook instead calls:

generate_email $2 $3 $1

Add a comment to explain why, based on comments from the mailing list
and the commit message to v1.5.1~9. Thanks to Andy for the
explanation.

Requested-by: martin f. krafft <madduck@debian.org>
Cc: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 19 May 2010 05:39:56 +0000 (22:39 -0700)

Merge branch 'maint'

* maint:
Documentation/gitdiffcore: fix order in pickaxe description
Documentation: fix minor inconsistency
Documentation: rebase -i ignores options passed to "git am"
hash_object: correction for zero length file

Documentation/gitdiffcore: fix order in pickaxe descriptionMichael J Gruber Tue, 18 May 2010 10:49:33 +0000 (12:49 +0200)

Documentation/gitdiffcore: fix order in pickaxe description

Reverse the order of "origin" and "result" so that the sentence
really describes an addition rather than a removal.

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

Documentation: fix minor inconsistencyMichael J Gruber Thu, 13 May 2010 12:51:38 +0000 (14:51 +0200)

Documentation: fix minor inconsistency

While we don't always write out commands in full (`git command`) we
should do it consistently in adjacent paragraphs.

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

Documentation: rebase -i ignores options passed to... Markus Heidelberg Thu, 13 May 2010 12:47:53 +0000 (14:47 +0200)

Documentation: rebase -i ignores options passed to "git am"

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff-options: make --patch a synonym for -pWill Palmer Thu, 13 May 2010 08:59:00 +0000 (09:59 +0100)

diff-options: make --patch a synonym for -p

Here we simply make --patch a synonym for -p, whose mnemonic was "patch"
all along.

Signed-off-by: Will Palmer <wmpalmer@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

for-each-ref: Field with abbreviated objectnameMichael J Gruber Thu, 13 May 2010 12:31:46 +0000 (14:31 +0200)

for-each-ref: Field with abbreviated objectname

Introduce a :short modifier to objectname which outputs the abbreviated
object name.

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

hash_object: correction for zero length fileDmitry Potapov Mon, 10 May 2010 21:38:17 +0000 (01:38 +0400)

hash_object: correction for zero length file

The check whether size is zero was done after if size <= SMALL_FILE_SIZE,
as result, zero size case was never triggered. Instead zero length file
was treated as any other small file. This did not caused any problem, but
if we have a special case for size equal to zero, it is better to make it
work and avoid redundant malloc().

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Use @diff_opts while using format-patchPavan Kumar Sunkara Mon, 10 May 2010 16:41:35 +0000 (18:41 +0200)

gitweb: Use @diff_opts while using format-patch

Make git-format-patch (used by 'patch' and 'patches' views) use the
same rename detection options that git-diff and git-diff-tree (used
by 'commitdiff', 'blobdiff', etc.) use.

Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 12 May 2010 06:04:47 +0000 (23:04 -0700)

Merge branch 'maint'

* maint:
GIT-VERSION-GEN: restrict tags used

GIT-VERSION-GEN: restrict tags usedTay Ray Chuan Wed, 12 May 2010 03:29:20 +0000 (11:29 +0800)

GIT-VERSION-GEN: restrict tags used

Restrict the tags used to generate the version string to those that
begin with "v", since git's tags for git-core (ie. excluding git-gui)
are all of the form "vX.Y...".

This is to avoid using private tags by the user in a clone of the git
code repository, which may break certain machinery (eg. Makefile, gitk).

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

Merge branch 'maint'Junio C Hamano Tue, 11 May 2010 01:34:03 +0000 (18:34 -0700)

Merge branch 'maint'

* maint:
handle "git --bare init <dir>" properly

tests: chmod +x t5150Jeff King Mon, 10 May 2010 09:51:39 +0000 (05:51 -0400)

tests: chmod +x t5150

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

tests: rename duplicate t4205Jeff King Mon, 10 May 2010 09:47:39 +0000 (05:47 -0400)

tests: rename duplicate t4205

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

handle "git --bare init <dir>" properlyJeff King Mon, 10 May 2010 09:42:06 +0000 (05:42 -0400)

handle "git --bare init <dir>" properly

If we know we are creating a bare repository, we use setenv
to set the GIT_DIR directory to the current directory
(either where we already were, or one we created and chdir'd
into with "git init --bare <dir>").

However, with "git --bare init <dir>" (note the --bare as a
git wrapper option), the setup code actually sets GIT_DIR
for us, but it uses the wrong, original cwd when a directory
is given. Because our setenv does not use the overwrite
flag, it is ignored.

We need to set the overwrite flag, but only when we are
given a directory on the command line. That still allows:

GIT_DIR=foo.git git init --bare

to work. The behavior is changed for:

GIT_DIR=foo.git git init --bare bar.git

which used to create the repository in foo.git, but now will
use bar.git. This is more sane, as command line options
should generally override the environment.

Noticed by Oliver Hoffmann.

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

git-svn: mangle refnames forbidden in gitTorsten Schmutzler Thu, 6 May 2010 20:20:43 +0000 (22:20 +0200)

git-svn: mangle refnames forbidden in git

git-check-ref-format(1) describes names which
cannot be used as refnames for git. Some are
legal branchnames in subversion however.
Mangle the not yet handled cases.

Signed-off-by: Torsten Schmutzler <git-ts@theblacksun.eu>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: Remove unused use of File::TempÆvar Arnfjörð Bjarmason Sat, 8 May 2010 16:40:41 +0000 (16:40 +0000)

git-svn: Remove unused use of File::Temp

The use line was added in ffe256f9. File::Temp calls were later moved
to Git.pm in 0b19138b, but that commit neglected to remove the
now-redundant import.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn documentation: minor grammar fixÆvar Arnfjörð Bjarmason Fri, 7 May 2010 19:50:03 +0000 (19:50 +0000)

git-svn documentation: minor grammar fix

Use the definite article when talking about a configuration property.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git svn: avoid uninitialized var in 'reset'Jonathan Nieder Tue, 4 May 2010 23:36:47 +0000 (16:36 -0700)

git svn: avoid uninitialized var in 'reset'

When "git svn reset" is called with an invalid revision, we
bail out and show the user a proper error message instead
of giving them a cryptic one related to git-svn internals.

ref: http://bugs.debian.org/578908
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Reported-by: Jens Seidel <jensseidel@users.sf.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

Start 1.7.2 cycleJunio C Hamano Sun, 9 May 2010 05:58:36 +0000 (22:58 -0700)

Start 1.7.2 cycle

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

Merge branch 'bg/apply-blank-trailing-context'Junio C Hamano Sun, 9 May 2010 05:37:41 +0000 (22:37 -0700)

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

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

Merge branch 'bg/send-email-smtpdomain'Junio C Hamano Sun, 9 May 2010 05:37:34 +0000 (22:37 -0700)

Merge branch 'bg/send-email-smtpdomain'

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

Merge branch 'rc/ls-remote-default'Junio C Hamano Sun, 9 May 2010 05:37:28 +0000 (22:37 -0700)

Merge branch 'rc/ls-remote-default'

* rc/ls-remote-default:
ls-remote: fall-back to default remotes when no remote specified

Merge branch 'rc/maint-curl-helper'Junio C Hamano Sun, 9 May 2010 05:37:24 +0000 (22:37 -0700)

Merge branch 'rc/maint-curl-helper'

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

Conflicts:
remote-curl.c

Merge branch 'hg/maint-attr-fix'Junio C Hamano Sun, 9 May 2010 05:37:05 +0000 (22:37 -0700)

Merge branch 'hg/maint-attr-fix'

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

Merge branch 'eb/unpretty-b-format'Junio C Hamano Sun, 9 May 2010 05:36:40 +0000 (22:36 -0700)

Merge branch 'eb/unpretty-b-format'

* eb/unpretty-b-format:
Add `%B' in format strings for raw commit body in `git log' and friends

Merge branch 'ab/commit-empty-message'Junio C Hamano Sun, 9 May 2010 05:36:31 +0000 (22:36 -0700)

Merge branch 'ab/commit-empty-message'

* ab/commit-empty-message:
Add option to git-commit to allow empty log messages

Merge branch 'jc/test-sleepless'Junio C Hamano Sun, 9 May 2010 05:36:23 +0000 (22:36 -0700)

Merge branch 'jc/test-sleepless'

* jc/test-sleepless:
war on "sleep" in tests

Merge branch 'jc/maint-reflog-expire-unreachable'Junio C Hamano Sun, 9 May 2010 05:36:16 +0000 (22:36 -0700)

Merge branch 'jc/maint-reflog-expire-unreachable'

* jc/maint-reflog-expire-unreachable:
reflog --expire-unreachable: avoid merge-base computation

Merge branch 'sd/log-decorate'Junio C Hamano Sun, 9 May 2010 05:36:14 +0000 (22:36 -0700)

Merge branch 'sd/log-decorate'

* sd/log-decorate:
log.decorate: only ignore it under "log --pretty=raw"
script with rev-list instead of log
log --pretty/--oneline: ignore log.decorate
log.decorate: usability fixes
Add `log.decorate' configuration variable.
git_config_maybe_bool()

Conflicts:
builtin/log.c

Merge branch 'mh/status-optionally-refresh'Junio C Hamano Sun, 9 May 2010 05:35:39 +0000 (22:35 -0700)

Merge branch 'mh/status-optionally-refresh'

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

Merge branch 'cw/ws-indent-with-tab'Junio C Hamano Sun, 9 May 2010 05:35:35 +0000 (22:35 -0700)

Merge branch 'cw/ws-indent-with-tab'

* cw/ws-indent-with-tab:
whitespace: tests for git-apply --whitespace=fix with tab-in-indent
whitespace: add tab-in-indent support for --whitespace=fix
whitespace: replumb ws_fix_copy to take a strbuf *dst instead of char *dst
whitespace: tests for git-diff --check with tab-in-indent error class
whitespace: add tab-in-indent error class
whitespace: we cannot "catch all errors known to git" anymore

Merge branch 'cc/revert-strategy'Junio C Hamano Sun, 9 May 2010 05:34:47 +0000 (22:34 -0700)

Merge branch 'cc/revert-strategy'

* cc/revert-strategy:
revert: add "--strategy" option to choose merge strategy
merge: make function try_merge_command non static
merge: refactor code that calls "git merge-STRATEGY"
revert: refactor merge recursive code into its own function
revert: use strbuf to refactor the code that writes the merge message

Conflicts:
builtin/revert.c

Merge branch 'sc/http-late-auth'Junio C Hamano Sun, 9 May 2010 05:33:16 +0000 (22:33 -0700)

Merge branch 'sc/http-late-auth'

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

Merge branch 'jk/cached-textconv'Junio C Hamano Sun, 9 May 2010 05:33:08 +0000 (22:33 -0700)

Merge branch 'jk/cached-textconv'

* jk/cached-textconv:
diff: avoid useless filespec population
diff: cache textconv output
textconv: refactor calls to run_textconv
introduce notes-cache interface
make commit_tree a library function

Merge branch 'pc/remove-warn'Junio C Hamano Sun, 9 May 2010 05:32:59 +0000 (22:32 -0700)

Merge branch 'pc/remove-warn'

* 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

cherry-pick: do not dump core when iconv failsJonathan Nieder Sat, 8 May 2010 23:17:29 +0000 (18:17 -0500)

cherry-pick: do not dump core when iconv fails

When cherry-picking, usually the new and old commit encodings are both
UTF-8. Most old iconv implementations do not support this trivial
conversion, so on old platforms, out->message remains NULL, and later
attempts to read it segfault.

Fix this by noticing the input and output encodings match and skipping
the iconv step, like the other reencode_string() call sites already do.
Also stop segfaulting on other iconv failures: if iconv fails for some
other reason, the best we can do is to pass the old message through.

This fixes a regression introduced in v1.7.1-rc0~15^2~2 (revert:
clarify label on conflict hunks, 2010-03-20).

Reported-by: Andreas Krey <a.krey@gmx.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: Fix 'clean' target to remove all gitweb build... Ramsay Jones Sat, 8 May 2010 17:36:15 +0000 (18:36 +0100)

Makefile: Fix 'clean' target to remove all gitweb build files

In particular the gitweb/GITWEB-BUILD-OPTIONS file was not being
removed by the main Makefile. However, the gitweb/Makefile has a
'clean' target that correctly removes all the build products.
In order to fix the problem, rather than duplicate the clean-up
instructions, we change the main Makefile so that it delegates
the clean-up actions to the gitweb Makefile.

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

Documentation/config.txt: GIT_NOTES_REWRITE_REF overrid... Leif Arne Storset Wed, 5 May 2010 14:16:25 +0000 (16:16 +0200)

Documentation/config.txt: GIT_NOTES_REWRITE_REF overrides notes.rewriteRef

The documentation erroneously mentions the GIT_NOTES_REWRITE_REF
override in the description of notes.rewrite.<command>. Move it
under notes.rewriteRef where it belongs.

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

adapt request-pull tests for new pull request formatJonathan Nieder Sat, 24 Apr 2010 12:29:52 +0000 (07:29 -0500)

adapt request-pull tests for new pull request format

10eb0007 (request-pull: avoid mentioning that the start point is a
single commit, 2010-01-29), changed the pull request format, so the
test needs some changes to still pass:

- tolerate a missing blank line between “in the git repository at:”
and the name of repository and branch

- recognize subject and date in the new request format

- update the expected request template to match the new format

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jn/maint-request-pull' into jn/request... Junio C Hamano Sat, 8 May 2010 04:32:56 +0000 (21:32 -0700)

Merge branch 'jn/maint-request-pull' into jn/request-pull

t5150: protect backslash with backslash in shellJunio C Hamano Sat, 8 May 2010 04:29:50 +0000 (21:29 -0700)

t5150: protect backslash with backslash in shell

At least /bin/sh on FreeBSD 8 interprets backslash followed by newline in an
unquoted here text as "empty".

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

blame-options.txt: Add default value for `-M/-C` options.Bo Yang Fri, 7 May 2010 04:51:57 +0000 (21:51 -0700)

blame-options.txt: Add default value for `-M/-C` options.

Both `-M` and `-C` have default values and the <num> argument
the last `-C` option takes effect.

Signed-off-by: Bo Yang <struggleyb.nku@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make git log --follow find copies among unmodified... Bo Yang Fri, 7 May 2010 04:52:29 +0000 (21:52 -0700)

Make git log --follow find copies among unmodified files.

'git log --follow <path>' don't track copies from unmodified
files, and this patch fix it.

Signed-off-by: Bo Yang <struggleyb.nku@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make diffcore_std only can run once before a diff_flushBo Yang Fri, 7 May 2010 04:52:28 +0000 (21:52 -0700)

Make diffcore_std only can run once before a diff_flush

When file renames/copies detection is turned on, the
second diffcore_std will degrade a 'C' pair to a 'R' pair.

And this may happen when we run 'git log --follow' with
hard copies finding. That is, the try_to_follow_renames()
will run diffcore_std to find the copies, and then
'git log' will issue another diffcore_std, which will reduce
'src->rename_used' and recognize this copy as a rename.
This is not what we want.

So, I think we really don't need to run diffcore_std more
than one time.

Signed-off-by: Bo Yang <struggleyb.nku@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>