From: Junio C Hamano Date: Fri, 2 Mar 2012 04:59:31 +0000 (-0800) Subject: Merge branch 'rs/no-no-no-parseopt' X-Git-Tag: v1.7.10-rc0~24 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=66b8800e53b20cda13446b462531641884089a77;p=git.git Merge branch 'rs/no-no-no-parseopt' * 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 --- 66b8800e53b20cda13446b462531641884089a77 diff --cc Documentation/RelNotes/1.7.10.txt index 70d76b5dc,000000000..071e40c59 mode 100644,000000..100644 --- a/Documentation/RelNotes/1.7.10.txt +++ b/Documentation/RelNotes/1.7.10.txt @@@ -1,133 -1,0 +1,150 @@@ +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 " 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-322-g472fdee ++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.. diff --cc builtin/grep.c index e4ea90078,461d1c246..643938d90 --- a/builtin/grep.c +++ b/builtin/grep.c @@@ -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"),