]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
10 years agoMerge branch 'tr/fd-gotcha-fixes'
Junio C Hamano [Mon, 22 Jul 2013 18:23:12 +0000 (11:23 -0700)] 
Merge branch 'tr/fd-gotcha-fixes'

Two places we did not check return value (expected to be a file
descriptor) correctly.

* tr/fd-gotcha-fixes:
  run-command: dup_devnull(): guard against syscalls failing
  git_mkstemps: correctly test return value of open()

10 years agoMerge branch 'mm/color-auto-default'
Junio C Hamano [Mon, 22 Jul 2013 18:23:10 +0000 (11:23 -0700)] 
Merge branch 'mm/color-auto-default'

A finishing touch to fix breakage to "add -e" caused by defaulting
ui.color to "auto".

* mm/color-auto-default:
  git add -e: Explicitly specify that patch should have no color

10 years agoMerge branch 'jc/simple-add-must-be-a-no-op'
Junio C Hamano [Mon, 22 Jul 2013 18:23:06 +0000 (11:23 -0700)] 
Merge branch 'jc/simple-add-must-be-a-no-op'

This detected a mismerge of one of "add-2.0" topics to the 'jch'
and 'pu' branches.

* jc/simple-add-must-be-a-no-op:
  t2202: make sure "git add" (no args) stays a no-op

10 years agoSync with maint
Junio C Hamano [Mon, 22 Jul 2013 06:03:46 +0000 (23:03 -0700)] 
Sync with maint

* maint:
  Update draft release notes to 1.8.3.4
  t9801: git-p4: check ignore files with client spec

10 years agoUpdate draft release notes to 1.8.3.4
Junio C Hamano [Mon, 22 Jul 2013 06:02:53 +0000 (23:02 -0700)] 
Update draft release notes to 1.8.3.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'rr/maint-fetch-tag-doc-asterisks' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:45 +0000 (22:51 -0700)] 
Merge branch 'rr/maint-fetch-tag-doc-asterisks' into maint

* rr/maint-fetch-tag-doc-asterisks:
  fetch-options.txt: prevent a wildcard refspec from getting misformatted

10 years agoMerge branch 'dk/maint-t5150-dirname' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:43 +0000 (22:51 -0700)] 
Merge branch 'dk/maint-t5150-dirname' into maint

* dk/maint-t5150-dirname:
  tests: allow sha1's as part of the path

10 years agoMerge branch 'dk/version-gen-gitdir' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:41 +0000 (22:51 -0700)] 
Merge branch 'dk/version-gen-gitdir' into maint

* dk/version-gen-gitdir:
  GIT-VERSION-GEN: support non-standard $GIT_DIR path

10 years agoMerge branch 'nk/config-local-doc' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:39 +0000 (22:51 -0700)] 
Merge branch 'nk/config-local-doc' into maint

* nk/config-local-doc:
  config: Add description of --local option

10 years agoMerge branch 'kb/diff-blob-blob-doc' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:37 +0000 (22:51 -0700)] 
Merge branch 'kb/diff-blob-blob-doc' into maint

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

10 years agoMerge branch 'mm/merge-in-dirty-worktree-doc' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:32 +0000 (22:51 -0700)] 
Merge branch 'mm/merge-in-dirty-worktree-doc' into maint

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

10 years agoMerge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:29 +0000 (22:51 -0700)] 
Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maint

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

10 years agoMerge branch 'ft/doc-git-transport' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:24 +0000 (22:51 -0700)] 
Merge branch 'ft/doc-git-transport' into maint

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

10 years agoMerge branch 'mh/maint-lockfile-overflow' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:51:22 +0000 (22:51 -0700)] 
Merge branch 'mh/maint-lockfile-overflow' into maint

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

10 years agoMerge branch 'jc/maint-diff-core-safecrlf' into maint
Junio C Hamano [Mon, 22 Jul 2013 05:48:13 +0000 (22:48 -0700)] 
Merge branch 'jc/maint-diff-core-safecrlf' into maint

Avoid failing "git diff" when core.safecrlf is set to true, because
the user cannot tell where the breakage is in preparation for fixing
and committing.

* jc/maint-diff-core-safecrlf:
  diff: demote core.safecrlf=true to core.safecrlf=warn

10 years agot9801: git-p4: check ignore files with client spec
Vitor Antunes [Thu, 18 Jul 2013 23:04:53 +0000 (00:04 +0100)] 
t9801: git-p4: check ignore files with client spec

This test confirms that a file can be ignored during git p4 sync if if is
excluded in P4 client specification.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agot2202: make sure "git add" (no args) stays a no-op
Junio C Hamano [Sat, 20 Jul 2013 03:57:01 +0000 (20:57 -0700)] 
t2202: make sure "git add" (no args) stays a no-op

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agogit add -e: Explicitly specify that patch should have no color
Andrew Wong [Thu, 18 Jul 2013 22:58:04 +0000 (18:58 -0400)] 
git add -e: Explicitly specify that patch should have no color

After 4c7f1819 (make color.ui default to 'auto', 2013-06-10), the
patch file to be edited during 'git add -e' receives all the color
codes.  This is because diffopt.use_color defaults to -1, which
causes want_color to now return 'auto'.

By explicitly setting use_color to 0, we can ensure the diff output
has no color codes in it.

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoSync with maint
Junio C Hamano [Fri, 19 Jul 2013 18:15:48 +0000 (11:15 -0700)] 
Sync with maint

10 years agoStart preparing for 1.8.3.4
Junio C Hamano [Fri, 19 Jul 2013 17:59:36 +0000 (10:59 -0700)] 
Start preparing for 1.8.3.4

Hopefully this will be the final maintenance release before we go to
feature freeze for 1.8.4.

10 years agoapply.c::find_name_traditional(): do not initialize len to the line's length
Stefan Beller [Thu, 18 Jul 2013 21:35:27 +0000 (23:35 +0200)] 
apply.c::find_name_traditional(): do not initialize len to the line's length

The variable len is set to

    len = strchrnul(line, '\n') - line;

unconditionally 9 lines later, hence we can remove the call to strlen.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agohttp-push.c::add_send_request(): do not initialize transfer_request
Stefan Beller [Thu, 18 Jul 2013 21:35:26 +0000 (23:35 +0200)] 
http-push.c::add_send_request(): do not initialize transfer_request

That pointer will be assigned to new memory via

    request = xmalloc(sizeof(*request));

20 lines later unconditionally anyway, so it's safe to not assign it
to an arbitrary variable.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'tr/test-lint-no-export-assignment-in-shell' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:13 +0000 (10:43 -0700)] 
Merge branch 'tr/test-lint-no-export-assignment-in-shell' into maint

* tr/test-lint-no-export-assignment-in-shell:
  test-lint: detect 'export FOO=bar'
  t9902: fix 'test A == B' to use = operator

10 years agoMerge branch 'rr/name-rev-stdin-doc' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:08 +0000 (10:43 -0700)] 
Merge branch 'rr/name-rev-stdin-doc' into maint

* rr/name-rev-stdin-doc:
  name-rev doc: rewrite --stdin paragraph

10 years agoMerge branch 'ft/diff-rename-default-score-is-half' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:05 +0000 (10:43 -0700)] 
Merge branch 'ft/diff-rename-default-score-is-half' into maint

* ft/diff-rename-default-score-is-half:
  diff-options: document default similarity index

10 years agoMerge branch 'jc/t1512-fix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:43:01 +0000 (10:43 -0700)] 
Merge branch 'jc/t1512-fix' into maint

* jc/t1512-fix:
  get_short_sha1(): correctly disambiguate type-limited abbreviation
  t1512: correct leftover constants from earlier edition

10 years agoMerge branch 'vl/typofix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:57 +0000 (10:42 -0700)] 
Merge branch 'vl/typofix' into maint

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

10 years agoMerge branch 'wk/doc-git-has-grown' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:52 +0000 (10:42 -0700)] 
Merge branch 'wk/doc-git-has-grown' into maint

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

10 years agoMerge branch 'ys/cygstart' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:49 +0000 (10:42 -0700)] 
Merge branch 'ys/cygstart' into maint

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

10 years agoMerge branch 'mm/push-force-is-dangerous' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:46 +0000 (10:42 -0700)] 
Merge branch 'mm/push-force-is-dangerous' into maint

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

10 years agoMerge branch 'rs/logical-vs-binary-or' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:42:18 +0000 (10:42 -0700)] 
Merge branch 'rs/logical-vs-binary-or' into maint

* rs/logical-vs-binary-or:
  use logical OR (||) instead of binary OR (|) in logical context

10 years agoMerge branch 'js/test-ln-s-add' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:41:22 +0000 (10:41 -0700)] 
Merge branch 'js/test-ln-s-add' into maint

* js/test-ln-s-add:
  t4011: remove SYMLINKS prerequisite
  t6035: use test_ln_s_add to remove SYMLINKS prerequisite
  t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite
  t3100: use test_ln_s_add to remove SYMLINKS prerequisite
  t3030: use test_ln_s_add to remove SYMLINKS prerequisite
  t0000: use test_ln_s_add to remove SYMLINKS prerequisite
  tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
  tests: introduce test_ln_s_add
  t3010: modernize style
  test-chmtime: Fix exit code on Windows

10 years agoMerge branch 'jk/apache-test-for-2.4' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:41:01 +0000 (10:41 -0700)] 
Merge branch 'jk/apache-test-for-2.4' into maint

Allow our tests to run with newer Apache.

* jk/apache-test-for-2.4:
  lib-httpd/apache.conf: check version only after mod_version loads
  t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
  t/lib-httpd/apache.conf: load compat access module in apache 2.4
  t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
  t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4

10 years agoMerge branch 'tr/test-commit-only-on-orphan' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:40:57 +0000 (10:40 -0700)] 
Merge branch 'tr/test-commit-only-on-orphan' into maint

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

10 years agoMerge branch 'sb/archive-zip-double-assignment-fix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:40:53 +0000 (10:40 -0700)] 
Merge branch 'sb/archive-zip-double-assignment-fix' into maint

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

10 years agoMerge branch 'th/bisect-skip-report-range-fix' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:12 +0000 (10:39 -0700)] 
Merge branch 'th/bisect-skip-report-range-fix' into maint

The bisect log listed incorrect commits when bisection ends with
only skipped ones.

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

10 years agoMerge branch 'rs/tar-tests' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:09 +0000 (10:39 -0700)] 
Merge branch 'rs/tar-tests' into maint

* 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

10 years agoMerge branch 'rr/column-doc' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:06 +0000 (10:39 -0700)] 
Merge branch 'rr/column-doc' into maint

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

10 years agoMerge branch 'rs/discard-index-discard-array' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:39:01 +0000 (10:39 -0700)] 
Merge branch 'rs/discard-index-discard-array' into maint

* rs/discard-index-discard-array:
  read-cache: free cache in discard_index
  read-cache: add simple performance test

10 years agoMerge branch 'tr/coverage' into maint
Junio C Hamano [Fri, 19 Jul 2013 17:38:18 +0000 (10:38 -0700)] 
Merge branch 'tr/coverage' into maint

The test coverage framework was left broken 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

10 years agoDocumentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh
Stefan Beller [Fri, 19 Jul 2013 16:26:24 +0000 (18:26 +0200)] 
Documentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh

Reported-By: Ibrahim M. Ghazal <imgx64@gmail.com>
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Thu, 18 Jul 2013 19:57:38 +0000 (12:57 -0700)] 
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'jc/revert-clone-doc-update-for-push-from-shallow'
Junio C Hamano [Thu, 18 Jul 2013 19:59:59 +0000 (12:59 -0700)] 
Merge branch 'jc/revert-clone-doc-update-for-push-from-shallow'

* jc/revert-clone-doc-update-for-push-from-shallow:
  Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"

10 years agoMerge branch 'rs/mailmap-himself'
Junio C Hamano [Thu, 18 Jul 2013 19:59:58 +0000 (12:59 -0700)] 
Merge branch 'rs/mailmap-himself'

* rs/mailmap-himself:
  .mailmap: René Scharfe has a new email address

10 years agoMerge branch 'sb/mailmap-updates'
Junio C Hamano [Thu, 18 Jul 2013 19:59:56 +0000 (12:59 -0700)] 
Merge branch 'sb/mailmap-updates'

* sb/mailmap-updates:
  .mailmap: combine more (email, name) to individual persons
  .mailmap: Combine more (email, name) to individual persons
  .mailmap: Map email addresses to names

10 years agoMerge branch 'jk/in-pack-size-measurement'
Junio C Hamano [Thu, 18 Jul 2013 19:59:41 +0000 (12:59 -0700)] 
Merge branch 'jk/in-pack-size-measurement'

"git cat-file --batch-check=<format>" is added, primarily to allow
on-disk footprint of objects in packfiles (often they are a lot
smaller than their true size, when expressed as deltas) to be
reported.

* jk/in-pack-size-measurement:
  pack-revindex: radix-sort the revindex
  pack-revindex: use unsigned to store number of objects
  cat-file: split --batch input lines on whitespace
  cat-file: add %(objectsize:disk) format atom
  cat-file: add --batch-check=<format>
  cat-file: refactor --batch option parsing
  cat-file: teach --batch to stream blob objects
  t1006: modernize output comparisons
  teach sha1_object_info_extended a "disk_size" query
  zero-initialize object_info structs

10 years agoMerge branch 'bp/mediawiki-preview'
Junio C Hamano [Thu, 18 Jul 2013 19:59:34 +0000 (12:59 -0700)] 
Merge branch 'bp/mediawiki-preview'

Add a command to allow previewing the contents locally before
pushing it out, when working with a MediaWiki remote.

I personally do not think this belongs to Git.  If you are working
on a set of AsciiDoc source files, you sure do want to locally
format to preview what you will be pushing out, and if you are
working on a set of C or Java source files, you do want to test it
before pushing it out, too.  That kind of thing belongs to your
build script, not to your SCM.

But I'll let it pass, as this is only a contrib/ thing.

* bp/mediawiki-preview:
  git-remote-mediawiki: add preview subcommand into git mw
  git-remote-mediawiki: add git-mw command
  git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
  git-remote-mediawiki: update tests to run with the new bin-wrapper
  git-remote-mediawiki: add a git bin-wrapper for developement
  wrap-for-bin: make bin-wrappers chainable
  git-remote-mediawiki: introduction of Git::Mediawiki.pm

10 years agoMerge branch 'bc/commit-invalid-utf8'
Junio C Hamano [Thu, 18 Jul 2013 19:58:19 +0000 (12:58 -0700)] 
Merge branch 'bc/commit-invalid-utf8'

Logic to auto-detect character encodings in the commit log message
did not reject overlong and invalid UTF-8 characters.

* bc/commit-invalid-utf8:
  commit: reject non-characters
  commit: reject overlong UTF-8 sequences
  commit: reject invalid UTF-8 codepoints

10 years agoMerge branch 'es/overlapping-range-set'
Junio C Hamano [Thu, 18 Jul 2013 19:58:17 +0000 (12:58 -0700)] 
Merge branch 'es/overlapping-range-set'

* es/overlapping-range-set:
  range_set: fix coalescing bug when range is a subset of another
  t4211: fix broken test when one -L range is subset of another

10 years agoMerge branch 'jk/maint-clone-shared-no-connectivity-validation'
Junio C Hamano [Thu, 18 Jul 2013 19:48:28 +0000 (12:48 -0700)] 
Merge branch 'jk/maint-clone-shared-no-connectivity-validation'

"git clone -s/-l" is a filesystem level copy and does not offer any
protection against source repository being corrupt.  While the
connectivity validation checks commits and trees being readable, it
made the otherwise instantaneous local modes of clone much more
expensive, without protecting blob data from bitflips.

* jk/maint-clone-shared-no-connectivity-validation:
  clone: drop connectivity check for local clones

10 years agoMerge branch 'bc/push-match-many-refs'
Junio C Hamano [Thu, 18 Jul 2013 19:48:25 +0000 (12:48 -0700)] 
Merge branch 'bc/push-match-many-refs'

Pushing to repositories with many refs employed O(m*n) algorithm
where n is the number of refs on the receiving end.

* bc/push-match-many-refs:
  remote.c: avoid O(m*n) behavior in match_push_refs

10 years agoMerge branch 'rr/rebase-reflog-message-reword'
Junio C Hamano [Thu, 18 Jul 2013 19:48:20 +0000 (12:48 -0700)] 
Merge branch 'rr/rebase-reflog-message-reword'

"git rebase [-i]" used to leave just "rebase" as its reflog message
for some operations. This rewords them to be more informative.

* rr/rebase-reflog-message-reword:
  rebase -i: use a better reflog message
  rebase: use a better reflog message

10 years ago.mailmap: combine more (email, name) to individual persons
Stefan Beller [Wed, 17 Jul 2013 20:16:31 +0000 (22:16 +0200)] 
.mailmap: combine more (email, name) to individual persons

I got more responses from people regarding the .mailmap file.
All added persons gave permission to add them to the .mailmap file.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years ago.mailmap: René Scharfe has a new email address
René Scharfe [Wed, 17 Jul 2013 19:54:25 +0000 (21:54 +0200)] 
.mailmap: René Scharfe has a new email address

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agogit-log.txt: fix typesetting of example "git-log -L" invocation
Eric Sunshine [Tue, 16 Jul 2013 00:10:36 +0000 (20:10 -0400)] 
git-log.txt: fix typesetting of example "git-log -L" invocation

All surrounding examples are typeset as monospaced text. Follow suit.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Mon, 15 Jul 2013 17:33:21 +0000 (10:33 -0700)] 
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoSync with 1.8.3.3
Junio C Hamano [Mon, 15 Jul 2013 17:45:02 +0000 (10:45 -0700)] 
Sync with 1.8.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoGit 1.8.3.3 v1.8.3.3
Junio C Hamano [Mon, 15 Jul 2013 17:39:43 +0000 (10:39 -0700)] 
Git 1.8.3.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'tr/maint-apply-non-git-patch-parsefix' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:36:14 +0000 (10:36 -0700)] 
Merge branch 'tr/maint-apply-non-git-patch-parsefix' into maint

"git apply" parsed patches that add new files, generated by programs
other than Git, incorrectly.  This is an old breakage in v1.7.11.

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

10 years agoMerge branch 'bc/http-keep-memory-given-to-curl' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:36:01 +0000 (10:36 -0700)] 
Merge branch 'bc/http-keep-memory-given-to-curl' into maint

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

10 years agoMerge branch 'jk/pull-into-dirty-unborn' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:35:43 +0000 (10:35 -0700)] 
Merge branch 'jk/pull-into-dirty-unborn' into maint

"git pull" into nothing trashed "local changes" that were in the
index.

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

10 years agoMerge branch 'fg/submodule-non-ascii-path' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:35:17 +0000 (10:35 -0700)] 
Merge branch 'fg/submodule-non-ascii-path' into maint

Many "git submodule" operations did 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

10 years agoMerge branch 'fc/sequencer-plug-leak' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:35:04 +0000 (10:35 -0700)] 
Merge branch 'fc/sequencer-plug-leak' into maint

"cherry-pick" had a small leak in its error codepath.

* fc/sequencer-plug-leak:
  sequencer: avoid leaking message buffer when refusing to create an empty commit
  sequencer: remove useless indentation

10 years agoMerge branch 'mt/send-email-cc-match-fix' into maint
Junio C Hamano [Mon, 15 Jul 2013 17:34:36 +0000 (10:34 -0700)] 
Merge branch 'mt/send-email-cc-match-fix' into maint

Logic used by git-send-email to suppress cc mishandled names like "A
U. Thor" <author@example.xz>, where the human readable part needs to
be quoted (the user input may not have the double quotes around the
name, and comparison was done between quoted and unquoted strings).
It also 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
  test-send-email: test for pre-sanitized self name
  t/send-email: test suppress-cc=self with non-ascii
  t/send-email: add test with quoted sender
  send-email: make --suppress-cc=self sanitize input
  t/send-email: test suppress-cc=self on cccmd
  send-email: fix suppress-cc=self on cccmd
  t/send-email.sh: add test for suppress-cc=self

10 years agoMerge branch 'bc/send-email-use-port-as-separate-param'
Junio C Hamano [Mon, 15 Jul 2013 17:28:50 +0000 (10:28 -0700)] 
Merge branch 'bc/send-email-use-port-as-separate-param'

Pass port number as a separate argument when send-email initializes
Net::SMTP, instead of as a part of the hostname, i.e. host:port.
This allows GSSAPI codepath to match with the hostname given.

* bc/send-email-use-port-as-separate-param:
  send-email: provide port separately from hostname

10 years agoMerge branch 'fg/submodule-clone-depth'
Junio C Hamano [Mon, 15 Jul 2013 17:28:48 +0000 (10:28 -0700)] 
Merge branch 'fg/submodule-clone-depth'

Allow shallow-cloning of submodules with "git submodule update".

* fg/submodule-clone-depth:
  Add --depth to submodule update/add

10 years agoMerge branch 'cp/submodule-custom-update'
Junio C Hamano [Mon, 15 Jul 2013 17:28:44 +0000 (10:28 -0700)] 
Merge branch 'cp/submodule-custom-update'

In addition to the choice from "rebase, merge, or checkout-detach",
allow a custom command to be used in "submodule update" to update
the working tree of submodules.

* cp/submodule-custom-update:
  submodule update: allow custom command to update submodule working tree

10 years agoMerge branch 'jk/format-patch-from'
Junio C Hamano [Mon, 15 Jul 2013 17:28:39 +0000 (10:28 -0700)] 
Merge branch 'jk/format-patch-from'

"git format-patch" learned "--from[=whom]" option, which sets the
"From: " header to the specified person (or the person who runs the
command, if "=whom" part is missing) and move the original author
information to an in-body From: header as necessary.

* jk/format-patch-from:
  teach format-patch to place other authors into in-body "From"
  pretty.c: drop const-ness from pretty_print_context

10 years agoMerge branch 'mv/merge-ff-tristate'
Junio C Hamano [Mon, 15 Jul 2013 17:28:34 +0000 (10:28 -0700)] 
Merge branch 'mv/merge-ff-tristate'

The configuration variable "merge.ff" was cleary a tri-state to
choose one from "favor fast-forward when possible", "always create
a merge even when the history could fast-forward" and "do not
create any merge, only update when the history fast-forwards", but
the command line parser did not implement the usual convention of
"last one wins, and command line overrides the configuration"
correctly.

* mv/merge-ff-tristate:
  merge: handle --ff/--no-ff/--ff-only as a tri-state option

10 years agoMerge branch 'jk/fetch-pack-many-refs'
Junio C Hamano [Mon, 15 Jul 2013 17:28:31 +0000 (10:28 -0700)] 
Merge branch 'jk/fetch-pack-many-refs'

Fetching between repositories with many refs employed O(n^2)
algorithm to match up the common objects, which has been corrected.

* jk/fetch-pack-many-refs:
  fetch-pack: avoid quadratic behavior in rev_list_push
  commit.c: make compare_commits_by_commit_date global
  fetch-pack: avoid quadratic list insertion in mark_complete

10 years agoRevert "git-clone.txt: remove the restriction on pushing from a shallow clone"
Junio C Hamano [Mon, 15 Jul 2013 15:31:52 +0000 (08:31 -0700)] 
Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"

This reverts commit dacd2bcc414e0b7aac36aaa400da0a743c4741cc.

"It fails reliably without corrupting the receiving repository when
it should fail" may be better than the situation before the receiving
end was hardened recently, but the fact that sometimes the push does
not go through still remains.  It is better to advice the users that
they cannot push from a shallow repository as a limitation before
they decide to use (or not to use) a shallow clone.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years ago.mailmap: Combine more (email, name) to individual persons
Stefan Beller [Sun, 14 Jul 2013 10:14:59 +0000 (12:14 +0200)] 
.mailmap: Combine more (email, name) to individual persons

I got more responses from people regarding the .mailmap file.
All added persons gave permission to add them to the .mailmap file.

It's mostly email mappings again. However we also have Nick Stokoe,
who contributed as Nick Woolley. He changed his name, but kept the email.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years ago.mailmap: Map email addresses to names
Stefan Beller [Fri, 12 Jul 2013 19:21:21 +0000 (21:21 +0200)] 
.mailmap: Map email addresses to names

People change email addresses quite often and sometimes forget to
add their entry to the mailmap file.  I have contacted lots of
people, whose name occurs multiple times in the short log having
different email addresses. The entries in the mailmap of this patch
are either confirmed by them or are trivial.  Trivial means
different capitalisation of the domain (@MIT.EDU and @mit.edu) or
the domain was localhost, (none) or @local.

Additionally to adding (name, email) mappings to the .mailmap file,
it has also been sorted ("LC_ALL=C /usr/bin/sort", byte-value sort).

While the most changes happen at the email addresses, we also have a
name change in here. Karl Hasselström is now known as Karl Wiberg
due to marriage. Congratulations!

To find out whom to contact I used the following small
script:

    #!/bin/bash
    git shortlog -sne |awk '{ NF--; $1=""; print }' |sort |uniq -d > mailmapdoubles
    while read line ; do
        # remove leading whitespace
        trimmed=$(echo $line | sed -e 's/^ *//g' -e 's/ *$//g')
        echo "git shortlog -sne | grep \""$trimmed"\""
    done < mailmapdoubles > mailmapdoubles2
    sh mailmapdoubles2
    rm mailmapdoubles
    rm mailmapdoubles2

Also interesting for similar tasks are these snippets:

    # Finding out duplicates by comparing email addresses:
    git shortlog -sne |awk '{ print $NF }' |sort |uniq -d

    # Finding out duplicates by comparing names:
    git shortlog -sne |awk '{ NF--; $1=""; print }' |sort |uniq -d

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoUpdate draft release notes for 1.8.4
Junio C Hamano [Fri, 12 Jul 2013 17:49:34 +0000 (10:49 -0700)] 
Update draft release notes for 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'jc/remote-http-argv-array'
Junio C Hamano [Fri, 12 Jul 2013 19:04:19 +0000 (12:04 -0700)] 
Merge branch 'jc/remote-http-argv-array'

* jc/remote-http-argv-array:
  remote-http: use argv-array

10 years agoMerge branch 'rs/pickaxe-simplify'
Junio C Hamano [Fri, 12 Jul 2013 19:04:17 +0000 (12:04 -0700)] 
Merge branch 'rs/pickaxe-simplify'

* rs/pickaxe-simplify:
  diffcore-pickaxe: simplify has_changes and contains

10 years agoMerge branch 'tr/test-lint-no-export-assignment-in-shell'
Junio C Hamano [Fri, 12 Jul 2013 19:04:16 +0000 (12:04 -0700)] 
Merge branch 'tr/test-lint-no-export-assignment-in-shell'

* tr/test-lint-no-export-assignment-in-shell:
  test-lint: detect 'export FOO=bar'
  t9902: fix 'test A == B' to use = operator

10 years agoMerge branch 'rr/name-rev-stdin-doc'
Junio C Hamano [Fri, 12 Jul 2013 19:04:14 +0000 (12:04 -0700)] 
Merge branch 'rr/name-rev-stdin-doc'

* rr/name-rev-stdin-doc:
  name-rev doc: rewrite --stdin paragraph

10 years agoMerge branch 'ft/diff-rename-default-score-is-half'
Junio C Hamano [Fri, 12 Jul 2013 19:04:12 +0000 (12:04 -0700)] 
Merge branch 'ft/diff-rename-default-score-is-half'

* ft/diff-rename-default-score-is-half:
  diff-options: document default similarity index

10 years agoMerge branch 'ml/cygwin-does-not-have-fifo'
Junio C Hamano [Fri, 12 Jul 2013 19:04:10 +0000 (12:04 -0700)] 
Merge branch 'ml/cygwin-does-not-have-fifo'

* ml/cygwin-does-not-have-fifo:
  test-lib.sh - cygwin does not have usable FIFOs

10 years agoMerge branch 'tf/gitweb-extra-breadcrumbs'
Junio C Hamano [Fri, 12 Jul 2013 19:04:09 +0000 (12:04 -0700)] 
Merge branch 'tf/gitweb-extra-breadcrumbs'

An Gitweb installation that is a part of larger site can optionally
show extra links that point at the levels higher than the Gitweb
pages itself in the link hierarchy of pages.

* tf/gitweb-extra-breadcrumbs:
  gitweb: allow extra breadcrumbs to prefix the trail

10 years agoMerge branch 'ms/remote-tracking-branches-in-doc'
Junio C Hamano [Fri, 12 Jul 2013 19:04:07 +0000 (12:04 -0700)] 
Merge branch 'ms/remote-tracking-branches-in-doc'

* ms/remote-tracking-branches-in-doc:
  Change "remote tracking" to "remote-tracking"

10 years agoMerge branch 'jk/pull-to-integrate'
Junio C Hamano [Fri, 12 Jul 2013 19:04:06 +0000 (12:04 -0700)] 
Merge branch 'jk/pull-to-integrate'

* jk/pull-to-integrate:
  pull: change the description to "integrate" changes
  push: avoid suggesting "merging" remote changes

10 years agoMerge branch 'jk/maint-config-multi-order'
Junio C Hamano [Fri, 12 Jul 2013 19:04:04 +0000 (12:04 -0700)] 
Merge branch 'jk/maint-config-multi-order'

* jk/maint-config-multi-order:
  git-config(1): clarify precedence of multiple values

10 years agoMerge branch 'as/log-output-encoding-in-user-format'
Junio C Hamano [Fri, 12 Jul 2013 19:04:01 +0000 (12:04 -0700)] 
Merge branch 'as/log-output-encoding-in-user-format'

"log --format=" did not honor i18n.logoutputencoding configuration
and this attempts to fix it.

* as/log-output-encoding-in-user-format:
  t4205 (log-pretty-formats): avoid using `sed`
  t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set
  t4205, t6006, t7102: make functions better readable
  t4205 (log-pretty-formats): revert back single quotes
  t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
  t4205: replace .\+ with ..* in sed commands
  pretty: --format output should honor logOutputEncoding
  pretty: Add failing tests: --format output should honor logOutputEncoding
  t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
  t7102 (reset): don't hardcode SHA-1 in expected outputs
  t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs

10 years agogit-clone.txt: remove the restriction on pushing from a shallow clone
Nguyễn Thái Ngọc Duy [Fri, 12 Jul 2013 05:37:42 +0000 (12:37 +0700)] 
git-clone.txt: remove the restriction on pushing from a shallow clone

The document says one cannot push from a shallow clone. But that is
not true (maybe it was at some point in the past). The client does not
stop such a push nor does it give any indication to the receiver that
this is a shallow push. If the receiver accepts it, it's in.

Since 52fed6e (receive-pack: check connectivity before concluding "git
push" - 2011-09-02), receive-pack is prepared to deal with broken
push, a shallow push can't cause any corruption. Update the document
to reflect that.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agorun-command: dup_devnull(): guard against syscalls failing
Thomas Rast [Fri, 12 Jul 2013 08:58:36 +0000 (10:58 +0200)] 
run-command: dup_devnull(): guard against syscalls failing

dup_devnull() did not check the return values of open() and dup2().
Fix this omission.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agogit_mkstemps: correctly test return value of open()
Dale R. Worley [Fri, 12 Jul 2013 08:58:35 +0000 (10:58 +0200)] 
git_mkstemps: correctly test return value of open()

open() returns -1 on failure, and indeed 0 is a possible success value
if the user closed stdin in our process.  Fix the test.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agopack-revindex: radix-sort the revindex
Jeff King [Thu, 11 Jul 2013 12:16:00 +0000 (08:16 -0400)] 
pack-revindex: radix-sort the revindex

The pack revindex stores the offsets of the objects in the
pack in sorted order, allowing us to easily find the on-disk
size of each object. To compute it, we populate an array
with the offsets from the sha1-sorted idx file, and then use
qsort to order it by offsets.

That does O(n log n) offset comparisons, and profiling shows
that we spend most of our time in cmp_offset. However, since
we are sorting on a simple off_t, we can use numeric sorts
that perform better. A radix sort can run in O(k*n), where k
is the number of "digits" in our number. For a 64-bit off_t,
using 16-bit "digits" gives us k=4.

On the linux.git repo, with about 3M objects to sort, this
yields a 400% speedup. Here are the best-of-five numbers for
running

  echo HEAD | git cat-file --batch-check="%(objectsize:disk)

on a fully packed repository, which is dominated by time
spent building the pack revindex:

          before     after
  real    0m0.834s   0m0.204s
  user    0m0.788s   0m0.164s
  sys     0m0.040s   0m0.036s

This matches our algorithmic expectations. log(3M) is ~21.5,
so a traditional sort is ~21.5n. Our radix sort runs in k*n,
where k is the number of radix digits. In the worst case,
this is k=4 for a 64-bit off_t, but we can quit early when
the largest value to be sorted is smaller. For any
repository under 4G, k=2. Our algorithm makes two passes
over the list per radix digit, so we end up with 4n. That
should yield ~5.3x speedup. We see 4x here; the difference
is probably due to the extra bucket book-keeping the radix
sort has to do.

On a smaller repo, the difference is less impressive, as
log(n) is smaller. For git.git, with 173K objects (but still
k=2), we see a 2.7x improvement:

          before     after
  real    0m0.046s   0m0.017s
  user    0m0.036s   0m0.012s
  sys     0m0.008s   0m0.000s

On even tinier repos (e.g., a few hundred objects), the
speedup goes away entirely, as the small advantage of the
radix sort gets erased by the book-keeping costs (and at
those sizes, the cost to generate the the rev-index gets
lost in the noise anyway).

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agopack-revindex: use unsigned to store number of objects
Jeff King [Wed, 10 Jul 2013 11:50:26 +0000 (07:50 -0400)] 
pack-revindex: use unsigned to store number of objects

A packfile may have up to 2^32-1 objects in it, so the
"right" data type to use is uint32_t. We currently use a
signed int, which means that we may behave incorrectly for
packfiles with more than 2^31-1 objects on 32-bit systems.

Nobody has noticed because having 2^31 objects is pretty
insane. The linux.git repo has on the order of 2^22 objects,
which is hundreds of times smaller than necessary to trigger
the bug.

Let's bump this up to an "unsigned". On 32-bit systems, this
gives us the correct data-type, and on 64-bit systems, it is
probably more efficient to use the native "unsigned" than a
true uint32_t.

While we're at it, we can fix the binary search not to
overflow in such a case if our unsigned is 32 bits.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agocat-file: split --batch input lines on whitespace
Jeff King [Thu, 11 Jul 2013 20:45:59 +0000 (16:45 -0400)] 
cat-file: split --batch input lines on whitespace

If we get an input line to --batch or --batch-check that
looks like "HEAD foo bar", we will currently feed the whole
thing to get_sha1(). This means that to use --batch-check
with `rev-list --objects`, one must pre-process the input,
like:

  git rev-list --objects HEAD |
  cut -d' ' -f1 |
  git cat-file --batch-check

Besides being more typing and slightly less efficient to
invoke `cut`, the result loses information: we no longer
know which path each object was found at.

This patch teaches cat-file to split input lines at the
first whitespace. Everything to the left of the whitespace
is considered an object name, and everything to the right is
made available as the %(reset) atom. So you can now do:

  git rev-list --objects HEAD |
  git cat-file --batch-check='%(objectsize) %(rest)'

to collect object sizes at particular paths.

Even if %(rest) is not used, we always do the whitespace
split (which means you can simply eliminate the `cut`
command from the first example above).

This whitespace split is backwards compatible for any
reasonable input. Object names cannot contain spaces, so any
input with spaces would have resulted in a "missing" line.
The only input hurt is if somebody really expected input of
the form "HEAD is a fine-looking ref!" to fail; it will now
parse HEAD, and make "is a fine-looking ref!" available as
%(rest).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agocat-file: add %(objectsize:disk) format atom
Jeff King [Wed, 10 Jul 2013 11:46:25 +0000 (07:46 -0400)] 
cat-file: add %(objectsize:disk) format atom

This atom is just like %(objectsize), except that it shows
the on-disk size of the object rather than the object's true
size. In other words, it makes the "disk_size" query of
sha1_object_info_extended available via the command-line.

This can be used for rough attribution of disk usage to
particular refs, though see the caveats in the
documentation.

This patch does not include any tests, as the exact numbers
returned are volatile and subject to zlib and packing
decisions. We cannot even reliably guarantee that the
on-disk size is smaller than the object content (though in
general this should be the case for non-trivial objects).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agocat-file: add --batch-check=<format>
Jeff King [Wed, 10 Jul 2013 11:45:47 +0000 (07:45 -0400)] 
cat-file: add --batch-check=<format>

The `cat-file --batch-check` command can be used to quickly
get information about a large number of objects. However, it
provides a fixed set of information.

This patch adds an optional <format> option to --batch-check
to allow a caller to specify which items they are interested
in, and in which order to output them. This is not very
exciting for now, since we provide the same limited set that
you could already get. However, it opens the door to adding
new format items in the future without breaking backwards
compatibility (or forcing callers to pay the cost to
calculate uninteresting items).

Since the --batch option shares code with --batch-check, it
receives the same feature, though it is less likely to be of
interest there.

The format atom names are chosen to match their counterparts
in for-each-ref. Though we do not (yet) share any code with
for-each-ref's formatter, this keeps the interface as
consistent as possible, and may help later on if the
implementations are unified.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Thu, 11 Jul 2013 20:25:18 +0000 (13:25 -0700)] 
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agoMerge branch 'jc/t1512-fix'
Junio C Hamano [Thu, 11 Jul 2013 20:06:11 +0000 (13:06 -0700)] 
Merge branch 'jc/t1512-fix'

A test that should have failed but didn't revealed a bug that needs
to be corrected.

* jc/t1512-fix:
  get_short_sha1(): correctly disambiguate type-limited abbreviation
  t1512: correct leftover constants from earlier edition

10 years agoMerge branch 'tr/test-v-and-v-subtest-only'
Junio C Hamano [Thu, 11 Jul 2013 20:06:02 +0000 (13:06 -0700)] 
Merge branch 'tr/test-v-and-v-subtest-only'

Finishing touches to a topic that is already in master for the
upcoming release.

* tr/test-v-and-v-subtest-only:
  t0000: do not use export X=Y

10 years agoMerge branch 'af/rebase-i-merge-options'
Junio C Hamano [Thu, 11 Jul 2013 20:05:58 +0000 (13:05 -0700)] 
Merge branch 'af/rebase-i-merge-options'

"git rebase -i" now honors --strategy and -X options.

* af/rebase-i-merge-options:
  Do not ignore merge options in interactive rebase

10 years agoMerge branch 'pb/stash-refuse-to-kill'
Junio C Hamano [Thu, 11 Jul 2013 20:05:52 +0000 (13:05 -0700)] 
Merge branch 'pb/stash-refuse-to-kill'

"git stash save" is not just about "saving" the local changes, but
also is to restore the working tree state to that of HEAD. If you
changed a non-directory into a directory in the local change, you
may have untracked files in that directory, which have to be killed
while doing so, unless you run it with --include-untracked.  Teach
the command to detect and error out before spreading the damage.

This needed a small fix to "ls-files --killed".

* pb/stash-refuse-to-kill:
  git stash: avoid data loss when "git stash save" kills a directory
  treat_directory(): do not declare submodules to be untracked

10 years agoMerge branch 'jc/maint-diff-core-safecrlf'
Junio C Hamano [Thu, 11 Jul 2013 20:05:45 +0000 (13:05 -0700)] 
Merge branch 'jc/maint-diff-core-safecrlf'

"git diff" refused to even show difference when core.safecrlf is
set to true (i.e. error out) and there are offending lines in the
working tree files.

* jc/maint-diff-core-safecrlf:
  diff: demote core.safecrlf=true to core.safecrlf=warn

10 years agoMerge branch 'jg/status-config'
Junio C Hamano [Thu, 11 Jul 2013 20:05:34 +0000 (13:05 -0700)] 
Merge branch 'jg/status-config'

"git status" learned status.branch and status.short configuration
variables to use --branch and --short options by default (override
with --no-branch and --no-short options from the command line).

* jg/status-config:
  status/commit: make sure --porcelain is not affected by user-facing config
  commit: make it work with status.short
  status: introduce status.branch to enable --branch by default
  status: introduce status.short to enable --short by default