]> Pileus Git - ~andy/git/log
~andy/git
10 years agoMerge branch 'jk/bash-completion'
Junio C Hamano [Thu, 11 Jul 2013 20:05:28 +0000 (13:05 -0700)]
Merge branch 'jk/bash-completion'

* jk/bash-completion:
  completion: learn about --man-path
  completion: handle unstuck form of base git options

10 years agoMerge branch 'rr/rebase-checkout-reflog'
Junio C Hamano [Thu, 11 Jul 2013 20:04:33 +0000 (13:04 -0700)]
Merge branch 'rr/rebase-checkout-reflog'

Invocations of "git checkout" used internally by "git rebase" were
counted as "checkout", and affected later "git checkout -" to the
the user to an unexpected place.

* rr/rebase-checkout-reflog:
  checkout: respect GIT_REFLOG_ACTION
  status: do not depend on rebase reflog messages
  t/t2021-checkout-last: "checkout -" should work after a rebase finishes
  wt-status: remove unused field in grab_1st_switch_cbdata
  t7512: test "detached from" as well

10 years agoMerge branch 'jc/triangle-push-fixup'
Junio C Hamano [Thu, 11 Jul 2013 20:03:21 +0000 (13:03 -0700)]
Merge branch 'jc/triangle-push-fixup'

Earlier remote.pushdefault (and per-branch branch.*.pushremote)
were introduced as an additional mechanism to choose what
repository to push into when "git push" did not say it from the
command line, to help people who push to a repository that is
different from where they fetch from.  This attempts to finish that
topic by teaching the default mechanism to choose branch in the
remote repository to be updated by such a push.

The 'current', 'matching' and 'nothing' modes (specified by the
push.default configuration variable) extend to such a "triangular"
workflow naturally, but 'upstream' and 'simple' have to be updated.

. 'upstream' is about pushing back to update the branch in the
  remote repository that the current branch fetches from and
  integrates with, it errors out in a triangular workflow.

. 'simple' is meant to help new people by avoiding mistakes, and
  will be the safe default in Git 2.0.

  In a non-triangular workflow, it will continue to act as a cross
  between 'upstream' and 'current' in that it pushes to the current
  branch's @{upstream} only when it is set to the same name as the
  current branch (e.g. your 'master' forks from the 'master' from
  the central repository).

  In a triangular workflow, this series tentatively defines it as
  the same as 'current', but we may have to tighten it to avoid
  surprises in some way.

* jc/triangle-push-fixup:
  t/t5528-push-default: test pushdefault workflows
  t/t5528-push-default: generalize test_push_*
  push: change `simple` to accommodate triangular workflows
  config doc: rewrite push.default section
  t/t5528-push-default: remove redundant test_config lines

10 years agoMerge branch 'mh/maint-lockfile-overflow'
Junio C Hamano [Thu, 11 Jul 2013 20:03:16 +0000 (13:03 -0700)]
Merge branch 'mh/maint-lockfile-overflow'

* mh/maint-lockfile-overflow:
  lockfile: fix buffer overflow in path handling

10 years agolockfile: fix buffer overflow in path handling
Michael Haggerty [Sat, 6 Jul 2013 19:48:52 +0000 (21:48 +0200)]
lockfile: fix buffer overflow in path handling

The path of the file to be locked is held in lock_file::filename,
which is a fixed-length buffer of length PATH_MAX.  This buffer is
also (temporarily) used to hold the path of the lock file, which is
the path of the file being locked plus ".lock".  Because of this, the
path of the file being locked must be less than (PATH_MAX - 5)
characters long (5 chars are needed for ".lock" and one character for
the NUL terminator).

On entry into lock_file(), the path length was only verified to be
less than PATH_MAX characters, not less than (PATH_MAX - 5)
characters.

When and if resolve_symlink() is called, then that function is
correctly told to treat the buffer as (PATH_MAX - 5) characters long.
This part is correct.  However:

* If LOCK_NODEREF was specified, then resolve_symlink() is never
  called.

* If resolve_symlink() is called but the path is not a symlink, then
  the length check is never applied.

So it is possible for a path with length (PATH_MAX - 5 <= len <
PATH_MAX) to make it through the checks.  When ".lock" is strcat()ted
to such a path, the lock_file::filename buffer is overflowed.

Fix the problem by adding a check when entering lock_file() that the
original path is less than (PATH_MAX - 5) characters.

[jc: with independent development by Peff]

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'maint'
Junio C Hamano [Fri, 5 Jul 2013 08:16:27 +0000 (01:16 -0700)]
Merge branch 'maint'

* maint:
  fixup-builtins: retire an old transition helper script

10 years agoMerge branch 'tr/test-v-and-v-subtest-only'
Junio C Hamano [Fri, 5 Jul 2013 08:15:48 +0000 (01:15 -0700)]
Merge branch 'tr/test-v-and-v-subtest-only'

Allows N instances of tests run in parallel, each running 1/N parts
of the test suite under Valgrind, to speed things up.

* tr/test-v-and-v-subtest-only:
  perf-lib: fix start/stop of perf tests
  test-lib: support running tests under valgrind in parallel
  test-lib: allow prefixing a custom string before "ok N" etc.
  test-lib: valgrind for only tests matching a pattern
  test-lib: verbose mode for only tests matching a pattern
  test-lib: self-test that --verbose works
  test-lib: rearrange start/end of test_expect_* and test_skip
  test-lib: refactor $GIT_SKIP_TESTS matching
  test-lib: enable MALLOC_* for the actual tests

10 years agofixup-builtins: retire an old transition helper script
Ramkumar Ramachandra [Fri, 28 Jun 2013 15:46:19 +0000 (21:16 +0530)]
fixup-builtins: retire an old transition helper script

This script was added in 36e5e70 (Start deprecating "git-command" in
favor of "git command", 2007-06-30) with the intent of aiding the
transition away from dashed forms.

It has already been used to help the transision and served its
purpose, and is no longer very useful for follow-up work, because
the majority of remaining matches it finds are false positives.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'maint'
Junio C Hamano [Wed, 3 Jul 2013 22:43:49 +0000 (15:43 -0700)]
Merge branch 'maint'

* maint:
  Update draft release notes to 1.8.3.3
  git-config: update doc for --get with multiple values

10 years agoUpdate draft release notes to 1.8.3.3
Junio C Hamano [Wed, 3 Jul 2013 22:43:41 +0000 (15:43 -0700)]
Update draft release notes to 1.8.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'rr/diffcore-pickaxe-doc' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:41:17 +0000 (15:41 -0700)]
Merge branch 'rr/diffcore-pickaxe-doc' into maint

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

10 years agoMerge branch 'cr/git-work-tree-sans-git-dir' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:41:05 +0000 (15:41 -0700)]
Merge branch 'cr/git-work-tree-sans-git-dir' into maint

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

10 years agoMerge branch 'fc/do-not-use-the-index-in-add-to-index' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:40:38 +0000 (15:40 -0700)]
Merge branch 'fc/do-not-use-the-index-in-add-to-index' into maint

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

10 years agoMerge branch 'dm/unbash-subtree' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:39:37 +0000 (15:39 -0700)]
Merge branch 'dm/unbash-subtree' into maint

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

10 years agoMerge branch 'jc/core-checkstat' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:39:15 +0000 (15:39 -0700)]
Merge branch 'jc/core-checkstat' into maint

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

10 years agoMerge branch 'jc/t5551-posix-sed-bre' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:37:58 +0000 (15:37 -0700)]
Merge branch 'jc/t5551-posix-sed-bre' into maint

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

10 years agoMerge branch 'vv/help-unknown-ref' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:37:50 +0000 (15:37 -0700)]
Merge branch 'vv/help-unknown-ref' into maint

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

10 years agoMerge branch 'rs/empty-archive' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:36:54 +0000 (15:36 -0700)]
Merge branch 'rs/empty-archive' into maint

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

Conflicts:
t/t5004-archive-corner-cases.sh

10 years agoMerge branch 'rh/merge-options-doc-fix' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:36:30 +0000 (15:36 -0700)]
Merge branch 'rh/merge-options-doc-fix' into maint

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

10 years agoMerge branch 'an/diff-index-doc' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:35:55 +0000 (15:35 -0700)]
Merge branch 'an/diff-index-doc' into maint

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

10 years agoMerge branch 'cm/gitweb-project-list-persistent-cgi-fix' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:31:36 +0000 (15:31 -0700)]
Merge branch 'cm/gitweb-project-list-persistent-cgi-fix' into maint

"gitweb" forgot to clear a global variable $search_regexp upon each
request, mistakenly carrying over the previous search to a new one
when used as a persistent CGI.

* cm/gitweb-project-list-persistent-cgi-fix:
  gitweb: fix problem causing erroneous project list

10 years agoMerge branch 'ar/wildmatch-foldcase' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:31:27 +0000 (15:31 -0700)]
Merge branch 'ar/wildmatch-foldcase' into maint

The wildmatch engine did not honor WM_CASEFOLD option correctly.

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

10 years agoMerge branch 'cb/log-follow-with-combined' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:30:59 +0000 (15:30 -0700)]
Merge branch 'cb/log-follow-with-combined' into maint

"git log -c --follow $path" segfaulted upon hitting the commit that
renamed the $path being followed.

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

10 years agoMerge branch 'rr/die-on-missing-upstream' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:30:24 +0000 (15:30 -0700)]
Merge branch 'rr/die-on-missing-upstream' into maint

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}

10 years agoMerge branch 'maint-1.8.2' into maint
Junio C Hamano [Wed, 3 Jul 2013 22:27:19 +0000 (15:27 -0700)]
Merge branch 'maint-1.8.2' into maint

* maint-1.8.2:
  git-config: update doc for --get with multiple values

10 years agoMerge branch 'maint-1.8.1' into maint-1.8.2
Junio C Hamano [Wed, 3 Jul 2013 22:26:53 +0000 (15:26 -0700)]
Merge branch 'maint-1.8.1' into maint-1.8.2

* maint-1.8.1:
  git-config: update doc for --get with multiple values

10 years agogit-remote-mediawiki: un-brace file handles in binmode calls
Matthieu Moy [Wed, 3 Jul 2013 09:14:19 +0000 (11:14 +0200)]
git-remote-mediawiki: un-brace file handles in binmode calls

Commit e83d36b66fc turned "print STDOUT" into "print {*STDOUT}", as
suggested by perlcritic. Unfortunately, it also changed two "binmode
STDOUT" calls the same way, which does not work and yield a "Not a GLOB
reference" error.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agogit-config: update doc for --get with multiple values
John Keeping [Wed, 3 Jul 2013 18:27:39 +0000 (19:27 +0100)]
git-config: update doc for --get with multiple values

Since commit 00b347d (git-config: do not complain about duplicate
entries, 2012-10-23), "git config --get" does not exit with an error if
there are multiple values for the specified key but instead returns the
last value.  Update the documentation to reflect this.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Mon, 1 Jul 2013 19:46:54 +0000 (12:46 -0700)]
Merge branch 'maint'

* maint:
  t7500: fix flipped actual/expect
  lib-rebase: document exec_ in FAKE_LINES

11 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Mon, 1 Jul 2013 19:46:41 +0000 (12:46 -0700)]
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'rr/remote-branch-config-refresh'
Junio C Hamano [Mon, 1 Jul 2013 19:41:58 +0000 (12:41 -0700)]
Merge branch 'rr/remote-branch-config-refresh'

The original way to specify remote repository using .git/branches/
used to have a nifty feature.  The code to support the feature was
still in a function but the caller was changed not to call it 5
years ago, breaking that feature and leaving the supporting code
unreachable.

* rr/remote-branch-config-refresh:
  t/t5505-remote: test multiple push/pull in remotes-file
  ls-remote doc: don't encourage use of branches-file
  ls-remote doc: rewrite <repository> paragraph
  ls-remote doc: fix example invocation on git.git
  t/t5505-remote: test url-with-# in branches-file
  remote: remove dead code in read_branches_file()
  t/t5505-remote: use test_path_is_missing
  t/t5505-remote: test push-refspec in branches-file
  t/t5505-remote: modernize style

11 years agoMerge branch 'ed/color-prompt'
Junio C Hamano [Mon, 1 Jul 2013 19:41:55 +0000 (12:41 -0700)]
Merge branch 'ed/color-prompt'

Code clean-up for in-prompt status script (in contrib/).

* ed/color-prompt:
  git-prompt.sh: add missing information in comments
  git-prompt.sh: do not print duplicate clean color code
  t9903: remove redundant tests
  git-prompt.sh: refactor colored prompt code
  t9903: add tests for git-prompt pcmode

11 years agoMerge branch 'ap/rebase-multiple-fixups'
Junio C Hamano [Mon, 1 Jul 2013 19:41:52 +0000 (12:41 -0700)]
Merge branch 'ap/rebase-multiple-fixups'

Having multiple "fixup!" on a line in the rebase instruction sheet
did not work very well with "git rebase -i --autosquash".

* ap/rebase-multiple-fixups:
  lib-rebase: style: use write_script, <<-\EOF
  rebase -i: handle fixup! fixup! in --autosquash

11 years agoMerge branch 'kb/am-deprecate-resolved'
Junio C Hamano [Mon, 1 Jul 2013 19:41:48 +0000 (12:41 -0700)]
Merge branch 'kb/am-deprecate-resolved'

Promote "git am --continue" over "git am --resolved" for UI
consistency.

* kb/am-deprecate-resolved:
  am: replace uses of --resolved with --continue

11 years agoMerge branch 'rr/column-doc'
Junio C Hamano [Mon, 1 Jul 2013 19:41:46 +0000 (12:41 -0700)]
Merge branch 'rr/column-doc'

* rr/column-doc:
  column doc: rewrite documentation for column.ui

11 years agoMerge branch 'ft/doc-git-transport'
Junio C Hamano [Mon, 1 Jul 2013 19:41:43 +0000 (12:41 -0700)]
Merge branch 'ft/doc-git-transport'

* ft/doc-git-transport:
  documentation: add git:// transport security notice

11 years agoMerge branch 'sb/mailmap-merijn-brand'
Junio C Hamano [Mon, 1 Jul 2013 19:41:41 +0000 (12:41 -0700)]
Merge branch 'sb/mailmap-merijn-brand'

* sb/mailmap-merijn-brand:
  .mailmap: Map "H.Merijn Brand" to "H. Merijn Brand"

11 years agoMerge branch 'sg/bash-prompt'
Junio C Hamano [Mon, 1 Jul 2013 19:41:37 +0000 (12:41 -0700)]
Merge branch 'sg/bash-prompt'

* sg/bash-prompt:
  bash prompt: mention that PROMPT_COMMAND mode is faster
  bash prompt: avoid command substitution when finalizing gitstring
  bash prompt: avoid command substitution when checking for untracked files
  bash prompt: use bash builtins to check stash state
  bash prompt: use bash builtins to check for unborn branch for dirty state
  bash prompt: combine 'git rev-parse' for detached head
  bash prompt: combine 'git rev-parse' executions in the main code path
  bash prompt: use bash builtins to find out current branch
  bash prompt: use bash builtins to find out rebase state
  bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir()
  bash prompt: return early from __git_ps1() when not in a git repository
  bash prompt: print unique detached HEAD abbreviated object name
  bash prompt: add a test for symbolic link symbolic refs
  completion, bash prompt: move __gitdir() tests to completion test suite
  bash prompt: use 'write_script' helper in interactive rebase test
  bash prompt: fix redirection coding style in tests

11 years agoMerge branch 'wk/doc-in-linux-3.x-era'
Junio C Hamano [Mon, 1 Jul 2013 19:41:34 +0000 (12:41 -0700)]
Merge branch 'wk/doc-in-linux-3.x-era'

Update documentation to match more recent realities.

* wk/doc-in-linux-3.x-era:
  Documentation: Update 'linux-2.6.git' -> 'linux.git'
  Documentation: Update the NFS remote examples to use the staging repo
  doc/clone: Pick more compelling paths for the --reference example
  doc/clone: Remove the '--bare -l -s' example

11 years agoMerge branch 'jc/topo-author-date-sort'
Junio C Hamano [Mon, 1 Jul 2013 19:41:22 +0000 (12:41 -0700)]
Merge branch 'jc/topo-author-date-sort'

"git log" learned the "--author-date-order" option, with which the
output is topologically sorted and commits in parallel histories
are shown intermixed together based on the author timestamp.

* jc/topo-author-date-sort:
  t6003: add --author-date-order test
  topology tests: teach a helper to set author dates as well
  t6003: add --date-order test
  topology tests: teach a helper to take abbreviated timestamps
  t/lib-t6000: style fixes
  log: --author-date-order
  sort-in-topological-order: use prio-queue
  prio-queue: priority queue of pointers to structs
  toposort: rename "lifo" field

11 years agoMerge branch 'jk/commit-info-slab'
Junio C Hamano [Mon, 1 Jul 2013 19:41:19 +0000 (12:41 -0700)]
Merge branch 'jk/commit-info-slab'

Allow adding custom information to commit objects in order to
represent unbound number of flag bits etc.

* jk/commit-info-slab:
  commit-slab: introduce a macro to define a slab for new type
  commit-slab: avoid large realloc
  commit: allow associating auxiliary info on-demand

11 years agolib-rebase: style: use write_script, <<-\EOF
Andrew Pimlott [Mon, 1 Jul 2013 16:23:38 +0000 (09:23 -0700)]
lib-rebase: style: use write_script, <<-\EOF

Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agot7500: fix flipped actual/expect
Andrew Pimlott [Mon, 1 Jul 2013 16:20:36 +0000 (09:20 -0700)]
t7500: fix flipped actual/expect

Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agolib-rebase: document exec_ in FAKE_LINES
Andrew Pimlott [Mon, 1 Jul 2013 16:20:35 +0000 (09:20 -0700)]
lib-rebase: document exec_ in FAKE_LINES

Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: learn about --man-path
John Keeping [Sat, 22 Jun 2013 11:25:18 +0000 (12:25 +0100)]
completion: learn about --man-path

Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: handle unstuck form of base git options
John Keeping [Sat, 22 Jun 2013 11:25:17 +0000 (12:25 +0100)]
completion: handle unstuck form of base git options

git-completion.bash's parsing of the command name relies on everything
preceding it starting with '-' unless it is the "-c" option.  This
allows users to use the stuck form of "--work-tree=<path>" and
"--namespace=<path>" but not the unstuck forms "--work-tree <path>" and
"--namespace <path>".  Fix this.

Similarly, the completion only handles the stuck form "--git-dir=<path>"
and not "--git-dir <path>", so fix this as well.

Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Sun, 30 Jun 2013 22:45:43 +0000 (15:45 -0700)]
Merge branch 'maint'

* maint:
  Start preparing for 1.8.3.3
  check-ignore doc: fix broken link to ls-files page
  test: spell 'ls-files --delete' option correctly in test descriptions

11 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Sun, 30 Jun 2013 22:45:26 +0000 (15:45 -0700)]
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'mh/ref-races'
Junio C Hamano [Sun, 30 Jun 2013 22:40:01 +0000 (15:40 -0700)]
Merge branch 'mh/ref-races'

"git pack-refs" that races with new ref creation or deletion have
been susceptible to lossage of refs under right conditions, which
has been tightened up.

* mh/ref-races:
  for_each_ref: load all loose refs before packed refs
  get_packed_ref_cache: reload packed-refs file when it changes
  add a stat_validity struct
  Extract a struct stat_data from cache_entry
  packed_ref_cache: increment refcount when locked
  do_for_each_entry(): increment the packed refs cache refcount
  refs: manage lifetime of packed refs cache via reference counting
  refs: implement simple transactions for the packed-refs file
  refs: wrap the packed refs cache in a level of indirection
  pack_refs(): split creation of packed refs and entry writing
  repack_without_ref(): split list curation and entry writing

11 years agoMerge branch 'ap/diff-ignore-blank-lines'
Junio C Hamano [Sun, 30 Jun 2013 22:39:53 +0000 (15:39 -0700)]
Merge branch 'ap/diff-ignore-blank-lines'

"git diff" learned a mode that ignores hunks whose change consists
only of additions and removals of blank lines, which is the same as
"diff -B" (ignore blank lines) of GNU diff.

* ap/diff-ignore-blank-lines:
  diff: add --ignore-blank-lines option

11 years agoMerge branch 'mh/loose-refs-race-with-pack-ref'
Junio C Hamano [Sun, 30 Jun 2013 22:39:47 +0000 (15:39 -0700)]
Merge branch 'mh/loose-refs-race-with-pack-ref'

We read loose and packed rerferences in two steps, but after
deciding to read a loose ref but before actually opening it to read
it, another process racing with us can unlink it, which would cause
us to barf. Update the codepath to retry when such a race is
detected.

* mh/loose-refs-race-with-pack-ref:
  resolve_ref_unsafe(): close race condition reading loose refs
  resolve_ref_unsafe(): handle the case of an SHA-1 within loop
  resolve_ref_unsafe(): extract function handle_missing_loose_ref()

11 years agoMerge branch 'nk/name-rev-abbreviated-refs'
Junio C Hamano [Sun, 30 Jun 2013 22:39:41 +0000 (15:39 -0700)]
Merge branch 'nk/name-rev-abbreviated-refs'

"git name-rev --refs=tags/v*" were forbidden, which was a bit
inconvenient (you had to give a pattern to match refs fully, like
--refs=refs/tags/v*).

* nk/name-rev-abbreviated-refs:
  name-rev: allow to specify a subpath for --refs option

11 years agoMerge branch 'jk/submodule-subdirectory-ok'
Junio C Hamano [Sun, 30 Jun 2013 22:39:35 +0000 (15:39 -0700)]
Merge branch 'jk/submodule-subdirectory-ok'

Allow various subcommands of "git submodule" to be run not from the
top of the working tree of the superproject.

* jk/submodule-subdirectory-ok:
  submodule: drop the top-level requirement
  rev-parse: add --prefix option
  submodule: show full path in error message
  t7403: add missing && chaining
  t7403: modernize style
  t7401: make indentation consistent

11 years agoStart preparing for 1.8.3.3
Junio C Hamano [Sun, 30 Jun 2013 22:36:03 +0000 (15:36 -0700)]
Start preparing for 1.8.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'fc/macos-x-clipped-write' into maint
Junio C Hamano [Sun, 30 Jun 2013 22:33:40 +0000 (15:33 -0700)]
Merge branch 'fc/macos-x-clipped-write' into maint

Mac OS X does not like to write(2) more than INT_MAX number of
bytes; work it around by chopping write(2) into smaller pieces.

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

11 years agoMerge branch 'da/darwin' into maint
Junio C Hamano [Sun, 30 Jun 2013 22:33:13 +0000 (15:33 -0700)]
Merge branch 'da/darwin' into maint

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 agocheck-ignore doc: fix broken link to ls-files page
Ramkumar Ramachandra [Sun, 30 Jun 2013 12:05:28 +0000 (17:35 +0530)]
check-ignore doc: fix broken link to ls-files page

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agotest: spell 'ls-files --delete' option correctly in test descriptions
SZEDER Gábor [Sun, 30 Jun 2013 10:45:25 +0000 (12:45 +0200)]
test: spell 'ls-files --delete' option correctly in test descriptions

The option is spelled '--deleted'.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoperf-lib: fix start/stop of perf tests
Thomas Gummerer [Sat, 29 Jun 2013 13:38:39 +0000 (15:38 +0200)]
perf-lib: fix start/stop of perf tests

ae75342 test-lib: rearrange start/end of test_expect_* and test_skip
changed the way tests are started/stopped, but did not update the perf
tests.  They were therefore giving the wrong output, because of the
wrong test count.  Fix this by starting and stopping the tests
correctly.

Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSync with 1.8.3.2
Junio C Hamano [Fri, 28 Jun 2013 21:57:09 +0000 (14:57 -0700)]
Sync with 1.8.3.2

11 years agoGit 1.8.3.2
Junio C Hamano [Fri, 28 Jun 2013 21:56:30 +0000 (14:56 -0700)]
Git 1.8.3.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoconfigure: fix option help message for --disable-pthreads
Stefano Lattarini [Fri, 28 Jun 2013 17:19:42 +0000 (19:19 +0200)]
configure: fix option help message for --disable-pthreads

The configure option to disable threading is '--disable-pthreads',
not '--without-pthreads'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'nd/clone-connectivity-shortcut' (early part) into maint
Junio C Hamano [Fri, 28 Jun 2013 17:00:00 +0000 (10:00 -0700)]
Merge branch 'nd/clone-connectivity-shortcut' (early part) into maint

Cloning with "git clone --depth N" while fetch.fsckobjects (or
transfer.fsckobjects) is set to true did not tell the cut-off points
of the shallow history to the process that validates the objects and
the history received, causing the validation to fail.

* 'nd/clone-connectivity-shortcut' (early part):
  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 'maint'
Junio C Hamano [Thu, 27 Jun 2013 21:48:54 +0000 (14:48 -0700)]
Merge branch 'maint'

* maint:
  Start preparing for 1.8.3.2

11 years agoStart preparing for 1.8.3.2
Junio C Hamano [Thu, 27 Jun 2013 21:48:14 +0000 (14:48 -0700)]
Start preparing for 1.8.3.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ks/difftool-dir-diff-copy-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:22 +0000 (14:38 -0700)]
Merge branch 'ks/difftool-dir-diff-copy-fix' into maint

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

11 years agoMerge branch 'rr/push-head' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:17 +0000 (14:38 -0700)]
Merge branch 'rr/push-head' into maint

* 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 'fc/show-branch-in-rebase-am' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:16 +0000 (14:38 -0700)]
Merge branch 'fc/show-branch-in-rebase-am' into maint

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

11 years agoMerge branch 'tg/maint-zsh-svn-remote-prompt' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:14 +0000 (14:38 -0700)]
Merge branch 'tg/maint-zsh-svn-remote-prompt' into maint

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

11 years agoMerge branch 'nd/urls-doc-no-file-hyperlink-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:12 +0000 (14:38 -0700)]
Merge branch 'nd/urls-doc-no-file-hyperlink-fix' into maint

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

11 years agoMerge branch 'tr/push-no-verify-doc' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:09 +0000 (14:38 -0700)]
Merge branch 'tr/push-no-verify-doc' into maint

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

11 years agoMerge branch 'rs/commit-m-no-edit' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:07 +0000 (14:38 -0700)]
Merge branch 'rs/commit-m-no-edit' into maint

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

11 years agoMerge branch 'jc/strbuf-branchname-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:38:02 +0000 (14:38 -0700)]
Merge branch 'jc/strbuf-branchname-fix' into maint

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

11 years agoMerge branch 'mk/combine-diff-context-horizon-fix' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:55 +0000 (14:37 -0700)]
Merge branch 'mk/combine-diff-context-horizon-fix' into maint

* 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' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:52 +0000 (14:37 -0700)]
Merge branch 'kb/ancestry-path-threedots' into maint

* 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 'jk/subtree-do-not-push-if-split-fails' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:44 +0000 (14:37 -0700)]
Merge branch 'jk/subtree-do-not-push-if-split-fails' into maint

* jk/subtree-do-not-push-if-split-fails:
  contrib/subtree: don't delete remote branches if split fails

11 years agoMerge branch 'mh/fetch-into-shallow' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:41 +0000 (14:37 -0700)]
Merge branch 'mh/fetch-into-shallow' into maint

* mh/fetch-into-shallow:
  t5500: add test for fetching with an unknown 'shallow'
  upload-pack: ignore 'shallow' lines with unknown obj-ids

11 years agoMerge branch 'jh/checkout-auto-tracking' into maint
Junio C Hamano [Thu, 27 Jun 2013 21:37:21 +0000 (14:37 -0700)]
Merge branch 'jh/checkout-auto-tracking' into maint

* jh/checkout-auto-tracking:
  glossary: Update and rephrase the definition of a remote-tracking branch
  branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
  t9114.2: Don't use --track option against "svn-remote"-tracking branches
  t7201.24: Add refspec to keep --track working
  t3200.39: tracking setup should fail if there is no matching refspec.
  checkout: Use remote refspecs when DWIMming tracking branches
  t2024: Show failure to use refspec when DWIMming remote branch names
  t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'

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

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jk/add-i-custom-diff-algo'
Junio C Hamano [Thu, 27 Jun 2013 21:30:07 +0000 (14:30 -0700)]
Merge branch 'jk/add-i-custom-diff-algo'

* jk/add-i-custom-diff-algo:
  add -i: add extra options at the right place in "diff" command line
  add--interactive: respect diff.algorithm

11 years agoMerge branch 'rr/cherry-pick-fast-forward-reflog-message'
Junio C Hamano [Thu, 27 Jun 2013 21:29:59 +0000 (14:29 -0700)]
Merge branch 'rr/cherry-pick-fast-forward-reflog-message'

The reflog message created when "git cherry-pick" fast-forwarded
did not say anything but "cherry-pick", but it now says
"cherry-pick: fast-forward".

* rr/cherry-pick-fast-forward-reflog-message:
  sequencer: write useful reflog message for fast-forward

11 years agoMerge branch 'mt/send-email-cc-match-fix'
Junio C Hamano [Thu, 27 Jun 2013 21:29:57 +0000 (14:29 -0700)]
Merge branch 'mt/send-email-cc-match-fix'

Logic used by git-send-email to suppress cc mishandled names that
need RFC2047 quoting.

* mt/send-email-cc-match-fix:
  send-email: sanitize author when writing From line
  send-email: add test for duplicate utf8 name

11 years agoMerge branch 'jk/pull-into-dirty-unborn'
Junio C Hamano [Thu, 27 Jun 2013 21:29:52 +0000 (14:29 -0700)]
Merge branch 'jk/pull-into-dirty-unborn'

"git pull" into nothing trashed "local changes" that were in the
index, and this avoids it.

* jk/pull-into-dirty-unborn:
  pull: merge into unborn by fast-forwarding from empty tree
  pull: update unborn branch tip after index

11 years agoMerge branch 'bc/http-keep-memory-given-to-curl'
Junio C Hamano [Thu, 27 Jun 2013 21:29:49 +0000 (14:29 -0700)]
Merge branch 'bc/http-keep-memory-given-to-curl'

Older cURL wanted piece of memory we call it with to be stable, but
we updated the auth material after handing it to a call.

* bc/http-keep-memory-given-to-curl:
  http.c: don't rewrite the user:passwd string multiple times

11 years agoMerge branch 'bc/checkout-tracking-name-plug-leak'
Junio C Hamano [Thu, 27 Jun 2013 21:29:46 +0000 (14:29 -0700)]
Merge branch 'bc/checkout-tracking-name-plug-leak'

Plug a small leak in checkout.

* bc/checkout-tracking-name-plug-leak:
  t/t9802: explicitly name the upstream branch to use as a base
  builtin/checkout.c: don't leak memory in check_tracking_name

11 years agoMerge branch 'rr/rebase-stash-store'
Junio C Hamano [Thu, 27 Jun 2013 21:29:41 +0000 (14:29 -0700)]
Merge branch 'rr/rebase-stash-store'

Finishing touches for the "git rebase --autostash" feature
introduced earlier.

* rr/rebase-stash-store:
  rebase: use 'git stash store' to simplify logic
  stash: introduce 'git stash store'
  stash: simplify option parser for create
  stash doc: document short form -p in synopsis
  stash doc: add a warning about using create

11 years agorebase -i: handle fixup! fixup! in --autosquash
Andrew Pimlott [Thu, 27 Jun 2013 19:26:31 +0000 (12:26 -0700)]
rebase -i: handle fixup! fixup! in --autosquash

In rebase -i --autosquash, ignore all "fixup! " or "squash! " after the
first.  This supports the case when a git commit --fixup/--squash referred
to an earlier fixup/squash instead of the original commit (whether
intentionally, as when the user expressly meant to note that the commit
fixes an earlier fixup; or inadvertently, as when the user meant to refer to
the original commit with :/msg; or out of laziness, as when the user could
remember how to refer to the fixup but not the original).

In the todo list, the full commit message is preserved, in case it provides
useful cues to the user.  A test helper set_cat_todo_editor is introduced to
check this.

Helped-by: Thomas Rast <trast@inf.ethz.ch>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoam: replace uses of --resolved with --continue
Kevin Bracey [Wed, 26 Jun 2013 20:06:41 +0000 (23:06 +0300)]
am: replace uses of --resolved with --continue

git am was previously modified to provide --continue for consistency
with rebase, merge etc, and the documentation changed to showing
--continue as the primary form.

Complete the work by replacing remaining uses of --resolved by
--continue, most notably in suggested command reminders.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Wed, 26 Jun 2013 22:10:17 +0000 (15:10 -0700)]
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'tr/maint-apply-non-git-patch-parsefix'
Junio C Hamano [Wed, 26 Jun 2013 22:08:09 +0000 (15:08 -0700)]
Merge branch 'tr/maint-apply-non-git-patch-parsefix'

Fix for the codepath to parse patches that add new files, generated
by programs other than Git.  THis is an old breakage in v1.7.11 and
will need to be merged down to the maintanance tracks.

* tr/maint-apply-non-git-patch-parsefix:
  apply: carefully strdup a possibly-NULL name

11 years agoMerge branch 'ys/cygstart'
Junio C Hamano [Wed, 26 Jun 2013 22:08:01 +0000 (15:08 -0700)]
Merge branch 'ys/cygstart'

On Cygwin, recognize "cygstart" as a possible way to start a web
browser (used in "help -w" and "instaweb" among others).

* ys/cygstart:
  web--browse: support /usr/bin/cygstart on Cygwin

11 years agoMerge branch 'wk/doc-git-has-grown'
Junio C Hamano [Wed, 26 Jun 2013 22:07:55 +0000 (15:07 -0700)]
Merge branch 'wk/doc-git-has-grown'

* wk/doc-git-has-grown:
  user-manual: Update download size for Git and the kernel

11 years agoMerge branch 'vl/typofix'
Junio C Hamano [Wed, 26 Jun 2013 22:07:52 +0000 (15:07 -0700)]
Merge branch 'vl/typofix'

* vl/typofix:
  random typofixes (committed missing a 't', successful missing an 's')

11 years agoMerge branch 'ph/builtin-srcs-are-in-subdir-these-days'
Junio C Hamano [Wed, 26 Jun 2013 22:07:48 +0000 (15:07 -0700)]
Merge branch 'ph/builtin-srcs-are-in-subdir-these-days'

* ph/builtin-srcs-are-in-subdir-these-days:
  fix "builtin-*" references to be "builtin/*"

11 years agoMerge branch 'mm/merge-in-dirty-worktree-doc'
Junio C Hamano [Wed, 26 Jun 2013 22:07:43 +0000 (15:07 -0700)]
Merge branch 'mm/merge-in-dirty-worktree-doc'

* mm/merge-in-dirty-worktree-doc:
  Documentation/git-merge.txt: weaken warning about uncommited changes

11 years agoMerge branch 'kb/diff-blob-blob-doc'
Junio C Hamano [Wed, 26 Jun 2013 22:07:41 +0000 (15:07 -0700)]
Merge branch 'kb/diff-blob-blob-doc'

* kb/diff-blob-blob-doc:
  Documentation: Move "git diff <blob> <blob>"

11 years agoMerge branch 'mm/push-force-is-dangerous'
Junio C Hamano [Wed, 26 Jun 2013 22:07:38 +0000 (15:07 -0700)]
Merge branch 'mm/push-force-is-dangerous'

* mm/push-force-is-dangerous:
  Documentation/git-push.txt: explain better cases where --force is dangerous

11 years agoMerge branch 'fg/submodule-non-ascii-path'
Junio C Hamano [Wed, 26 Jun 2013 22:07:35 +0000 (15:07 -0700)]
Merge branch 'fg/submodule-non-ascii-path'

Many "git submodule" operations do not work on a submodule at a
path whose name is not in ASCII.

* fg/submodule-non-ascii-path:
  t7400: test of UTF-8 submodule names pass under Mac OS
  handle multibyte characters in name

11 years agodocumentation: add git:// transport security notice
Fraser Tweedale [Wed, 26 Jun 2013 05:53:59 +0000 (15:53 +1000)]
documentation: add git:// transport security notice

The fact that the git:// transport does no authentication is easily
overlooked.  For example, DNS poisoning may result in fetching from
somewhere that was not intended.

Add a brief security notice to the "GIT URLS" section
of the documentation stating that the git transport should be used
with caution on unsecured networks.

Signed-off-by: Fraser Tweedale <frase@frase.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-prompt.sh: add missing information in comments
Eduardo R. D'Avila [Wed, 26 Jun 2013 03:05:17 +0000 (00:05 -0300)]
git-prompt.sh: add missing information in comments

Mention that the command below is needed for prompt
in ZSH with PS1:
  setopt PROMPT_SUBST

Rephrase some parts that mention only the "current branch name"
being displayed in the prompt. Replace it by stating that
the "repository status" is displayed.

Make it clear that colored prompt is only available
in PROMPT_COMMAND/precmd mode.

With-suggestions-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Eduardo R. D'Avila <erdavila@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>