git/git.git
7 years agoMerge branch 'tr/do-not-call-submodules-subprojects'
Junio C Hamano [Mon, 22 Jul 2013 18:23:30 +0000 (11:23 -0700)]
Merge branch 'tr/do-not-call-submodules-subprojects'

* tr/do-not-call-submodules-subprojects:
  show-branch: fix description of --date-order
  apply, entry: speak of submodules instead of subprojects

7 years agoMerge branch 'mm/diff-no-patch-synonym-to-s'
Junio C Hamano [Mon, 22 Jul 2013 18:23:27 +0000 (11:23 -0700)]
Merge branch 'mm/diff-no-patch-synonym-to-s'

"git show -s" was less discoverable than it should be.

* mm/diff-no-patch-synonym-to-s:
  Documentation/git-log.txt: capitalize section names
  Documentation: move description of -s, --no-patch to diff-options.txt
  Documentation/git-show.txt: include common diff options, like git-log.txt
  diff: allow --patch & cie to override -s/--no-patch
  diff: allow --no-patch as synonym for -s
  t4000-diff-format.sh: modernize style

7 years agoMerge branch 'dw/request-pull-diag'
Junio C Hamano [Mon, 22 Jul 2013 18:23:24 +0000 (11:23 -0700)]
Merge branch 'dw/request-pull-diag'

* dw/request-pull-diag:
  request-pull: improve error message for invalid revision args

7 years agoMerge branch 'jc/mailmap-case-insensitivity'
Junio C Hamano [Mon, 22 Jul 2013 18:23:16 +0000 (11:23 -0700)]
Merge branch 'jc/mailmap-case-insensitivity'

The mailmap mechanism unnecessarily downcased the e-mail addresses
in the output, and also ignored the human name when it is a single
character name.

This now has become Eric Sunshine's series, even though it still is
under jc/ hierarchy.

* jc/mailmap-case-insensitivity:
  mailmap: style fixes
  mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
  mailmap: debug: eliminate -Wformat field precision type warning
  mailmap: debug: fix malformed fprintf() format conversion specification
  mailmap: debug: fix out-of-order fprintf() arguments
  mailmap: do not downcase mailmap entries
  t4203: demonstrate loss of uppercase characters in canonical email
  mailmap: do not lose single-letter names
  t4203: demonstrate loss of single-character name in mailmap entry

7 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()

7 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

7 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

7 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

7 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>
7 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

7 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

7 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

7 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

7 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>"

7 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

7 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/*"

7 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

7 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

7 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

7 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>
7 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>
7 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>
7 years agoSync with maint
Junio C Hamano [Fri, 19 Jul 2013 18:15:48 +0000 (11:15 -0700)]
Sync with maint

7 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.

7 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>
7 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>
7 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

7 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

7 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

7 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

7 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')

7 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

7 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

7 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

7 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

7 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

7 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

7 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'

7 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.

7 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

7 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

7 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

7 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

7 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

7 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>
7 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>
7 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"

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 years agoshow-branch: fix description of --date-order
Thomas Rast [Thu, 18 Jul 2013 12:26:56 +0000 (14:26 +0200)]
show-branch: fix description of --date-order

The existing description reads as if it somehow applies a filter.
Change it to explain that it is merely about the ordering.

Message-proposed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoapply, entry: speak of submodules instead of subprojects
Thomas Rast [Thu, 18 Jul 2013 12:26:55 +0000 (14:26 +0200)]
apply, entry: speak of submodules instead of subprojects

There are only four (with some generous rounding) instances in the
current source code where we speak of "subproject" instead of
"submodule".  They are as follows:

* one error message in git-apply and two in entry.c

* the patch format for submodule changes

The latter was introduced in 0478675 (Expose subprojects as special
files to "git diff" machinery, 2007-04-15), apparently before the
terminology was settled.  We can of course not change the patch
format.

Let's at least change the error messages to consistently call them
"submodule".

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 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>
7 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>
7 years agoDocumentation/git-log.txt: capitalize section names
Matthieu Moy [Tue, 16 Jul 2013 08:05:40 +0000 (10:05 +0200)]
Documentation/git-log.txt: capitalize section names

This is the convention in most other files and even at the beginning of
git-log.txt

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoDocumentation: move description of -s, --no-patch to diff-options.txt
Matthieu Moy [Tue, 16 Jul 2013 08:05:39 +0000 (10:05 +0200)]
Documentation: move description of -s, --no-patch to diff-options.txt

Technically, "-s, --no-patch" is implemented in diff.c ("git diff
--no-patch" is essentially useless, but valid). From the user point of
view, this allows the documentation to show up in "git show --help",
which is one of the most useful use of the option.

While we're there, add a sentence explaining why the option can be
useful.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoDocumentation/git-show.txt: include common diff options, like git-log.txt
Matthieu Moy [Tue, 16 Jul 2013 08:05:38 +0000 (10:05 +0200)]
Documentation/git-show.txt: include common diff options, like git-log.txt

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodiff: allow --patch & cie to override -s/--no-patch
Matthieu Moy [Tue, 16 Jul 2013 08:05:37 +0000 (10:05 +0200)]
diff: allow --patch & cie to override -s/--no-patch

All options that trigger a patch output now override --no-patch.

The case of --binary deserves extra attention: the name may suggest that
it turns a normal patch into a binary patch, but it actually already
enables patch output when normally disabled (e.g. "git log --binary"
displays a patch), hence it makes sense for "git show --no-patch
--binary" to display the binary patch.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodiff: allow --no-patch as synonym for -s
Matthieu Moy [Tue, 16 Jul 2013 08:05:36 +0000 (10:05 +0200)]
diff: allow --no-patch as synonym for -s

This follows the usual convention of having a --no-foo option to negate
--foo.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot4000-diff-format.sh: modernize style
Matthieu Moy [Tue, 16 Jul 2013 08:05:35 +0000 (10:05 +0200)]
t4000-diff-format.sh: modernize style

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 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>
7 years agorequest-pull: improve error message for invalid revision args
Dirk Wallenstein [Wed, 17 Jul 2013 17:28:11 +0000 (19:28 +0200)]
request-pull: improve error message for invalid revision args

Currently, when an invalid revision is specified, the error message is:

    fatal: Needed a single revision

This is misleading because, you might think there is something wrong
with the command line as a whole.

Now the user gets a more meaningful error message, showing the invalid
revision.

Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 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>
7 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>
7 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>
7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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>
7 years agomailmap: style fixes
Junio C Hamano [Mon, 15 Jul 2013 06:54:13 +0000 (02:54 -0400)]
mailmap: style fixes

Wrap overlong lines and format the multi-line comments to match our
coding style.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agomailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
Eric Sunshine [Mon, 15 Jul 2013 06:54:12 +0000 (02:54 -0400)]
mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification

POSIX does not state the behavior of '%s' conversion when passed a
NULL pointer. Some implementations interpolate literal "(null)";
others may crash.

Callers of debug_mm() often pass NULL as indication of either a
missing name or email address.  Instead, let's always supply a
proper string pointer, and make it a bit more descriptive: "(none)"

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agomailmap: debug: eliminate -Wformat field precision type warning
Eric Sunshine [Mon, 15 Jul 2013 06:54:11 +0000 (02:54 -0400)]
mailmap: debug: eliminate -Wformat field precision type warning

The compiler complains that '*' in fprintf() format "%.*s" should
have type int, but we pass size_t. Fix this.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agomailmap: debug: fix malformed fprintf() format conversion specification
Eric Sunshine [Mon, 15 Jul 2013 06:54:10 +0000 (02:54 -0400)]
mailmap: debug: fix malformed fprintf() format conversion specification

Resolve segmentation fault due to size_t variable being consumed by
'%s'.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agomailmap: debug: fix out-of-order fprintf() arguments
Eric Sunshine [Mon, 15 Jul 2013 06:54:09 +0000 (02:54 -0400)]
mailmap: debug: fix out-of-order fprintf() arguments

Resolve segmentation fault due to arguments passed in wrong order.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agomailmap: do not downcase mailmap entries
Junio C Hamano [Mon, 15 Jul 2013 06:54:08 +0000 (02:54 -0400)]
mailmap: do not downcase mailmap entries

The email addresses in the records read from the .mailmap file are
downcased very early, and then used to match against e-mail
addresses in the input.  Because we do use case insensitive version
of string list to manage these entries, there is no need to do this,
and worse yet, downcasing the rewritten/canonical e-mail read from
the .mailmap file loses information.

Stop doing that, and also make the string list used to keep multiple
names for an mailmap entry case insensitive (the code that uses the
list, lookup_prefix(), expects a case insensitive match).

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot4203: demonstrate loss of uppercase characters in canonical email
Eric Sunshine [Mon, 15 Jul 2013 06:54:07 +0000 (02:54 -0400)]
t4203: demonstrate loss of uppercase characters in canonical email

The email addresses read from .mailmap are downcased before being
inserted into the mailmap data structure, which undesirably loses
information.  It is impossible, for instance, to map <first.last@host>
to <First.Last@host>. Demonstrate this problem.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agomailmap: do not lose single-letter names
Junio C Hamano [Mon, 15 Jul 2013 06:54:06 +0000 (02:54 -0400)]
mailmap: do not lose single-letter names

In parse_name_and_email() function, there is this line:

*name = (nstart < nend ? nstart : NULL);

When the function is given a buffer "A <A@example.org> <old@x.z>",
nstart scans from the beginning of the buffer, skipping whitespaces
(there isn't any, so nstart points at the buffer), while nend starts
from one byte before the first '<' and skips whitespaces backwards
and stops at the first non-whitespace (i.e. it hits "A" at the
beginning of the buffer).  nstart == nend in this case for a
single-letter name, and an off-by-one error makes it fail to pick up
the name, which makes the entry equivalent to

<A@example.org> <old@x.z>

without the name.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot4203: demonstrate loss of single-character name in mailmap entry
Eric Sunshine [Mon, 15 Jul 2013 06:54:05 +0000 (02:54 -0400)]
t4203: demonstrate loss of single-character name in mailmap entry

A bug in mailmap.c:parse_name_and_email() causes it to overlook the
single-character name in "A <user@host>" and parse it only as
"<user@host>". Demonstrate this problem.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 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>
7 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>
7 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>
7 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

7 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

7 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

7 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