Merge branch 'rs/no-no-no-parseopt'
authorJunio C Hamano <gitster@pobox.com>
Fri, 2 Mar 2012 04:59:31 +0000 (20:59 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 2 Mar 2012 04:59:31 +0000 (20:59 -0800)
* rs/no-no-no-parseopt:
  parse-options: remove PARSE_OPT_NEGHELP
  parse-options: allow positivation of options starting, with no-
  test-parse-options: convert to OPT_BOOL()

Conflicts:
builtin/grep.c

1  2 
Documentation/RelNotes/1.7.10.txt
builtin/fast-export.c
builtin/grep.c

index 70d76b5dc0bd79647d78d37cab1367ad1700d62e,0000000000000000000000000000000000000000..071e40c59bf6abbcf18e254d214a723888d2422d
mode 100644,000000..100644
--- /dev/null
@@@ -1,133 -1,0 +1,150 @@@
- O=v1.7.9.2-322-g472fdee
 +Git v1.7.10 Release Notes
 +=========================
 +
 +Updates since v1.7.9
 +--------------------
 +
 +UI, Workflows & Features
 +
++ * Teams for localizing the messages from the Porcelain layer of
++   commands are starting to form, thanks to Jiang Xin who volunteered
++   to be the localization coordinator.  An initial set of translated
++   messages for simplified chinese is available.
++
 + * Improved handling of views, labels and branches in git-p4 (in contrib).
 +
 + * "git-p4" (in contrib) suffered from unnecessary merge conflicts when
 +   p4 expanded the embedded $RCS$-like keywords; it can be now told to
 +   unexpand them.
 +
 + * Some "git-svn" updates.
 +
 + * "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and
 +   support incremental imports.
 +
 + * The configuration mechanism learned an "include" facility; an
 +   assignment to the include.path pseudo-variable causes the named
 +   file to be included in-place when Git looks up configuration
 +   variables.
 +
 + * A content filter (clean/smudge) used to be just a way to make the
 +   recorded contents "more useful", and allowed to fail; a filter can
 +   new optionally be marked as "required".
 +
 + * "git am" learned to pass "-b" option to underlying "git mailinfo", so
 +   that bracketed string other than "PATCH" at the beginning can be kept.
 +
 + * "git clone" learned "--single-branch" option to limit cloning to a
 +   single branch (surprise!).
 +
 + * "git clone" learned to detach the HEAD in the resulting repository
 +   when the source repository's HEAD does not point to a branch.
 +
 + * When showing a patch while ignoring whitespace changes, the context
 +   lines are taken from the postimage, in order to make it easier to
 +   view the output.
 +
 + * "diff-highlight" filter (in contrib/) was updated to produce more
 +   aesthetically pleasing output.
 +
 + * "git merge" in an interactive session learned to spawn the editor
 +   by default to let the user edit the auto-generated merge message,
 +   to encourage people to explain their merges better. Legacy scripts
 +   can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior.
 +   Both "git merge" and "git pull" can be given --no-edit from the
 +   command line to accept the auto-generated merge message.
 +
 + * "git push" learned the "--prune" option, similar to "git fetch".
 +
 + * "git tag --list" can be given "--points-at <object>" to limit its
 +   output to those that point at the given object.
 +
 + * "gitweb" allows intermediate entries in the directory hierarchy
 +   that leads to a projects to be clicked, which in turn shows the
 +   list of projects inside that directory.
 +
 + * "gitweb" learned to read various pieces of information for the
 +   repositories lazily, instead of reading everything that could be
 +   needed (including the ones that are not necessary for a specific
 +   task).
 +
 +Performance
 +
 + * During "git upload-pack" in response to "git fetch", unnecessary calls
 +   to parse_object() have been eliminated, to help performance in
 +   repositories with excessive number of refs.
 +
 +Internal Implementation (please report possible regressions)
 +
 + * Recursive call chains in "git index-pack" to deal with long delta
 +   chains have been flattened, to reduce the stack footprint.
 +
 + * Use of add_extra_ref() API is now gone, to make it possible to
 +   cleanly restructure the overall refs API.
 +
 + * The command line parser of "git pack-objects" now uses parse-options
 +   API.
 +
 + * The test suite supports the new "test_pause" helper function.
 +
 + * Parallel to the test suite, there is a beginning of performance
 +   benchmarking framework.
 +
 + * t/Makefile is adjusted to prevent newer versions of GNU make from
 +   running tests in seemingly random order.
 +
 +Also contains minor documentation updates and code clean-ups.
 +
 +
 +Fixes since v1.7.9
 +------------------
 +
 +Unless otherwise noted, all the fixes since v1.7.9 in the maintenance
 +releases are contained in this release (see release notes to them for
 +details).
 +
++ * "git branch --with $that" assumed incorrectly that the user will never
++   ask the question with nonsense value in $that.
++   (merge 6c41e97 cn/maint-branch-with-bad later to maint).
++
++ * An invalid regular expression pattern given by an end user made
++   "gitweb" to return garbled response.
++   (merge 36612e4 jn/maint-gitweb-invalid-regexp later to maint).
++
++ * "git rev-list --verify-objects -q" omitted the extra verification
++   it needs to do over "git rev-list --objects -q" by mistake.
++   (merge 9899372 nd/maint-verify-objects later to maint).
++
 + * The bulk check-in codepath streamed contents that needs
 +   smudge/clean filters without running them, instead of punting and
 +   delegating to the codepath to run filters after slurping everything
 +   to core.
 +   (merge 4f22b10 jk/maint-avoid-streaming-filtered-contents later to maint).
 +
 + * When the filter driver exits before reading the content before the
 +   main git process writes the contents to be filtered to the pipe to
 +   it, the latter could be killed with SIGPIPE instead of ignoring
 +   such an event as an error.
 +   (merge 6424c2a jb/filter-ignore-sigpipe later to maint).
 +
 + * When a remote helper exits before reading the blank line from the
 +   main git process to signal the end of commands, the latter could be
 +   killed with SIGPIPE. Instead we should ignore such event as a
 +   non-error.
 +   (merge c34fe63 sp/smart-http-failure-to-push later to maint).
 +
 + * "git bundle create" produced a corrupt bundle file upon seeing
 +   commits with excessively long subject line.
 +   (merge 8a557bb tr/maint-bundle-long-subject later to maint).
 +
 + * "gitweb" used to drop warnings in the log file when "heads" view is
 +   accessed in a repository whose HEAD does not point at a valid
 +   branch.
 +
 +---
 +exec >/var/tmp/1
++O=v1.7.9.2-347-gbfabdfe
 +echo O=$(git describe)
 +git log --first-parent --oneline ^maint $O..
 +echo
 +git shortlog --no-merges ^maint $O..
Simple merge
diff --cc builtin/grep.c
index e4ea90078384f198f5985596c64deb5f423e9e45,461d1c24659d6d3f2695c3cbfde0530a351e87a7..643938d905fb134a1e65e3684e8e5feb06b01a59
@@@ -684,13 -777,8 +684,12 @@@ int cmd_grep(int argc, const char **arg
        struct option options[] = {
                OPT_BOOLEAN(0, "cached", &cached,
                        "search in index instead of in the work tree"),
-               { OPTION_BOOLEAN, 0, "index", &use_index, NULL,
-                       "finds in contents not managed by git",
-                       PARSE_OPT_NOARG | PARSE_OPT_NEGHELP },
+               OPT_NEGBIT(0, "no-index", &use_index,
+                        "finds in contents not managed by git", 1),
 +              OPT_BOOLEAN(0, "untracked", &untracked,
 +                      "search in both tracked and untracked files"),
 +              OPT_SET_INT(0, "exclude-standard", &opt_exclude,
 +                          "search also in ignored files", 1),
                OPT_GROUP(""),
                OPT_BOOLEAN('v', "invert-match", &opt.invert,
                        "show non-matching lines"),