git
11 years agoMerge branch 'rr/rebase-autostash'
Junio C Hamano [Tue, 11 Jun 2013 20:31:28 +0000 (13:31 -0700)] 
Merge branch 'rr/rebase-autostash'

* rr/rebase-autostash:
  rebase: implement --[no-]autostash and rebase.autostash
  rebase --merge: return control to caller, for housekeeping
  rebase -i: return control to caller, for housekeeping
  am: return control to caller, for housekeeping
  rebase: prepare to do generic housekeeping
  rebase -i: don't error out if $state_dir already exists
  am: tighten a conditional that checks for $dotest

11 years agoMerge branch 'jk/test-exit-code-by-signal'
Junio C Hamano [Tue, 11 Jun 2013 20:31:25 +0000 (13:31 -0700)] 
Merge branch 'jk/test-exit-code-by-signal'

* jk/test-exit-code-by-signal:
  t0005: skip signal death exit code test on Windows
  t0005: test git exit code from signal death

11 years agoMerge branch 'fc/at-head'
Junio C Hamano [Tue, 11 Jun 2013 20:31:23 +0000 (13:31 -0700)] 
Merge branch 'fc/at-head'

Instead of typing four capital letters "HEAD", you can say "@"
instead.

* fc/at-head:
  sha1_name: compare variable with constant, not constant with variable
  Add new @ shortcut for HEAD
  sha1_name: refactor reinterpret()
  sha1_name: check @{-N} errors sooner
  sha1_name: reorganize get_sha1_basic()
  sha1_name: don't waste cycles in the @-parsing loop
  sha1_name: remove unnecessary braces
  sha1_name: remove no-op
  tests: at-combinations: @{N} versus HEAD@{N}
  tests: at-combinations: increase coverage
  tests: at-combinations: improve nonsense()
  tests: at-combinations: check ref names directly
  tests: at-combinations: simplify setup

11 years agoMerge branch 'ar/wildmatch-foldcase'
Junio C Hamano [Tue, 11 Jun 2013 20:31:21 +0000 (13:31 -0700)] 
Merge branch 'ar/wildmatch-foldcase'

The wildmatch engine did not honor WM_CASEFOLD option correctly.

* ar/wildmatch-foldcase:
  wildmatch: properly fold case everywhere

11 years agoMerge branch 'tr/sha1-file-silence-loose-object-info-under-prune-race'
Junio C Hamano [Tue, 11 Jun 2013 20:31:19 +0000 (13:31 -0700)] 
Merge branch 'tr/sha1-file-silence-loose-object-info-under-prune-race'

* tr/sha1-file-silence-loose-object-info-under-prune-race:
  sha1_file: silence sha1_loose_object_info

11 years agoMerge branch 'nd/warn-ambiguous-object-name'
Junio C Hamano [Tue, 11 Jun 2013 20:31:07 +0000 (13:31 -0700)] 
Merge branch 'nd/warn-ambiguous-object-name'

"git cmd <name>", when <name> happens to be a 40-hex string,
directly uses the 40-hex string as an object name, even if a ref
"refs/<some hierarchy>/<name>" exists.  This disambiguation order
is unlikely to change, but we should warn about the ambiguity just
like we warn when more than one refs/ hierachies share the same
name.

* nd/warn-ambiguous-object-name:
  get_sha1: warn about full or short object names that look like refs

11 years agoMerge branch 'rr/diffcore-pickaxe-doc'
Junio C Hamano [Tue, 11 Jun 2013 20:31:04 +0000 (13:31 -0700)] 
Merge branch 'rr/diffcore-pickaxe-doc'

Update the low-level diffcore documentation on -S/-G and --pickaxe-all.

* rr/diffcore-pickaxe-doc:
  diffcore-pickaxe doc: document -S and -G properly
  diffcore-pickaxe: make error messages more consistent

11 years agoMerge branch 'cr/git-work-tree-sans-git-dir'
Junio C Hamano [Tue, 11 Jun 2013 20:31:01 +0000 (13:31 -0700)] 
Merge branch 'cr/git-work-tree-sans-git-dir'

These days, "git --work-tree=there cmd" without specifying an
explicit --git-dir=here will do the usual discovery, but we had a
description of older behaviour in the documentation.

* cr/git-work-tree-sans-git-dir:
  git.txt: remove stale comment regarding GIT_WORK_TREE

11 years agoMerge branch 'mm/mediawiki-https-fail-message'
Junio C Hamano [Tue, 11 Jun 2013 20:30:43 +0000 (13:30 -0700)] 
Merge branch 'mm/mediawiki-https-fail-message'

Hint users when https:// connection failed to check the certificate.

* mm/mediawiki-https-fail-message:
  git-remote-mediawiki: better error message when HTTP(S) access fails

11 years agoMerge branch 'cb/log-follow-with-combined'
Junio C Hamano [Tue, 11 Jun 2013 20:30:36 +0000 (13:30 -0700)] 
Merge branch 'cb/log-follow-with-combined'

* cb/log-follow-with-combined:
  fix segfault with git log -c --follow

11 years agoMerge branch 'xq/credential-osxkeychain'
Junio C Hamano [Tue, 11 Jun 2013 20:30:31 +0000 (13:30 -0700)] 
Merge branch 'xq/credential-osxkeychain'

* xq/credential-osxkeychain:
  credential-osxkeychain: support more protocols

11 years agoMerge branch 'fc/do-not-use-the-index-in-add-to-index'
Junio C Hamano [Tue, 11 Jun 2013 20:30:28 +0000 (13:30 -0700)] 
Merge branch 'fc/do-not-use-the-index-in-add-to-index'

* fc/do-not-use-the-index-in-add-to-index:
  read-cache: trivial style cleanups
  read-cache: fix wrong 'the_index' usage

11 years agoMerge branch 'fc/remote-bzr'
Junio C Hamano [Tue, 11 Jun 2013 20:30:26 +0000 (13:30 -0700)] 
Merge branch 'fc/remote-bzr'

* fc/remote-bzr:
  remote-bzr: add fallback check for a partial clone
  remote-bzr: reorganize the way 'wanted' works
  remote-bzr: trivial cleanups
  remote-bzr: change global repo
  remote-bzr: delay cloning/pulling
  remote-bzr: simplify get_remote_branch()
  remote-bzr: fix for files with spaces
  remote-bzr: recover from failed clones

11 years agoMerge branch 'fc/remote-hg'
Junio C Hamano [Tue, 11 Jun 2013 20:30:24 +0000 (13:30 -0700)] 
Merge branch 'fc/remote-hg'

* fc/remote-hg: (50 commits)
  remote-hg: add support for --force
  remote-hg: add support for --dry-run
  remote-hg: check if a fetch is needed
  remote-hg: trivial cleanup
  remote-helpers: improve marks usage
  remote-hg: add check_push() helper
  remote-hg: add setup_big_push() helper
  remote-hg: remove files before modifications
  remote-hg: improve lightweight tag author
  remote-hg: use remote 'default' not local one
  remote-hg: improve branch listing
  remote-hg: simplify branch_tip()
  remote-hg: check diverged bookmarks
  remote-hg: pass around revision refs
  remote-hg: implement custom checkheads()
  remote-hg: implement custom push()
  remote-hg: only update necessary revisions
  remote-hg: force remote bookmark push selectively
  remote-hg: reorganize bookmark handling
  remote-hg: add test for failed double push
  ...

11 years agoMerge branch 'rj/mingw-cygwin'
Junio C Hamano [Tue, 11 Jun 2013 20:30:20 +0000 (13:30 -0700)] 
Merge branch 'rj/mingw-cygwin'

Update build for Cygwin 1.[57].  Torsten Bögershausen reports that
this is fine with Cygwin 1.7 ($gmane/225824) so let's try moving it
ahead.

* rj/mingw-cygwin:
  cygwin: Remove the CYGWIN_V15_WIN32API build variable
  mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE

11 years agoMerge branch 'fc/completion-less-ls-remote'
Junio C Hamano [Tue, 11 Jun 2013 20:30:16 +0000 (13:30 -0700)] 
Merge branch 'fc/completion-less-ls-remote'

* fc/completion-less-ls-remote:
  completion: avoid ls-remote in certain scenarios

11 years agoMerge branch 'tr/test-commit-only-on-orphan'
Junio C Hamano [Tue, 11 Jun 2013 20:30:12 +0000 (13:30 -0700)] 
Merge branch 'tr/test-commit-only-on-orphan'

* tr/test-commit-only-on-orphan:
  Test 'commit --only' after 'checkout --orphan'

11 years agoMerge branch 'rs/unpack-trees-plug-leak'
Junio C Hamano [Tue, 11 Jun 2013 20:30:05 +0000 (13:30 -0700)] 
Merge branch 'rs/unpack-trees-plug-leak'

* rs/unpack-trees-plug-leak:
  unpack-trees: free cache_entry array members for merges
  diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const
  diff-lib, read-tree, unpack-trees: mark cache_entry pointers const
  unpack-trees: create working copy of merge entry in merged_entry
  unpack-trees: factor out dup_entry
  read-cache: mark cache_entry pointers const
  cache: mark cache_entry pointers const

11 years agoMerge branch 'rr/die-on-missing-upstream'
Junio C Hamano [Tue, 11 Jun 2013 20:29:58 +0000 (13:29 -0700)] 
Merge branch 'rr/die-on-missing-upstream'

When a reflog notation is used for implicit "current branch", we
did not say which branch and worse said "branch ''".

* rr/die-on-missing-upstream:
  sha1_name: fix error message for @{<N>}, @{<date>}
  sha1_name: fix error message for @{u}

11 years agoSync with 1.8.3.1
Junio C Hamano [Mon, 10 Jun 2013 19:35:32 +0000 (12:35 -0700)] 
Sync with 1.8.3.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.3.1 v1.8.3.1
Junio C Hamano [Mon, 10 Jun 2013 00:16:20 +0000 (17:16 -0700)] 
Git 1.8.3.1

Primarily to push out two regression issues that seem to affect many
people, namely, the ".gitignore !directory" bug and "daemon cannot
read from $HOME owned by root" bug.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agomingw: make mingw_signal return the correct handler
Erik Faye-Lund [Mon, 10 Jun 2013 05:48:17 +0000 (07:48 +0200)] 
mingw: make mingw_signal return the correct handler

Returning the SIGALRM handler for SIGINT is not very useful.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jn/config-ignore-inaccessible' into maint
Junio C Hamano [Mon, 10 Jun 2013 00:06:55 +0000 (17:06 -0700)] 
Merge branch 'jn/config-ignore-inaccessible' into maint

A git daemon that starts as "root" and then drops privilege often
leaves $HOME set to that of the root user, which is unreadable by
the daemon process, which was diagnosed as a configuration error.

Make per-user configuration files that are inaccessible due to
EACCES as though these files do not exist to avoid this issue, as
the tightening which was originally meant as an additional security
has annoyed enough sysadmins.

* jn/config-ignore-inaccessible:
  config: allow inaccessible configuration under $HOME

11 years agoMerge branch 'kb/status-ignored-optim-2' into maint
Junio C Hamano [Mon, 10 Jun 2013 00:05:15 +0000 (17:05 -0700)] 
Merge branch 'kb/status-ignored-optim-2' into maint

Fix recent regression of .gitignore files that list !directory to
mark it not-ignored.

* kb/status-ignored-optim-2:
  dir.c: fix ignore processing within not-ignored directories

11 years agosubmodule: remove redundant check for the_index.initialized
René Scharfe [Sun, 9 Jun 2013 16:33:45 +0000 (18:33 +0200)] 
submodule: remove redundant check for the_index.initialized

read_cache already performs the same check and returns immediately if
the cache has already been loaded.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocument .git/modules
Fredrik Gustafsson [Sun, 9 Jun 2013 11:11:36 +0000 (13:11 +0200)] 
Document .git/modules

A note in the beginning of this document describes the behavior already.
This patch just adds where to find the repositories.

Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge tag 'post183-for-junio' of http://github.com/msysgit/git
Junio C Hamano [Fri, 7 Jun 2013 14:38:37 +0000 (07:38 -0700)] 
Merge tag 'post183-for-junio' of github.com/msysgit/git

Collected msysgit build patches for upstream

This set of patches collects a number of build fixes that have been
used on the msysgit port for a while and merging upstream should
simplify future maintenance.

* tag 'post183-for-junio' of http://github.com/msysgit/git:
  Set the default help format to html for msys builds.
  Ensure the resource file is rebuilt when the version changes.
  Windows resource: handle dashes in the Git version gracefully
  Provide a Windows version resource for the git executables.
  msysgit: Add the --large-address-aware linker directive to the makefile.
  Define NO_GETTEXT for Git for Windows
  Makefile: Do not use OLD_ICONV on MINGW anymore

11 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Thu, 6 Jun 2013 21:42:56 +0000 (14:42 -0700)] 
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'rj/mingw-compat-st-mode-bits'
Junio C Hamano [Thu, 6 Jun 2013 19:19:06 +0000 (12:19 -0700)] 
Merge branch 'rj/mingw-compat-st-mode-bits'

* rj/mingw-compat-st-mode-bits:
  path: Fix a sparse warning

11 years agoMerge branch 'sb/archive-zip-double-assignment-fix'
Junio C Hamano [Thu, 6 Jun 2013 19:19:04 +0000 (12:19 -0700)] 
Merge branch 'sb/archive-zip-double-assignment-fix'

* sb/archive-zip-double-assignment-fix:
  archive-zip:write_zip_entry: Remove second reset of size variable to zero.

11 years agoMerge branch 'rr/push-head'
Junio C Hamano [Thu, 6 Jun 2013 19:19:00 +0000 (12:19 -0700)] 
Merge branch 'rr/push-head'

"git push $there HEAD:branch" did not resolve HEAD early enough, so
it was easy to flip it around while push is still going on and push
out a branch that the user did not originally intended when the
command was started.

* rr/push-head:
  push: make push.default = current use resolved HEAD
  push: fail early with detached HEAD and current
  push: factor out the detached HEAD error message

11 years agoMerge branch 'ks/difftool-dir-diff-copy-fix'
Junio C Hamano [Thu, 6 Jun 2013 19:18:47 +0000 (12:18 -0700)] 
Merge branch 'ks/difftool-dir-diff-copy-fix'

"difftool --dir-diff" did not copy back changes made by the
end-user in the diff tool backend to the working tree in some
cases.

* ks/difftool-dir-diff-copy-fix:
  difftool --dir-diff: allow changing any clean working tree file

11 years agoMerge branch 'fc/show-branch-in-rebase-am'
Junio C Hamano [Thu, 6 Jun 2013 19:18:41 +0000 (12:18 -0700)] 
Merge branch 'fc/show-branch-in-rebase-am'

The bash prompt code (in contrib/) displayed the name of the branch
being rebased when "rebase -i/-m/-p" modes are in use, but not the
plain vanilla "rebase".

* fc/show-branch-in-rebase-am:
  prompt: fix for simple rebase

11 years agoMerge branch 'nd/clone-connectivity-shortcut'
Junio C Hamano [Thu, 6 Jun 2013 19:17:55 +0000 (12:17 -0700)] 
Merge branch 'nd/clone-connectivity-shortcut'

Special case "git clone" and use lighter-weight implementation to
check the completeness of the history behind refs.

* nd/clone-connectivity-shortcut:
  clone: open a shortcut for connectivity check
  index-pack: remove dead code (it should never happen)
  fetch-pack: prepare updated shallow file before fetching the pack
  clone: let the user know when check_everything_connected is run

11 years agoMerge branch 'nd/prune-packed-dryrun-verbose'
Junio C Hamano [Thu, 6 Jun 2013 19:17:52 +0000 (12:17 -0700)] 
Merge branch 'nd/prune-packed-dryrun-verbose'

* nd/prune-packed-dryrun-verbose:
  prune-packed: avoid implying "1" is DRY_RUN in prune_packed_objects()

11 years agoMerge branch 'fc/transport-helper-no-refspec'
Junio C Hamano [Thu, 6 Jun 2013 19:17:22 +0000 (12:17 -0700)] 
Merge branch 'fc/transport-helper-no-refspec'

With "export" remote-helper protocol,

 (1) a push that tries to update a remote ref whose name is
     different from the pushing side does not work yet, and

 (2) the helper may not know how to do --dry-run

Detect such problematic cases and disable them for now.

* fc/transport-helper-no-refspec:
  transport-helper: check if the dry-run is supported
  transport-helper: barf when user tries old:new

11 years agot0005: skip signal death exit code test on Windows
Johannes Sixt [Thu, 6 Jun 2013 06:34:41 +0000 (08:34 +0200)] 
t0005: skip signal death exit code test on Windows

The test case depends on that test-sigchain can commit suicide by a
call to raise(SIGTERM) in a way that run-command.c::wait_or_whine()
can detect as death through a signal. There are no POSIX signals on
Windows, and a sufficiently close emulation is not available in the
Microsoft C runtime (and probably not even possible).

The particular deficiency is that when a signal is raise()d whose
SIG_DFL action will cause process death (SIGTERM in this case), the
implementation of raise() in msvcrt just calls exit(3).

We could check for exit code 3 in addition to 143, but that would
miss the point of the test entirely. Hence, just skip it on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Wed, 5 Jun 2013 22:14:02 +0000 (15:14 -0700)] 
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'rs/commit-m-no-edit'
Junio C Hamano [Wed, 5 Jun 2013 21:59:53 +0000 (14:59 -0700)] 
Merge branch 'rs/commit-m-no-edit'

"git commit --allow-empty-message -m ''" should not start an
editor.

* rs/commit-m-no-edit:
  commit: don't start editor if empty message is given with -m

11 years agoMerge branch 'fc/send-email-chainreplyto-warning'
Junio C Hamano [Wed, 5 Jun 2013 21:59:34 +0000 (14:59 -0700)] 
Merge branch 'fc/send-email-chainreplyto-warning'

An overdue removal of "behaviour changed at 1.7.0; if you were
living in a cave, here is what you can adjust to it" message.

* fc/send-email-chainreplyto-warning:
  send-email: remove warning about unset chainreplyto

11 years agoMerge branch 'fc/cleanups'
Junio C Hamano [Wed, 5 Jun 2013 21:59:31 +0000 (14:59 -0700)] 
Merge branch 'fc/cleanups'

* fc/cleanups:
  test: rebase: fix --interactive test
  test: trivial cleanups
  remote: trivial style cleanup

11 years agoMerge branch 'fc/makefile'
Junio C Hamano [Wed, 5 Jun 2013 21:56:56 +0000 (14:56 -0700)] 
Merge branch 'fc/makefile'

Update Makefile to use handy automatic variables where appropriate,
and stop installing a script that is only used for testing.

* fc/makefile:
  build: do not install git-remote-testpy
  build: add NO_INSTALL variable
  build: cleanup using $<
  build: cleanup using $^
  build: trivial simplification

11 years agoMerge branch 'nd/urls-doc-no-file-hyperlink-fix'
Junio C Hamano [Wed, 5 Jun 2013 21:56:51 +0000 (14:56 -0700)] 
Merge branch 'nd/urls-doc-no-file-hyperlink-fix'

* nd/urls-doc-no-file-hyperlink-fix:
  urls.txt: avoid auto converting to hyperlink

11 years agoMerge branch 'tr/push-no-verify-doc'
Junio C Hamano [Wed, 5 Jun 2013 21:56:48 +0000 (14:56 -0700)] 
Merge branch 'tr/push-no-verify-doc'

"git push --[no-]verify" was not documented.

* tr/push-no-verify-doc:
  Document push --no-verify

11 years agoMerge branch 'tg/maint-zsh-svn-remote-prompt'
Junio C Hamano [Wed, 5 Jun 2013 21:56:41 +0000 (14:56 -0700)] 
Merge branch 'tg/maint-zsh-svn-remote-prompt'

zsh prompt script that borrowed from bash prompt script did not
work due to slight differences in array variable notation between
these two shells.

* tg/maint-zsh-svn-remote-prompt:
  prompt: fix show upstream with svn and zsh

11 years agoMerge branch 'th/bisect-skip-report-range-fix'
Junio C Hamano [Wed, 5 Jun 2013 21:56:38 +0000 (14:56 -0700)] 
Merge branch 'th/bisect-skip-report-range-fix'

Fix for an additional bisect log comments.

* th/bisect-skip-report-range-fix:
  bisect: Fix log output for multi-parent skip ranges

11 years agoMerge branch 'dm/unbash-subtree'
Junio C Hamano [Wed, 5 Jun 2013 21:56:24 +0000 (14:56 -0700)] 
Merge branch 'dm/unbash-subtree'

It turns out that git-subtree script does not have to be run with
bash.

* dm/unbash-subtree:
  contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash

11 years agoMerge branch 'rr/zsh-color-prompt'
Junio C Hamano [Wed, 5 Jun 2013 21:55:10 +0000 (14:55 -0700)] 
Merge branch 'rr/zsh-color-prompt'

Prompt support (in contrib/) for zsh is updated to use colors.

* rr/zsh-color-prompt:
  prompt: colorize ZSH prompt
  prompt: factor out gitstring coloring logic
  prompt: introduce GIT_PS1_STATESEPARATOR

11 years agoMerge branch 'jc/core-checkstat'
Junio C Hamano [Wed, 5 Jun 2013 21:53:07 +0000 (14:53 -0700)] 
Merge branch 'jc/core-checkstat'

The configuration variable core.checkstat was advertised in the
documentation but the code expected core.statinfo instead.

For now, we accept both core.checkstat and core.statinfo, but the
latter will be removed in the longer term.

* jc/core-checkstat:
  deprecate core.statinfo at Git 2.0 boundary

11 years agoMerge branch 'maint'
Junio C Hamano [Tue, 4 Jun 2013 22:25:34 +0000 (15:25 -0700)] 
Merge branch 'maint'

* maint:
  t/README: test_must_fail is for testing Git

11 years agot/README: test_must_fail is for testing Git
Junio C Hamano [Tue, 4 Jun 2013 16:50:12 +0000 (09:50 -0700)] 
t/README: test_must_fail is for testing Git

When a test wants to make sure there is no <string> in an output
file, we should just say "! grep string output".

"test_must_fail" is there only to test Git command and catch unusual
deaths we know about (e.g. segv) as an error, not as an expected
failure.  "test_must_fail grep string output" is unnecessary, as
we are not making sure the system binaries do not dump core or
anything like that.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSet the default help format to html for msys builds.
Pat Thoyts [Thu, 21 Jun 2012 11:24:14 +0000 (12:24 +0100)] 
Set the default help format to html for msys builds.

This resolves issue #19 by setting the compiled default to html in msys
builds following the changes introduced by commit
1cc8af0 "help: use HTML as the default help format on Windows"

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agoEnsure the resource file is rebuilt when the version changes.
Pat Thoyts [Fri, 1 Jun 2012 22:29:33 +0000 (23:29 +0100)] 
Ensure the resource file is rebuilt when the version changes.

Acked-by: Erik Faye-Lund <kusmabite@gmail.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agoWindows resource: handle dashes in the Git version gracefully
Johannes Schindelin [Thu, 31 May 2012 17:53:45 +0000 (12:53 -0500)] 
Windows resource: handle dashes in the Git version gracefully

Reported by postiffm as issue #14.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
11 years agoProvide a Windows version resource for the git executables.
Pat Thoyts [Wed, 23 May 2012 23:56:24 +0000 (00:56 +0100)] 
Provide a Windows version resource for the git executables.

Embeds the git version and description into the git executable thus
implementing the request in issue #5.

Acked-by: Heiko Voigt <hvoigt@hvoigt.net>
Acked-by: Sebastian Schuberth <sschuberth@gmail.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agomsysgit: Add the --large-address-aware linker directive to the makefile.
Pierre le Riche [Mon, 28 May 2012 07:46:54 +0000 (09:46 +0200)] 
msysgit: Add the --large-address-aware linker directive to the makefile.

This has the effect of increasing the address space from 2GB to 4GB under
64-bit Windows, reducing the likelihood of an "out of memory" error when
e.g.  repacking a large repository.  The test suite passes with this
patch, with and without the MEM_TOP_DOWN flag added to all VirtualAlloc
calls.  While this is no guarantee that there are no issues with large
memory support (it could break Git on other setups than mine, for
example), it at least increases the chance that nothing obvious goes wrong
(such as errors introduced by faulty sign extension, say, with ssize_t).

[PT: Resolves github issue #12]

Signed-off-by: Pierre le Riche <github@pleasedontspam.me>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agoDefine NO_GETTEXT for Git for Windows
Johannes Schindelin [Thu, 5 Jan 2012 22:41:41 +0000 (16:41 -0600)] 
Define NO_GETTEXT for Git for Windows

The dreaded "your vnsprintf is broken (returned -1)" error is back. At
least with the libintl version we have. So for the moment, just work
around the issue by _not_ using gettext.

Ah, I wish that my attempt at implementing a custom strbuf_vaddf() would
not have been brushed aside so rashly. Oh well. Time saved on maintaining
that thing, I guess (although more time went into working around coping
with existing implementations).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
11 years agoMakefile: Do not use OLD_ICONV on MINGW anymore
Sebastian Schuberth [Wed, 23 Nov 2011 09:41:01 +0000 (10:41 +0100)] 
Makefile: Do not use OLD_ICONV on MINGW anymore

We are building libiconv now the same way as upstream MinGW does, so we do
not need OLD_ICONV anymore when compiling Git either in msysGit or
mingwGitDevEnv.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
11 years agoSync with maint
Junio C Hamano [Mon, 3 Jun 2013 20:00:03 +0000 (13:00 -0700)] 
Sync with maint

11 years agoMerge branch 'kb/status-ignored-optim-2'
Junio C Hamano [Mon, 3 Jun 2013 19:58:56 +0000 (12:58 -0700)] 
Merge branch 'kb/status-ignored-optim-2'

Fix 1.8.3 regressions in the .gitignore path exclusion logic.

* kb/status-ignored-optim-2:
  dir.c: fix ignore processing within not-ignored directories

11 years agosha1_file: silence sha1_loose_object_info
Thomas Rast [Thu, 30 May 2013 20:00:22 +0000 (22:00 +0200)] 
sha1_file: silence sha1_loose_object_info

sha1_object_info() returns -1 (OBJ_BAD) if it cannot find the object
for some reason, which suggests that it wants the _caller_ to report
this error.  However, part of its work happens in
sha1_loose_object_info, which _does_ report errors itself.  This is
doubly strange because:

* packed_object_info(), which is the other half of the duo, does _not_
  report this.

* In the event that an object is packed and pruned while
  sha1_object_info_extended() goes looking for it, we would
  erroneously show the error -- even though the code of the latter
  function purports to handle this case gracefully.

* A caller might invoke sha1_object_info() to find the type of an
  object even if that object is not known to exist.

Silence this error.  The others remain untouched as a corrupt object
is a much more grave error than it merely being absent.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiffcore-pickaxe doc: document -S and -G properly
Ramkumar Ramachandra [Fri, 31 May 2013 12:12:15 +0000 (17:42 +0530)] 
diffcore-pickaxe doc: document -S and -G properly

The documentation of -S and -G is very sketchy.  Completely rewrite the
sections in Documentation/diff-options.txt and
Documentation/gitdiffcore.txt.

References:
52e9578 ([PATCH] Introducing software archaeologist's tool "pickaxe".)
f506b8e (git log/diff: add -G<regexp> that greps in the patch text)

Inputs-from: Phil Hord <phil.hord@gmail.com>
Co-authored-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiffcore-pickaxe: make error messages more consistent
Ramkumar Ramachandra [Fri, 31 May 2013 12:12:14 +0000 (17:42 +0530)] 
diffcore-pickaxe: make error messages more consistent

Currently, diffcore-pickaxe reports two distinct errors for the same
user error:

    $ git log --pickaxe-regex -S'\1'
    fatal: invalid pickaxe regex: Invalid back reference

    $ git log -G'\1'
    fatal: invalid log-grep regex: Invalid back reference

This "log-grep" was only an internal name for the -G feature during
development, and invite confusion with "git log --grep=<pattern>".

Change the error messages to say "invalid regex".

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit.txt: remove stale comment regarding GIT_WORK_TREE
Chris Rorvick [Fri, 31 May 2013 01:11:41 +0000 (20:11 -0500)] 
git.txt: remove stale comment regarding GIT_WORK_TREE

Official support for specifying --work-tree/GIT_WORK_TREE without
--git-dir/GIT_DIR was added with v1.7.4-rc3~2^2~2.  Update description
of GIT_WORK_TREE to reflect this.

Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agosha1_file: trivial style cleanup
Felipe Contreras [Thu, 30 May 2013 13:56:21 +0000 (08:56 -0500)] 
sha1_file: trivial style cleanup

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoread-cache: trivial style cleanups
Felipe Contreras [Thu, 30 May 2013 13:56:19 +0000 (08:56 -0500)] 
read-cache: trivial style cleanups

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoread-cache: fix wrong 'the_index' usage
Felipe Contreras [Thu, 30 May 2013 13:56:18 +0000 (08:56 -0500)] 
read-cache: fix wrong 'the_index' usage

We are dealing with the 'istate' index, not 'the_index'.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agotest: fix post rewrite hook report
Felipe Contreras [Thu, 30 May 2013 13:46:35 +0000 (08:46 -0500)] 
test: fix post rewrite hook report

First expected, then actual.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: avoid ls-remote in certain scenarios
Felipe Contreras [Wed, 29 May 2013 03:20:48 +0000 (22:20 -0500)] 
completion: avoid ls-remote in certain scenarios

It's _very_ slow in many cases, and there's really no point in fetching
*everything* from the remote just for completion. In many cases it might
be faster for the user to type the whole thing.

If the user manually specifies 'refs/*', then the full ls-remote
completion is triggered.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Sun, 2 Jun 2013 23:02:21 +0000 (16:02 -0700)] 
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'tr/line-log'
Junio C Hamano [Sun, 2 Jun 2013 23:00:44 +0000 (16:00 -0700)] 
Merge branch 'tr/line-log'

* tr/line-log:
  git-log(1): remove --full-line-diff description
  line-log: fix documentation formatting
  log -L: improve comments in process_all_files()
  log -L: store the path instead of a diff_filespec
  log -L: test merge of parallel modify/rename
  t4211: pass -M to 'git log -M -L...' test
  log -L: fix overlapping input ranges
  log -L: check range set invariants when we look it up
  Speed up log -L... -M
  log -L: :pattern:file syntax to find by funcname
  Implement line-history search (git log -L)
  Export rewrite_parents() for 'log -L'
  Refactor parse_loc

11 years agoMerge branch 'mc/describe-first-parent'
Junio C Hamano [Sun, 2 Jun 2013 22:59:49 +0000 (15:59 -0700)] 
Merge branch 'mc/describe-first-parent'

* mc/describe-first-parent:
  describe: Add --first-parent option

11 years agoMerge branch 'rs/tar-tests'
Junio C Hamano [Sun, 2 Jun 2013 22:59:46 +0000 (15:59 -0700)] 
Merge branch 'rs/tar-tests'

* rs/tar-tests:
  t5000: test long filenames
  t5000: simplify tar-tree tests
  t5000: use check_tar for prefix test
  t5000: factor out check_tar
  t5000, t5003: create directories for extracted files lazily
  t5000: integrate export-subst tests into regular tests

11 years agoMerge branch 'jc/strbuf-branchname-fix'
Junio C Hamano [Sun, 2 Jun 2013 22:58:53 +0000 (15:58 -0700)] 
Merge branch 'jc/strbuf-branchname-fix'

"git merge @{-1}~22" was rewritten to "git merge frotz@{1}~22"
incorrectly when your previous branch was "frotz" (it should be
rewritten to "git merge frotz~22" instead).

* jc/strbuf-branchname-fix:
  strbuf_branchname(): do not double-expand @{-1}~22

11 years agoMerge branch 'jk/fetch-always-update-tracking'
Junio C Hamano [Sun, 2 Jun 2013 22:57:26 +0000 (15:57 -0700)] 
Merge branch 'jk/fetch-always-update-tracking'

"git fetch origin master" unlike "git fetch origin" or "git fetch"
did not update "refs/remotes/origin/master"; this was an early
design decision to keep the update of remote tracking branches
predictable, but in practice it turns out that people find it more
convenient to opportunisticly update them whenever we have a chance,
and we have been updating them when we run "git push" which already
breaks the original "predictability" anyway.

Now such a fetch does update refs/remotes/origin/master.

* jk/fetch-always-update-tracking:
  fetch: don't try to update unfetched tracking refs
  fetch: opportunistically update tracking refs
  refactor "ref->merge" flag
  fetch/pull doc: untangle meaning of bare <ref>
  t5510: start tracking-ref tests from a known state

11 years agoMerge branch 'tr/coverage'
Junio C Hamano [Sun, 2 Jun 2013 22:57:18 +0000 (15:57 -0700)] 
Merge branch 'tr/coverage'

Update the test coverage support that was left to bitrot for some
time.

* tr/coverage:
  coverage: build coverage-untested-functions by default
  coverage: set DEFAULT_TEST_TARGET to avoid using prove
  coverage: do not delete .gcno files before building
  coverage: split build target into compile and test

11 years agoMerge branch 'mk/combine-diff-context-horizon-fix'
Junio C Hamano [Sun, 2 Jun 2013 22:56:46 +0000 (15:56 -0700)] 
Merge branch 'mk/combine-diff-context-horizon-fix'

"git diff -c -p" was not showing a deleted line from a hunk when
another hunk immediately begins where the earlier one ends.

* mk/combine-diff-context-horizon-fix:
  combine-diff.c: Fix output when changes are exactly 3 lines apart

11 years agoMerge branch 'kb/ancestry-path-threedots'
Junio C Hamano [Sun, 2 Jun 2013 22:56:11 +0000 (15:56 -0700)] 
Merge branch 'kb/ancestry-path-threedots'

"git log --ancestry-path A...B" did not work as expected, as it did
not pay attention to the fact that the merge base between A and B
was the bottom of the range being specified.

* kb/ancestry-path-threedots:
  revision.c: treat A...B merge bases as if manually specified
  t6019: demonstrate --ancestry-path A...B breakage

11 years agoMerge branch 'jc/t5551-posix-sed-bre'
Junio C Hamano [Sun, 2 Jun 2013 22:56:08 +0000 (15:56 -0700)] 
Merge branch 'jc/t5551-posix-sed-bre'

POSIX fix for a test script.

* jc/t5551-posix-sed-bre:
  t5551: do not use unportable sed '\+'

11 years agoMerge branch 'da/darwin'
Junio C Hamano [Sun, 2 Jun 2013 22:55:48 +0000 (15:55 -0700)] 
Merge branch 'da/darwin'

Newer MacOS X encourages the programs to compile and link with
their CommonCrypto, not with OpenSSL.

* da/darwin:
  imap-send: eliminate HMAC deprecation warnings on Mac OS X
  cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
  Makefile: add support for Apple CommonCrypto facility
  Makefile: fix default regex settings on Darwin

11 years agoMerge branch 'fc/macos-x-clipped-write'
Junio C Hamano [Sun, 2 Jun 2013 22:54:54 +0000 (15:54 -0700)] 
Merge branch 'fc/macos-x-clipped-write'

Mac OS X does not like to write(2) more than INT_MAX number of
bytes.

* fc/macos-x-clipped-write:
  compate/clipped-write.c: large write(2) fails on Mac OS X/XNU

11 years agoMerge branch 'vv/help-unknown-ref'
Junio C Hamano [Sun, 2 Jun 2013 22:54:06 +0000 (15:54 -0700)] 
Merge branch 'vv/help-unknown-ref'

Detect "git merge foo" that might have meant "git merge origin/foo"
and give an error message that is more specific than "foo is not
something we can merge".

* vv/help-unknown-ref:
  merge: use help_unknown_ref()
  help: add help_unknown_ref()

11 years agoMerge branch 'nd/clone-local-with-colon'
Junio C Hamano [Sun, 2 Jun 2013 22:52:22 +0000 (15:52 -0700)] 
Merge branch 'nd/clone-local-with-colon'

"git clone foo/bar:baz" cannot be a request to clone from a remote
over git-over-ssh specified in the scp style.  Detect this case and
clone from a local repository at "foo/bar:baz".

* nd/clone-local-with-colon:
  clone: allow cloning local paths with colons in them

11 years agoMerge branch 'fc/fast-export-persistent-marks'
Junio C Hamano [Sun, 2 Jun 2013 22:48:28 +0000 (15:48 -0700)] 
Merge branch 'fc/fast-export-persistent-marks'

Optimization for fast-export by avoiding unnecessarily resolving
arbitrary object name and parsing object when only presence and
type information is necessary, etc.

* fc/fast-export-persistent-marks:
  fast-{import,export}: use get_sha1_hex() to read from marks file
  fast-export: don't parse commits while reading marks file
  fast-export: do not parse non-commit objects while reading marks file

11 years agoMerge branch 'rs/empty-archive'
Junio C Hamano [Sun, 2 Jun 2013 22:48:24 +0000 (15:48 -0700)] 
Merge branch 'rs/empty-archive'

Fixes tests added in 1.8.2 era that are broken on BSDs.

* rs/empty-archive:
  t5004: resurrect original empty tar archive test
  t5004: avoid using tar for checking emptiness of archive

11 years agoMerge branch 'rh/merge-options-doc-fix'
Junio C Hamano [Sun, 2 Jun 2013 22:48:22 +0000 (15:48 -0700)] 
Merge branch 'rh/merge-options-doc-fix'

* rh/merge-options-doc-fix:
  Documentation/merge-options.txt: restore `-e` option

11 years agoMerge branch 'an/diff-index-doc'
Junio C Hamano [Sun, 2 Jun 2013 22:48:17 +0000 (15:48 -0700)] 
Merge branch 'an/diff-index-doc'

* an/diff-index-doc:
  Documentation/diff-index: mention two modes of operation

11 years agoMerge branch 'fc/completion'
Junio C Hamano [Sun, 2 Jun 2013 22:48:12 +0000 (15:48 -0700)] 
Merge branch 'fc/completion'

* fc/completion:
  completion: remove __git_index_file_list_filter()
  completion: add space after completed filename
  completion: add hack to enable file mode in bash < 4
  completion: refactor __git_complete_index_file()
  completion: refactor diff_index wrappers
  completion: use __gitcompadd for __gitcomp_file
  completion; remove unuseful comments
  completion: document tilde expansion failure in tests
  completion: add file completion tests

11 years agoMerge branch 'fc/zsh-leftover-bits'
Junio C Hamano [Sun, 2 Jun 2013 22:47:33 +0000 (15:47 -0700)] 
Merge branch 'fc/zsh-leftover-bits'

* fc/zsh-leftover-bits:
  completion: zsh: improve bash script loading
  completion: synchronize zsh wrapper
  completion: cleanup zsh wrapper

11 years agounpack-trees: free cache_entry array members for merges
René Scharfe [Sun, 2 Jun 2013 15:46:57 +0000 (17:46 +0200)] 
unpack-trees: free cache_entry array members for merges

The merge functions duplicate entries as needed and they don't free
them.  Release them in unpack_nondirectories, the same function
where they were allocated, after we're done.

As suggested by Felipe, use the same loop style (zero-based for loop)
for freeing as for allocating.

Improved-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiff-lib, read-tree, unpack-trees: mark cache_entry array paramters const
René Scharfe [Sun, 2 Jun 2013 15:46:56 +0000 (17:46 +0200)] 
diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const

Change the type merge_fn_t to accept the array of cache_entry pointers
as const pointers to const pointers.  This documents the fact that the
merge functions don't modify the cache_entry contents or replace any of
the pointers in the array.

Only a single cast is necessary in unpack_nondirectories because adding
two const modifiers at once is not allowed in C.  The cast is safe in
that it doesn't mask any modfication; call_unpack_fn only needs the
array for reading.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiff-lib, read-tree, unpack-trees: mark cache_entry pointers const
René Scharfe [Sun, 2 Jun 2013 15:46:55 +0000 (17:46 +0200)] 
diff-lib, read-tree, unpack-trees: mark cache_entry pointers const

Add const to struct cache_entry pointers throughout the tree which are
only used for reading.  This allows callers to pass in const pointers.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agounpack-trees: create working copy of merge entry in merged_entry
René Scharfe [Sun, 2 Jun 2013 15:46:54 +0000 (17:46 +0200)] 
unpack-trees: create working copy of merge entry in merged_entry

Duplicate the merge entry right away and work with that instead of
modifying the entry we got and duplicating it only at the end of
the function.  Then mark that pointer const to document that we
don't modify the referenced cache_entry.

This change is safe because all existing merge functions call
merged_entry just before returning (or not at all), i.e. they don't
care about changes to the referenced cache_entry after the call.
unpack_nondirectories and unpack_index_entry, which call the merge
functions through call_unpack_fn, aren't interested in such changes
neither.

The change complicates merged_entry a bit because we have to free the
copy if we error out, but allows callers to pass a const pointer.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agounpack-trees: factor out dup_entry
René Scharfe [Sun, 2 Jun 2013 15:46:53 +0000 (17:46 +0200)] 
unpack-trees: factor out dup_entry

While we're add it, mark the struct cache_entry pointer of add_entry
const because we only read from it and this allows callers to pass in
const pointers.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoread-cache: mark cache_entry pointers const
René Scharfe [Sun, 2 Jun 2013 15:46:52 +0000 (17:46 +0200)] 
read-cache: mark cache_entry pointers const

ie_match_stat and ie_modified only derefence their struct cache_entry
pointers for reading.  Add const to the parameter declaration here and
do the same for the static helper function used by them, as it's the
same there as well.  This allows callers to pass in const pointers.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocache: mark cache_entry pointers const
René Scharfe [Sun, 2 Jun 2013 15:46:51 +0000 (17:46 +0200)] 
cache: mark cache_entry pointers const

Add const for pointers that are only dereferenced for reading by the
inline functions copy_cache_entry and ce_mode_from_stat.  This allows
callers to pass in const pointers.

Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodir.c: fix ignore processing within not-ignored directories
Karsten Blees [Wed, 29 May 2013 20:32:36 +0000 (22:32 +0200)] 
dir.c: fix ignore processing within not-ignored directories

As of 95c6f271 "dir.c: unify is_excluded and is_path_excluded APIs", the
is_excluded API no longer recurses into directories that match an ignore
pattern, and returns the directory's ignored state for all contained paths.

This is OK for normal ignore patterns, i.e. ignoring a directory affects
the entire contents recursively.

Unfortunately, this also "works" for negated ignore patterns ('!dir'), i.e.
the entire contents is "not-ignored" recursively, regardless of ignore
patterns that match the contents directly.

In prep_exclude, skip recursing into a directory only if it is really
ignored (i.e. the ignore pattern is not negated).

Signed-off-by: Karsten Blees <blees@dcon.de>
Tested-by: Øystein Walle <oystwa@gmail.com>
Reviewed-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agowildmatch: properly fold case everywhere
Anthony Ramine [Thu, 30 May 2013 10:19:10 +0000 (12:19 +0200)] 
wildmatch: properly fold case everywhere

Case folding is not done correctly when matching against the [:upper:]
character class and uppercased character ranges (e.g. A-Z).
Specifically, an uppercase letter fails to match against any of them
when case folding is requested because plain characters in the pattern
and the whole string are preemptively lowercased to handle the base case
fast.

That optimization is kept and ISLOWER() is used in the [:upper:] case
when case folding is requested, while matching against a character range
is retried with toupper() if the character was lowercase, as the bounds
of the range itself cannot be modified (in a case-insensitive context,
[A-_] is not equivalent to [a-_]).

Signed-off-by: Anthony Ramine <n.oxyde@gmail.com>
Reviewed-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot0005: test git exit code from signal death
Jeff King [Sat, 1 Jun 2013 17:24:41 +0000 (13:24 -0400)] 
t0005: test git exit code from signal death

When a sub-process dies with a signal, we convert the exit
code to the shell convention of 128+sig. Callers of git may
be relying on this behavior, so let's make sure it does not
break.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoTest 'commit --only' after 'checkout --orphan'
Thomas Rast [Sat, 1 Jun 2013 11:02:00 +0000 (13:02 +0200)] 
Test 'commit --only' after 'checkout --orphan'

There are some index handling subtleties in 'commit --only' that are
best tested when we have an existing index, but an unborn or empty
HEAD.  These circumstances are easily produced by 'checkout --orphan',
but we did not previously have a test for it.

The main expected failure mode would be: erroneously loading the
existing index contents when building the temporary index that is used
for --only.  Cf.

  http://article.gmane.org/gmane.comp.version-control.git/225969

and subsequent discussion.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>