git.git
12 years agoremote.c: add command line option parser for "--force-with-lease"
Junio C Hamano [Mon, 8 Jul 2013 22:34:36 +0000 (15:34 -0700)]
remote.c: add command line option parser for "--force-with-lease"

Update "git push" and "git send-pack" to parse this commnd line
option.

The intended sematics is:

 * "--force-with-lease" alone, without specifying the details, will
   protect _all_ remote refs that are going to be updated by
   requiring their current value to be the same as some reasonable
   default, unless otherwise specified;

 * "--force-with-lease=refname", without specifying the expected
   value, will protect that refname, if it is going to be updated,
   by requiring its current value to be the same as some reasonable
   default.

 * "--force-with-lease=refname:value" will protect that refname, if
   it is going to be updated, by requiring its current value to be
   the same as the specified value; and

 * "--no-force-with-lease" will cancel all the previous --force-with-lease on the
   command line.

For now, "some reasonable default" is tentatively defined as "the
value of the remote-tracking branch we have for the ref of the
remote being updated", and it is an error if we do not have such a
remote-tracking branch.  But this is known to be fragile, its use is
not yet recommended, and hopefully we will find more reasonable
default as we gain experience with this feature.  The manual marks
the feature as experimental unless the expected value is specified
explicitly for this reason.

Because the command line options are parsed _before_ we know which
remote we are pushing to, there needs further processing to the
parsed data after we instantiate the transport object to:

 * expand "refname" given by the user to a full refname to be
   matched with the list of "struct ref" used in match_push_refs()
   and set_ref_status_for_push(); and

 * learning the actual local ref that is the remote-tracking branch
   for the specified remote ref.

Further, some processing need to be deferred until we find the set
of remote refs and match_push_refs() returns in order to find the
ones that need to be checked after explicit ones have been processed
for "--force-with-lease" (no specific details).

These post-processing will be the topic of the next patch.

This option was originally called "cas" (for "compare and swap"),
the name which nobody liked because it was too technical.  The
second attempt called it "lockref" (because it is conceptually like
pushing after taking a lock) but the word "lock" was hated because
it implied that it may reject push by others, which is not the way
this option works.  This round calls it "force-with-lease".  You
assume you took the lease on the ref when you fetched to decide what
the rebased history should be, and you can push back only if the
lease has not been broken.

Signed-off-by: Junio C Hamano <redacted>
12 years agopost-receive-email: deprecate script in favor of git-multimail
Michael Haggerty [Sun, 14 Jul 2013 08:09:03 +0000 (10:09 +0200)]
post-receive-email: deprecate script in favor of git-multimail

Add a notice to the top of post-receive-email explaining that the
script is no longer under active development and pointing the user to
git-multimail.

Signed-off-by: Michael Haggerty <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agotypofix: in-code comments
Ondřej Bílka [Mon, 22 Jul 2013 21:02:23 +0000 (23:02 +0200)]
typofix: in-code comments

Signed-off-by: Ondřej Bílka <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agotypofix: documentation
Ondřej Bílka [Mon, 22 Jul 2013 21:02:23 +0000 (23:02 +0200)]
typofix: documentation

Signed-off-by: Ondřej Bílka <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agotypofix: release notes
Ondřej Bílka [Mon, 22 Jul 2013 21:02:23 +0000 (23:02 +0200)]
typofix: release notes

Signed-off-by: Ondřej Bílka <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoSync with Git 1.8.3.4
Junio C Hamano [Mon, 22 Jul 2013 18:34:25 +0000 (11:34 -0700)]
Sync with Git 1.8.3.4

12 years agoUpdate draft release notes to 1.8.4
Junio C Hamano [Mon, 22 Jul 2013 18:34:10 +0000 (11:34 -0700)]
Update draft release notes to 1.8.4

Signed-off-by: Junio C Hamano <redacted>
12 years agoMerge branch 'jc/name-rev-exact-ref'
Junio C Hamano [Mon, 22 Jul 2013 18:24:19 +0000 (11:24 -0700)]
Merge branch 'jc/name-rev-exact-ref'

Corrects the longstanding sloppiness in the implementation of
name-rev that conflated "we take commit-ish" and "differences
between tags and commits do not matter".

* jc/name-rev-exact-ref:
  describe: fix --contains when a tag is given as input
  name-rev: differentiate between tags and commits they point at
  describe: use argv-array
  name-rev: allow converting the exact object name at the tip of a ref
  name-ref: factor out name shortening logic from name_ref()

12 years agoMerge branch 'rr/send-email-ssl-verify'
Junio C Hamano [Mon, 22 Jul 2013 18:24:17 +0000 (11:24 -0700)]
Merge branch 'rr/send-email-ssl-verify'

Newer Net::SMTP::SSL module does not want the user programs to use
the default behaviour to let server certificate go without
verification, so by default enable the verification with a
mechanism to turn it off if needed.

* rr/send-email-ssl-verify:
  send-email: be explicit with SSL certificate verification

12 years agoMerge branch 'es/check-mailmap'
Junio C Hamano [Mon, 22 Jul 2013 18:24:14 +0000 (11:24 -0700)]
Merge branch 'es/check-mailmap'

A new command to allow scripts to query the mailmap information.

* es/check-mailmap:
  t4203: test check-mailmap command invocation
  builtin: add git-check-mailmap command

12 years agoMerge branch 'jx/clean-interactive'
Junio C Hamano [Mon, 22 Jul 2013 18:24:11 +0000 (11:24 -0700)]
Merge branch 'jx/clean-interactive'

Add "interactive" mode to "git clean".

The early part to refactor relative path related helper functions
looked sensible.

* jx/clean-interactive:
  test: run testcases with POSIX absolute paths on Windows
  test: add t7301 for git-clean--interactive
  git-clean: add documentation for interactive git-clean
  git-clean: add ask each interactive action
  git-clean: add select by numbers interactive action
  git-clean: add filter by pattern interactive action
  git-clean: use a git-add-interactive compatible UI
  git-clean: add colors to interactive git-clean
  git-clean: show items of del_list in columns
  git-clean: add support for -i/--interactive
  git-clean: refactor git-clean into two phases
  write_name{_quoted_relative,}(): remove redundant parameters
  quote_path_relative(): remove redundant parameter
  quote.c: substitute path_relative with relative_path
  path.c: refactor relative_path(), not only strip prefix
  test: add test cases for relative_path

12 years agoMerge branch 'hv/config-from-blob'
Junio C Hamano [Mon, 22 Jul 2013 18:24:09 +0000 (11:24 -0700)]
Merge branch 'hv/config-from-blob'

Allow configuration data to be read from in-tree blob objects,
which would help working in a bare repository and submodule
updates.

* hv/config-from-blob:
  do not die when error in config parsing of buf occurs
  teach config --blob option to parse config from database
  config: make parsing stack struct independent from actual data source
  config: drop cf validity check in get_next_char()
  config: factor out config file stack management

12 years agoMerge branch 'mk/upload-pack-off-by-one-dead-code-removal'
Junio C Hamano [Mon, 22 Jul 2013 18:24:05 +0000 (11:24 -0700)]
Merge branch 'mk/upload-pack-off-by-one-dead-code-removal'

* mk/upload-pack-off-by-one-dead-code-removal:
  upload-pack: remove a piece of dead code

12 years agoMerge branch 'jk/t0008-sigpipe-fix'
Junio C Hamano [Mon, 22 Jul 2013 18:24:02 +0000 (11:24 -0700)]
Merge branch 'jk/t0008-sigpipe-fix'

Fix for recent test breakage on 'master'.

* jk/t0008-sigpipe-fix:
  t0008: avoid SIGPIPE race condition on fifo

12 years agoMerge branch 'nd/const-struct-cache-entry'
Junio C Hamano [Mon, 22 Jul 2013 18:24:00 +0000 (11:24 -0700)]
Merge branch 'nd/const-struct-cache-entry'

* nd/const-struct-cache-entry:
  Convert "struct cache_entry *" to "const ..." wherever possible

12 years agoMerge branch 'jk/gcc-function-attributes'
Junio C Hamano [Mon, 22 Jul 2013 18:23:59 +0000 (11:23 -0700)]
Merge branch 'jk/gcc-function-attributes'

Use the function attributes extension to catch mistakes in use of
our own variadic functions that use NULL sentinel at the end
(i.e. like execl(3)) and format strings (i.e. like printf(3)).

* jk/gcc-function-attributes:
  Add the LAST_ARG_MUST_BE_NULL macro
  wt-status: use "format" function attribute for status_printf
  use "sentinel" function attribute for variadic lists
  add missing "format" function attributes

12 years agoMerge branch 'db/show-ref-head'
Junio C Hamano [Mon, 22 Jul 2013 18:23:56 +0000 (11:23 -0700)]
Merge branch 'db/show-ref-head'

The "--head" option to "git show-ref" was only to add "HEAD" to the
list of candidate refs to be filtered by the usual rules
(e.g. "--heads" that only show refs under refs/heads).  Change the
meaning of the option to always show "HEAD" regardless of what
filtering will be applied to any other ref (this is a backward
incompatible change, so I may need to add an entry to the Release
Notes).

* db/show-ref-head:
  show-ref: make --head always show the HEAD ref

12 years agoMerge branch 'es/blame-L-breakage'
Junio C Hamano [Mon, 22 Jul 2013 18:23:53 +0000 (11:23 -0700)]
Merge branch 'es/blame-L-breakage'

The refactoring made for parsing "-L" option recently to support
"git log -L" seems to have broken "git blame -L X,-5" to show 5
lines leading to X.

* es/blame-L-breakage:
  blame-options.txt: explain that -L <start> and <end> are optional
  blame-options.txt: place each -L option variation on its own line
  t8001/t8002 (blame): add blame -L :funcname tests
  t8001/t8002 (blame): add blame -L tests
  t8001/t8002 (blame): modernize style
  line-range: fix "blame -L X,-N" regression

12 years agoMerge branch 'tr/protect-low-3-fds'
Junio C Hamano [Mon, 22 Jul 2013 18:23:35 +0000 (11:23 -0700)]
Merge branch 'tr/protect-low-3-fds'

When "git" is spawned in such a way that any of the low 3 file
descriptors is closed, our first open() may yield file descriptor 2,
and writing error message to it would screw things up in a big way.

* tr/protect-low-3-fds:
  git: ensure 0/1/2 are open in main()
  daemon/shell: refactor redirection of 0/1/2 from /dev/null

12 years agoMerge branch 'sb/parse-object-buffer-eaten'
Junio C Hamano [Mon, 22 Jul 2013 18:23:32 +0000 (11:23 -0700)]
Merge branch 'sb/parse-object-buffer-eaten'

* sb/parse-object-buffer-eaten:
  parse_object_buffer: correct freeing the buffer

12 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

12 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

12 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

12 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

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

12 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

12 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

12 years agoGit 1.8.3.4
Junio C Hamano [Mon, 22 Jul 2013 18:21:34 +0000 (11:21 -0700)]
Git 1.8.3.4

Signed-off-by: Junio C Hamano <redacted>
12 years agorev-parse(1): logically group options
John Keeping [Sun, 21 Jul 2013 12:49:27 +0000 (13:49 +0100)]
rev-parse(1): logically group options

The options section of the git-rev-parse manual page has grown
organically so that there now does not seem to be much logic behind the
ordering of the options.  It also does not make it clear that certain
options must appear first on the command line.

Address this by reorganising the options into groups with subheadings.
The text of option descriptions does not change.

Signed-off-by: John Keeping <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agorev-parse: remove restrictions on some options
John Keeping [Sun, 21 Jul 2013 12:49:26 +0000 (13:49 +0100)]
rev-parse: remove restrictions on some options

The "--local-env-vars" and "--resolve-git-dir" arguments to
git-rev-parse are currently only handled if they appear first on the
command line (in the case of "--local-env-vars", only if it is the only
argument).  While it may not make sense to use these options when any
others are specified, there is no reason for this restriction and it
might confuse users if these arguments appear to be ignored.

There is no need for any documentation change here as the restrictions
on these options are not documented.

Signed-off-by: John Keeping <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoupdate URL to the marc.info mail archive
Ondřej Bílka [Mon, 22 Jul 2013 08:02:17 +0000 (10:02 +0200)]
update URL to the marc.info mail archive

The name marc.theaimsgroup.com is no longer active, and has
migrated to marc.info.

Signed-off-by: Ondřej Bílka <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 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

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

12 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

12 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

12 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

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

12 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

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

12 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

12 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

12 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

12 years agocygwin: stop forcing core.filemode=false
Mark Levedahl [Fri, 19 Jul 2013 23:08:27 +0000 (19:08 -0400)]
cygwin: stop forcing core.filemode=false

We force core.filemode=false since c869753e (Force core.filemode to
false on Cygwin., 2006-12-30), even when the repository is on a
filesystem on which Cygwin can give us trustable filemodes, because
many native Windows applications the users use to edit files in the
working tree tend to (re)create files with executable bit randomly
set or reset.  However, binary distribution of Git that is supplied
by the downstream project to its users has been built without this
consideration.

Drop NO_TRUSTABLE_FILEMODE from our default configuration so that
hand-compiled Git out of box will match theirs.

Signed-off-by: Mark Levedahl <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoCygwin 1.7 supports mmap
Mark Levedahl [Fri, 19 Jul 2013 23:08:30 +0000 (19:08 -0400)]
Cygwin 1.7 supports mmap

git has shipped for years with MMAP enabled in the stock distribution,
there are no reports of problems / failures on the list relating to
this. Leave the default as-is on v1.5 due to lack of knowlege of this
working on earlier Cygwin.

Signed-off-by: Mark Levedahl <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoCygwin 1.7 has thread-safe pread
Mark Levedahl [Fri, 19 Jul 2013 23:08:29 +0000 (19:08 -0400)]
Cygwin 1.7 has thread-safe pread

Per http://cygwin.com/ml/cygwin/2012-07/msg00331.html , cygwin 1.7
was modified to explicitly support git's use of pread, so make this
the default. Do not affect earlier cygwin versions.

Signed-off-by: Mark Levedahl <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoCygwin 1.7 needs compat/regex
Mark Levedahl [Fri, 19 Jul 2013 23:08:28 +0000 (19:08 -0400)]
Cygwin 1.7 needs compat/regex

Cygwin v1.7 uses the regex library from newlib which does not pass git's
tests, so don't use it. This fixes failures in t4018 and t4034.

Continue to use the platform supplied regex library for earlier versions.

Signed-off-by: Mark Levedahl <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 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 <redacted>
Acked-by: Pete Wyckoff <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agocontrib: contacts: add documentation
Eric Sunshine [Sun, 21 Jul 2013 10:52:42 +0000 (06:52 -0400)]
contrib: contacts: add documentation

Assuming that git-contacts may some day be promoted to a core git
command, the documentation is written and formatted as if it already
belongs in Documentation/ even though it presently resides in
contrib/contacts.

Signed-off-by: Eric Sunshine <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agocontrib: contacts: add mailmap support
Eric Sunshine [Sun, 21 Jul 2013 10:52:41 +0000 (06:52 -0400)]
contrib: contacts: add mailmap support

The purpose of git-contacts is to determine a list of people who might
have some interest in a patch or set of changes. It can be used as
git-send-email's --cc-cmd argument or the computed list might be used to
ask for comments on a proposed change.  As such, it is important to
report up-to-date email addresses in the computed list rather than
potentially outdated ones recorded with commits.  Apply git's mailmap
functionality to the retrieved contacts in order to achieve this goal.

Signed-off-by: Eric Sunshine <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agocontrib: contacts: interpret committish akin to format-patch
Eric Sunshine [Sun, 21 Jul 2013 10:52:40 +0000 (06:52 -0400)]
contrib: contacts: interpret committish akin to format-patch

As a convenience, accept the same style <since> committish as accepted
by git-format-patch. For example:

  % git contacts origin

will consider commits in the current branch built atop 'origin', just as
"git format-patch origin" will format commits built atop 'origin'.

Signed-off-by: Eric Sunshine <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agocontrib: contacts: add ability to parse from committish
Eric Sunshine [Sun, 21 Jul 2013 10:52:39 +0000 (06:52 -0400)]
contrib: contacts: add ability to parse from committish

For example:

  % git contacts R1..R2

Committishes and patch files can be mentioned in the same invocation:

  % git contacts R1..R2 extra/*.patch

Signed-off-by: Eric Sunshine <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agocontrib: add git-contacts helper
Eric Sunshine [Sun, 21 Jul 2013 10:52:38 +0000 (06:52 -0400)]
contrib: add git-contacts helper

This script lists people that might be interested in a patch by going
back through the history for each patch hunk, and finding people that
reviewed, acknowledged, signed, authored, or were Cc:'d on the code the
patch is modifying.

It does this by running git-blame incrementally on each hunk and then
parsing the commit message. After gathering all participants, it
determines each person's relevance by considering how many commits
mentioned that person compared with the total number of commits under
consideration. The final output consists only of participants who pass a
minimum threshold of participation.

Several conditions controlling a person's significance are currently
hard-coded, such as minimum participation level, blame date-limiting,
and -C level for detecting moved and copied lines. In the future, these
conditions may become configurable.

For example:

  % git contacts 0001-remote-hg-trivial-cleanups.patch
  Felipe Contreras <redacted>
  Jeff King <redacted>
  Max Horn <redacted>
  Junio C Hamano <redacted>

Thus, it can be invoked as git-send-email's --cc-cmd option, among other
possible uses.

This is a Perl rewrite of Felipe Contreras' git-related patch series[1]
written in Ruby.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/226065/

Signed-off-by: Eric Sunshine <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoRevert "compat/unsetenv.c: Fix a sparse warning"
Benoit Sigoure [Sun, 21 Jul 2013 19:54:08 +0000 (12:54 -0700)]
Revert "compat/unsetenv.c: Fix a sparse warning"

This reverts commit ec535cc27e6c4f5e0b1d157e04f5511f166ecd9d.

POSIX explicitly states "the [environ] variable, which
must be declared by the user if it is to be used directly".
Not declaring it causes compilation to fail on OS X.

Instead don't declare the variable on MinGW, as it causes
a spurious warning there.

Signed-off-by: Benoit Sigoure <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 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 <redacted>
12 years agotraverse_trees(): clarify return value of the callback
Stefan Beller [Fri, 19 Jul 2013 20:26:32 +0000 (22:26 +0200)]
traverse_trees(): clarify return value of the callback

The variable name "ret" sounds like the variable to be returned, but
since e6c111b4 we return error, and it is misleading.

As this variable tells us which trees in t[] array were used in the
callback function, so that this caller can know the entries in which
of the trees need advancing, "trees_used" is a better name.

Also the assignment to 0 was removed at the start of the function as
well after the "if (interesting)" block.  Those are unneeded as that
variable is set to the callback return value any time we enter the
"if (interesting)" block, so we'd overwrite old values anyway.

Signed-off-by: Stefan Beller <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agodiff: remove "diff-files -q" in a version of Git in a distant future
Junio C Hamano [Thu, 18 Jul 2013 17:36:51 +0000 (10:36 -0700)]
diff: remove "diff-files -q" in a version of Git in a distant future

This was inherited from "show-diff -q" that was invented to tell
comparison between the index and the working tree to ignore only
removals in 2005.

These days, it is spelled as "--diff-filter=d".

Signed-off-by: Junio C Hamano <redacted>
12 years agodiff: deprecate -q option to diff-files
Junio C Hamano [Thu, 18 Jul 2013 00:18:32 +0000 (17:18 -0700)]
diff: deprecate -q option to diff-files

This reimplements the ancient "-q" option to "git diff-files" that
was inherited from "show-diff -q" in terms of "--diff-filter=d".  We
will be deprecating the "-q" option, so let's issue a warning when
we do so.

Incidentally this also tentatively fixes "git diff --no-index" to
honor "-q" and hide deletions; the use will get the same warning.

We should remove the support for "-q" in a future version but it is
not that urgent.

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

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

12 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 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

12 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

12 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

12 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

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

12 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

12 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

12 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

12 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

12 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

12 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

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

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

12 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

12 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

12 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

12 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

12 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

12 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 <redacted>
Signed-off-by: Stefan Beller <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoAdd the LAST_ARG_MUST_BE_NULL macro
Ramsay Jones [Thu, 18 Jul 2013 20:02:12 +0000 (21:02 +0100)]
Add the LAST_ARG_MUST_BE_NULL macro

The sentinel function attribute is not understood by versions of
the gcc compiler prior to v4.0. At present, for earlier versions
of gcc, the build issues 108 warnings related to the unknown
attribute. In order to suppress the warnings, we conditionally
define the LAST_ARG_MUST_BE_NULL macro to provide the sentinel attribute
for gcc v4.0 and newer.

Signed-off-by: Ramsay Jones <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoGit.pm: revert _temp_cache use of temp_is_locked
Kyle J. McKay [Fri, 19 Jul 2013 00:16:16 +0000 (17:16 -0700)]
Git.pm: revert _temp_cache use of temp_is_locked

When the temp_is_locked function was introduced, there was
a desire to make _temp_cache use it.  Unfortunately due to the
various tests and logic flow involved changing the _temp_cache
function to use the new temp_is_locked function is problematic
as _temp_cache needs a slightly different test than is provided
by the temp_is_locked function.

This change reverts use of temp_is_locked in the _temp_cache
function and restores the original code that existed there
before the temp_is_locked function was added.

Signed-off-by: Kyle J. McKay <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agotest-lib.sh - define and use GREP_STRIPS_CR
Mark Levedahl [Thu, 18 Jul 2013 21:44:57 +0000 (17:44 -0400)]
test-lib.sh - define and use GREP_STRIPS_CR

Define a common macro for grep needing -U to allow tests to not need
to inquire of specific platforms needing this option. Change
t3032 and t5560 to use this rather than testing explicitly for mingw.
This fixes these two tests on Cygwin.

Signed-off-by: Mark Levedahl <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoFix some sparse warnings
Ramsay Jones [Thu, 18 Jul 2013 20:25:50 +0000 (21:25 +0100)]
Fix some sparse warnings

Sparse issues some "Using plain integer as NULL pointer" warnings.
Each warning relates to the use of an '{0}' initialiser expression
in the declaration of an 'struct object_info'. The first field of
this structure has pointer type. Thus, in order to suppress these
warnings, we replace the initialiser expression with '{NULL}'.

Signed-off-by: Ramsay Jones <redacted>
Acked-by: Jeff King <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoDocumentation: fix git-prune example usage
Jonathon Mah [Thu, 18 Jul 2013 16:53:55 +0000 (09:53 -0700)]
Documentation: fix git-prune example usage

Signed-off-by: Jonathon Mah <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agoDocumentation: remove --prune from pack-refs examples
Jonathon Mah [Thu, 18 Jul 2013 16:53:25 +0000 (09:53 -0700)]
Documentation: remove --prune from pack-refs examples

The option has been the default for a while, and doesn't otherwise
appear in the page.

Signed-off-by: Jonathon Mah <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agosend-email: be explicit with SSL certificate verification
Ramkumar Ramachandra [Thu, 18 Jul 2013 16:53:11 +0000 (09:53 -0700)]
send-email: be explicit with SSL certificate verification

When initiating an SSL connection without explicitly specifying the
SSL certificate verification mode, Net::SMTP::SSL defaults to no
verification, but recent versions of the module gives a warning
against this use of the default.

Enable certificate verification by default, using /etc/ssl/certs as
the default path for certificates of certificate authorities.  This
path can be overriden by the --smtp-ssl-cert-path command line
option and the sendemail.smtpSSLCertPath configuration variable.

Passing an empty string as the path for CA certificates path disables
the SSL certificate verification explicitly, which does not trigger
the warning from recent versions of Net::SMTP::SSL.

Signed-off-by: Ramkumar Ramachandra <redacted>
Helped-by: Brian M. Carlson <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agofetch: make --prune configurable
Michael Schubert [Sat, 13 Jul 2013 09:36:24 +0000 (11:36 +0200)]
fetch: make --prune configurable

Without "git fetch --prune", remote-tracking branches for a branch
the other side already has removed will stay forever.  Some people
want to always run "git fetch --prune".

To accommodate users who want to either prune always or when fetching
from a particular remote, add two new configuration variables
"fetch.prune" and "remote.<name>.prune":

 - "fetch.prune" allows to enable prune for all fetch operations.

 - "remote.<name>.prune" allows to change the behaviour per remote.

The latter will naturally override the former, and the --[no-]prune
option from the command line will override the configured default.

Since --prune is a potentially destructive operation (Git doesn't
keep reflogs for deleted references yet), we don't want to prune
without users consent, so this configuration will not be on by
default.

Helped-by: Junio C Hamano <redacted>
Signed-off-by: Michael Schubert <redacted>
Signed-off-by: Junio C Hamano <redacted>
12 years agodescribe: fix --contains when a tag is given as input
Junio C Hamano [Thu, 18 Jul 2013 21:46:51 +0000 (14:46 -0700)]
describe: fix --contains when a tag is given as input

"git describe" takes a commit and gives it a name based on tags in
its neighbourhood.  The command does take a commit-ish but when
given a tag that points at a commit, it should dereference the tag
before computing the name for the commit.

As the whole processing is internally delegated to name-rev, if we
unwrap tags down to the underlying commit when invoking name-rev, it
will make the name-rev issue an error message based on the unwrapped
object name (i.e. either 40-hex object name, or "$tag^0") that is
different from what the end-user gave to the command when the commit
cannot be described.  Introduce an internal option --peel-tag to the
name-rev to tell it to unwrap a tag in its input from the command
line.

Signed-off-by: Junio C Hamano <redacted>
12 years agoname-rev: differentiate between tags and commits they point at
Junio C Hamano [Thu, 18 Jul 2013 21:11:35 +0000 (14:11 -0700)]
name-rev: differentiate between tags and commits they point at

"git name-rev --stdin" has been fixed to convert an object name that
points at a tag to a refname of the tag.  The codepath to handle its
command line arguments, however, fed the commit that the tag points
at to the underlying naming machinery.

With this fix, you will get this:

    $ git name-rev --refs=tags/\* --name-only $(git rev-parse v1.8.3 v1.8.3^0)
    v1.8.3
    v1.8.3^0

which is the same as what you would get from the fixed "--stdin" variant:

    $ git rev-parse v1.8.3 v1.8.3^0 | git name-rev --refs=tags/\* --name-only
    v1.8.3
    v1.8.3^0

Signed-off-by: Junio C Hamano <redacted>
12 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 <redacted>
12 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"

12 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

12 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

12 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

12 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

12 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

12 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

git clone https://git.99rst.org/PROJECT