{"thread":{"id":"28459","subject":"What's cooking in git.git (Sep 2011, #06; Wed, 21)","startedAt":"2011-09-22T05:04:28Z","lastAt":"2011-10-05T06:33:45Z","messageCount":19,"participants":["Junio C Hamano","Carlos Martín Nieto","Michael Schubert","Jakub Narebski","Clemens Buchacher","Scott Chacon","Jay Soffian"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"175985","messageId":"7vaa9xyxpf.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":null,"subject":"What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-22T05:04:28Z","receivedAt":"2011-09-22T05:04:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking.  Commits prefixed with '-' are\nonly in 'pu' while commits prefixed with '+' are in 'next'.\n\nHere are the repositories that have my integration branches:\n\nWith maint, master, next, pu and todo:\n\n\turl = git://repo.or.cz/alt-git.git\n\turl = https://code.google.com/p/git-core/\n\nWith only maint and master:\n\n\turl = git://git.sourceforge.jp/gitroot/git-core/git.git\n\turl = git://git-core.git.sourceforge.net/gitroot/git-core/git-core\n\nWith all the topics and integration branches:\n\n\turl = https://github.com/gitster/git\n\nWithout kernel.org working, this feature-freeze rc cycle is not really\nworking smoothly. I could take things slowly just like our previous\nmaintainer declared to do for his other project, but I probably will end\nup releasing the 1.7.7 final by the end of this week without kernel.org.\n\n--------------------------------------------------\n[New Topics]\n\n* bw/grep-no-index-no-exclude (2011-09-15) 2 commits\n - grep --no-index: don't use git standard exclusions\n - grep: do not use --index in the short usage output\n\n* jc/namespace-doc-with-old-asciidoc (2011-09-16) 1 commit\n - Documentation/gitnamespaces.txt: cater to older asciidoc\n\n* jc/want-commit (2011-09-15) 1 commit\n - Allow git merge \":/<pattern>\"\n\n* jc/ls-remote-short-help (2011-09-16) 1 commit\n - ls-remote: a lone \"-h\" is asking for help\n\n* jc/maint-bundle-too-quiet (2011-09-19) 1 commit\n - Teach progress eye-candy to fetch_refs_from_bundle()\n\n* jk/filter-branch-require-clean-work-tree (2011-09-15) 1 commit\n - filter-branch: use require_clean_work_tree\n\n* jn/gitweb-highlite-sanitise (2011-09-16) 1 commit\n - gitweb: Strip non-printable characters from syntax highlighter output\n\n* mh/check-ref-format-3 (2011-09-16) 22 commits\n - add_ref(): verify that the refname is formatted correctly\n - resolve_ref(): expand documentation\n - resolve_ref(): also treat a too-long SHA1 as invalid\n - resolve_ref(): emit warnings for improperly-formatted references\n - resolve_ref(): verify that the input refname has the right format\n - remote: avoid passing NULL to read_ref()\n - remote: use xstrdup() instead of strdup()\n - resolve_ref(): do not follow incorrectly-formatted symbolic refs\n - resolve_ref(): extract a function get_packed_ref()\n - resolve_ref(): turn buffer into a proper string as soon as possible\n - resolve_ref(): only follow a symlink that contains a valid, normalized refname\n - resolve_ref(): use prefixcmp()\n - resolve_ref(): explicitly fail if a symlink is not readable\n - Change check_refname_format() to reject unnormalized refnames\n - Inline function refname_format_print()\n - Make collapse_slashes() allocate memory for its result\n - Do not allow \".lock\" at the end of any refname component\n - Refactor check_refname_format()\n - Change check_ref_format() to take a flags argument\n - Change bad_ref_char() to return a boolean value\n - git check-ref-format: add options --allow-onelevel and --refspec-pattern\n - t1402: add some more tests\n\n* cn/eradicate-working-copy (2011-09-21) 2 commits\n - patch-id.c: use strbuf instead of a fixed buffer\n - Remove 'working copy' from the documentation and C code\n\n* js/bisect-no-checkout (2011-09-21) 1 commit\n  (merged to 'next' on 2011-09-21 at e94ad3e)\n + bisect: fix exiting when checkout failed in bisect_start()\n\n* mg/maint-doc-sparse-checkout (2011-09-21) 3 commits\n  (merged to 'next' on 2011-09-21 at f316dec)\n + git-read-tree.txt: correct sparse-checkout and skip-worktree description\n + git-read-tree.txt: language and typography fixes\n + unpack-trees: print \"Aborting\" to stderr\n\n* ms/patch-id-with-overlong-line (2011-09-21) 1 commit\n - patch-id.c: use strbuf instead of a fixed buffer\n\n* sn/doc-update-index-assume-unchanged (2011-09-21) 1 commit\n  (merged to 'next' on 2011-09-21 at 325e796)\n + Documentation/git-update-index: refer to 'ls-files'\n\n* jc/request-pull-show-head-4 (2011-09-21) 7 commits\n - request-pull: use the branch description\n - request-pull: state what commit to expect\n - request-pull: modernize style\n - branch: teach --edit-description option\n - format-patch: use branch description in cover letter\n - branch: add read_branch_desc() helper function\n - Merge branch 'bk/ancestry-path' into jc/branch-desc\n (this branch uses bk/ancestry-path.)\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* ph/format-patch-no-color (2011-09-12) 1 commit\n  (merged to 'next' on 2011-09-12 at 20283e8)\n + format-patch: ignore ui.color\n\nA fix for the recent regression.\n\n--------------------------------------------------\n[Stalled]\n\n* jc/signed-push (2011-09-12) 7 commits\n - push -s: support pre-receive-signature hook\n - push -s: receiving end\n - push -s: send signed push certificate\n - push -s: skeleton\n - Split GPG interface into its own helper library\n - rename \"match_refs()\" to \"match_push_refs()\"\n - send-pack: typofix error message\n (this branch uses jc/run-receive-hook-cleanup; is tangled with jc/signed-push-3.)\n\nThis was the v2 that updated notes tree on the receiving end.\n\n* jc/signed-push-3 (2011-09-12) 4 commits\n . push -s: signed push\n - Split GPG interface into its own helper library\n - rename \"match_refs()\" to \"match_push_refs()\"\n - send-pack: typofix error message\n (this branch uses jc/run-receive-hook-cleanup; is tangled with jc/signed-push.)\n\nThis is the third edition, that moves the preparation of the notes tree to\nthe sending end.\n\n* jk/add-i-hunk-filter (2011-07-27) 5 commits\n  (merged to 'next' on 2011-08-11 at 8ff9a56)\n + add--interactive: add option to autosplit hunks\n + add--interactive: allow negatation of hunk filters\n + add--interactive: allow hunk filtering on command line\n + add--interactive: factor out regex error handling\n + add--interactive: refactor patch mode argument processing\n\nWill be dropped.\n\n* jh/receive-count-limit (2011-05-23) 10 commits\n - receive-pack: Allow server to refuse pushes with too many objects\n - pack-objects: Estimate pack size; abort early if pack size limit is exceeded\n - send-pack/receive-pack: Allow server to refuse pushing too large packs\n - pack-objects: Allow --max-pack-size to be used together with --stdout\n - send-pack/receive-pack: Allow server to refuse pushes with too many commits\n - pack-objects: Teach new option --max-commit-count, limiting #commits in pack\n - receive-pack: Prepare for addition of the new 'limit-*' family of capabilities\n - Tighten rules for matching server capabilities in server_supports()\n - send-pack: Attempt to retrieve remote status even if pack-objects fails\n - Update technical docs to reflect side-band-64k capability in receive-pack\n\nWould need another round to separate per-pack and per-session limits.\n\n* jk/generation-numbers (2011-09-11) 8 commits\n - metadata-cache.c: make two functions static\n - limit \"contains\" traversals based on commit generation\n - check commit generation cache validity against grafts\n - pretty: support %G to show the generation number of a commit\n - commit: add commit_generation function\n - add metadata-cache infrastructure\n - decorate: allow storing values instead of pointers\n - Merge branch 'jk/tag-contains-ab' (early part) into HEAD\n\nThe initial \"tag --contains\" de-pessimization without need for generation\nnumbers is already in; backburnered.\n\n* sr/transport-helper-fix-rfc (2011-07-19) 2 commits\n - t5800: point out that deleting branches does not work\n - t5800: document inability to push new branch with old content\n\nPerhaps 281eee4 (revision: keep track of the end-user input from the\ncommand line, 2011-08-25) in bk/ancestry-path would help.\n\n* po/cygwin-backslash (2011-08-05) 2 commits\n - On Cygwin support both UNIX and DOS style path-names\n - git-compat-util: add generic find_last_dir_sep that respects is_dir_sep\n\nIncomplete with respect to backslash processing in prefix_filename(), and\nalso loses the ability to escape glob specials. Perhaps drop?\n\n--------------------------------------------------\n[Cooking]\n\n* jm/mergetool-pathspec (2011-09-16) 2 commits\n - mergetool: no longer need to save standard input\n - mergetool: Use args as pathspec to unmerged files\n\n* nd/maint-autofix-tag-in-head (2011-09-18) 4 commits\n - Accept tags in HEAD or MERGE_HEAD\n - merge: remove global variable head[]\n - merge: use return value of resolve_ref() to determine if HEAD is invalid\n - merge: keep stash[] a local variable\n\n* jk/maint-fetch-submodule-check-fix (2011-09-12) 1 commit\n  (merged to 'next' on 2011-09-12 at 3c73b8c)\n + fetch: avoid quadratic loop checking for updated submodules\n (this branch is used by jk/argv-array.)\n\nThis probably can wait, as long as the other half of the regression fix\nis in the upcoming release.\n\n* bc/attr-ignore-case (2011-09-14) 5 commits\n - attr: read core.attributesfile from git_default_core_config\n - attr.c: respect core.ignorecase when matching attribute patterns\n - builtin/mv.c: plug miniscule memory leak\n - cleanup: use internal memory allocation wrapper functions everywhere\n - attr.c: avoid inappropriate access to strbuf \"buf\" member\n\n* jc/maint-fsck-fwrite-size-check (2011-09-11) 1 commit\n  (merged to 'next' on 2011-09-16 at 2258f11)\n + fsck: do not abort upon finding an empty blob\n\n* jk/argv-array (2011-09-14) 7 commits\n  (merged to 'next' on 2011-09-16 at 90feab4)\n + run_hook: use argv_array API\n + checkout: use argv_array API\n + bisect: use argv_array API\n + quote: provide sq_dequote_to_argv_array\n + refactor argv_array into generic code\n + quote.h: fix bogus comment\n + add sha1_array API docs\n (this branch uses jk/maint-fetch-submodule-check-fix.)\n\n* js/cred-macos-x-keychain-2 (2011-09-14) 1 commit\n - contrib: add a pair of credential helpers for Mac OS X's keychain\n (this branch is tangled with jk/http-auth-keyring.)\n\nWelcome addition to build our confidence in the jk/http-auth-keyring topic.\n\n* rj/maint-t9159-svn-rev-notation (2011-09-21) 1 commit\n - t9159-*.sh: skip for mergeinfo test for svn <= 1.4\n\n* tr/doc-note-rewrite (2011-09-13) 1 commit\n  (merged to 'next' on 2011-09-16 at 5fe813a)\n + Documentation: basic configuration of notes.rewriteRef\n\nUpdated to a safer wording.\n\n* jk/default-attr (2011-09-12) 1 commit\n - attr: map builtin userdiff drivers to well-known extensions\n\nWill be re-rolled after 1.7.7 final.\n\n* hl/iso8601-more-zone-formats (2011-09-12) 1 commit\n  (merged to 'next' on 2011-09-12 at 270f5c7)\n + date.c: Support iso8601 timezone formats\n\n* jc/run-receive-hook-cleanup (2011-09-12) 1 commit\n  (merged to 'next' on 2011-09-12 at 68dd431)\n + refactor run_receive_hook()\n (this branch is used by jc/signed-push and jc/signed-push-3.)\n\nJust to make it easier to run a hook that reads from its standard input.\n\n* jk/for-each-ref (2011-09-08) 5 commits\n  (merged to 'next' on 2011-09-14 at 36ed515)\n + for-each-ref: add split message parts to %(contents:*).\n + for-each-ref: handle multiline subjects like --pretty\n + for-each-ref: refactor subject and body placeholder parsing\n + t6300: add more body-parsing tests\n + t7004: factor out gpg setup\n\n* wh/normalize-alt-odb-path (2011-09-07) 1 commit\n  (merged to 'next' on 2011-09-14 at 96f722b)\n + sha1_file: normalize alt_odb path before comparing and storing\n\n* fk/use-kwset-pickaxe-grep-f (2011-09-11) 2 commits\n  (merged to 'next' on 2011-09-14 at 436d858)\n + obstack.c: Fix some sparse warnings\n + sparse: Fix an \"Using plain integer as NULL pointer\" warning\n\nIn general we would prefer to see these fixed at the upstream first, but\nwe have essentially forked from them at their last GPLv2 versions...\n\n* jc/make-static (2011-09-14) 4 commits\n  (merged to 'next' on 2011-09-14 at c5943ff)\n + exec_cmd.c: prepare_git_cmd() is sometimes used\n + environment.c: have_git_dir() has users on Cygwin\n  (merged to 'next' on 2011-09-11 at 2acb0af)\n + vcs-svn: remove unused functions and make some static\n + make-static: master\n (this branch is tangled with jc/reflog-walk-use-only-nsha1.)\n\nWith a few fix-ups; probably needs to be ejected after 1.7.7 happens.\n\n* rj/quietly-create-dep-dir (2011-09-11) 1 commit\n  (merged to 'next' on 2011-09-12 at 93d1c6b)\n + Makefile: Make dependency directory creation less noisy\n\n* mz/remote-rename (2011-09-11) 4 commits\n - remote: only update remote-tracking branch if updating refspec\n - remote rename: warn when refspec was not updated\n - remote: \"rename o foo\" should not rename ref \"origin/bar\"\n - remote: write correct fetch spec when renaming remote 'remote'\n\n* cb/common-prefix-unification (2011-09-12) 3 commits\n  (merged to 'next' on 2011-09-14 at 24f571f)\n + rename pathspec_prefix() to common_prefix() and move to dir.[ch]\n + consolidate pathspec_prefix and common_prefix\n + remove prefix argument from pathspec_prefix\n\n* cb/send-email-help (2011-09-12) 1 commit\n  (merged to 'next' on 2011-09-14 at ae71999)\n + send-email: add option -h\n\nA separate set of patches to remove the hidden fully-spelled \"help\" from\nother commands would be nice to have as companion patches as well.\n\n* jc/fetch-pack-fsck-objects (2011-09-04) 3 commits\n  (merged to 'next' on 2011-09-12 at a031347)\n + test: fetch/receive with fsckobjects\n + transfer.fsckobjects: unify fetch/receive.fsckobjects\n + fetch.fsckobjects: verify downloaded objects\n\nWe had an option to verify the sent objects before accepting a push but\nlacked the corresponding option when fetching. In the light of the recent\nk.org incident, a change like this would be a good addition.\n\n* jc/fetch-verify (2011-09-01) 3 commits\n  (merged to 'next' on 2011-09-12 at 3f491ab)\n + fetch: verify we have everything we need before updating our ref\n + rev-list --verify-object\n + list-objects: pass callback data to show_objects()\n (this branch uses jc/traverse-commit-list; is tangled with jc/receive-verify.)\n\nDuring a fetch, we verify that the pack stream is self consistent,\nbut did not verify that the refs that are updated are consistent with\nobjects contained in the packstream, and this adds such a check.\n\n* jc/receive-verify (2011-09-09) 6 commits\n  (merged to 'next' on 2011-09-12 at 856de78)\n + receive-pack: check connectivity before concluding \"git push\"\n + check_everything_connected(): libify\n + check_everything_connected(): refactor to use an iterator\n + fetch: verify we have everything we need before updating our ref\n + rev-list --verify-object\n + list-objects: pass callback data to show_objects()\n (this branch uses jc/traverse-commit-list; is tangled with jc/fetch-verify.)\n\nWhile accepting a push, we verify that the pack stream is self consistent,\nbut did not verify that the refs the push updates are consistent with\nobjects contained in the packstream, and this adds such a check.\n\n* jn/maint-http-error-message (2011-09-06) 2 commits\n  (merged to 'next' on 2011-09-12 at a843f03)\n + http: avoid empty error messages for some curl errors\n + http: remove extra newline in error message\n\n* bk/ancestry-path (2011-09-15) 4 commits\n  (merged to 'next' on 2011-09-15 at aa64d04)\n + t6019: avoid refname collision on case-insensitive systems\n  (merged to 'next' on 2011-09-02 at d05ba5d)\n + revision: do not include sibling history in --ancestry-path output\n + revision: keep track of the end-user input from the command line\n + rev-list: Demonstrate breakage with --ancestry-path --all\n (this branch is used by jc/request-pull-show-head-4.)\n\n* mg/branch-list (2011-09-13) 7 commits\n  (merged to 'next' on 2011-09-14 at 6610a2e)\n + t3200: clean up checks for file existence\n  (merged to 'next' on 2011-09-11 at 20a9cdb)\n + branch: -v does not automatically imply --list\n  (merged to 'next' on 2011-09-02 at b818eae)\n + branch: allow pattern arguments\n + branch: introduce --list option\n + git-branch: introduce missing long forms for the options\n + git-tag: introduce long forms for the options\n + t6040: test branch -vv\n\n* mm/rebase-i-exec-edit (2011-08-26) 2 commits\n  (merged to 'next' on 2011-09-02 at e75b1b9)\n + rebase -i: notice and warn if \"exec $cmd\" modifies the index or the working tree\n + rebase -i: clean error message for --continue after failed exec\n\n* hv/submodule-merge-search (2011-08-26) 5 commits\n - submodule: Search for merges only at end of recursive merge\n - allow multiple calls to submodule merge search for the same path\n - submodule: Demonstrate known breakage during recursive merge\n - push: Don't push a repository with unpushed submodules\n  (merged to 'next' on 2011-08-24 at 398e764)\n + push: teach --recurse-submodules the on-demand option\n (this branch is tangled with fg/submodule-auto-push.)\n\nThe second from the bottom one needs to be replaced with a properly\nwritten commit log message.\n\n* mm/mediawiki-as-a-remote (2011-09-01) 2 commits\n  (merged to 'next' on 2011-09-12 at 163c6a5)\n + git-remote-mediawiki: allow push to set MediaWiki metadata\n + Add a remote helper to interact with mediawiki (fetch & push)\n\nFun.\n\n* bc/unstash-clean-crufts (2011-08-27) 4 commits\n  (merged to 'next' on 2011-09-02 at 7bfd66f)\n + git-stash: remove untracked/ignored directories when stashed\n + t/t3905: add missing '&&' linkage\n + git-stash.sh: fix typo in error message\n + t/t3905: use the name 'actual' for test output, swap arguments to test_cmp\n\n* da/make-auto-header-dependencies (2011-08-30) 1 commit\n  (merged to 'next' on 2011-09-02 at e04a4af)\n + Makefile: Improve compiler header dependency check\n (this branch uses fk/make-auto-header-dependencies.)\n\n* gb/am-hg-patch (2011-08-29) 1 commit\n  (merged to 'next' on 2011-09-02 at 3edfe4c)\n + am: preliminary support for hg patches\n\n* jc/diff-index-unpack (2011-08-29) 3 commits\n  (merged to 'next' on 2011-09-02 at 4206bd9)\n + diff-index: pass pathspec down to unpack-trees machinery\n + unpack-trees: allow pruning with pathspec\n + traverse_trees(): allow pruning with pathspec\n\n* nm/grep-object-sha1-lock (2011-08-30) 1 commit\n  (merged to 'next' on 2011-09-02 at 336f57d)\n + grep: Fix race condition in delta_base_cache\n\n* tr/mergetool-valgrind (2011-08-30) 1 commit\n  (merged to 'next' on 2011-09-02 at f5f2c61)\n + Symlink mergetools scriptlets into valgrind wrappers\n\n* fg/submodule-auto-push (2011-09-11) 2 commits\n  (merged to 'next' on 2011-09-11 at 3fc86f7)\n + submodule.c: make two functions static\n  (merged to 'next' on 2011-08-24 at 398e764)\n + push: teach --recurse-submodules the on-demand option\n (this branch is tangled with hv/submodule-merge-search.)\n\nWhat the topic aims to achieve may make sense, but the implementation\nlooked somewhat suboptimal.\n\n* jc/traverse-commit-list (2011-08-22) 3 commits\n  (merged to 'next' on 2011-08-24 at df50dd7)\n + revision.c: update show_object_with_name() without using malloc()\n + revision.c: add show_object_with_name() helper function\n + rev-list: fix finish_object() call\n (this branch is used by jc/fetch-verify and jc/receive-verify.)\n\n* fk/make-auto-header-dependencies (2011-08-18) 1 commit\n  (merged to 'next' on 2011-08-24 at 3da2c25)\n + Makefile: Use computed header dependencies if the compiler supports it\n (this branch is used by da/make-auto-header-dependencies.)\n\n* mh/iterate-refs (2011-09-11) 7 commits\n - refs.c: make create_cached_refs() static\n - Retain caches of submodule refs\n - Store the submodule name in struct cached_refs\n - Allocate cached_refs objects dynamically\n - Change the signature of read_packed_refs()\n - Access reference caches only through new function get_cached_refs()\n - Extract a function clear_cached_refs()\n\nI did not see anything fundamentally wrong with this series, but it was\nunclear what the benefit of these changes are.  If the series were to read\nparts of the ref hierarchy (like refs/heads/) lazily, the story would\nhave been different, though.\n\n* hv/submodule-update-none (2011-08-11) 2 commits\n  (merged to 'next' on 2011-08-24 at 5302fc1)\n + add update 'none' flag to disable update of submodule by default\n + submodule: move update configuration variable further up\n\n* jc/lookup-object-hash (2011-08-11) 6 commits\n  (merged to 'next' on 2011-08-24 at 5825411)\n + object hash: replace linear probing with 4-way cuckoo hashing\n + object hash: we know the table size is a power of two\n + object hash: next_size() helper for readability\n + pack-objects --count-only\n + object.c: remove duplicated code for object hashing\n + object.c: code movement for readability\n\nI do not think there is anything fundamentally wrong with this series, but\nthe risk of breakage far outweighs observed performance gain in one\nparticular workload. Will keep it in 'next' at least for one cycle.\n\n* fg/submodule-git-file-git-dir (2011-08-22) 2 commits\n  (merged to 'next' on 2011-08-23 at 762194e)\n + Move git-dir for submodules\n + rev-parse: add option --resolve-git-dir <path>\n\nI do not think there is anything fundamentally wrong with this series, but\nthe risk of breakage outweighs any benefit for having this new\nfeature. Will keep it in 'next' at least for one cycle.\n\n* jk/http-auth-keyring (2011-09-16) 21 commits\n  (merged to 'next' on 2011-09-16 at b4195eb)\n + check_expirations: don't copy over same element\n + t0300: add missing EOF terminator for <<\n  (merged to 'next' on 2011-09-14 at 589c7c9)\n + credential-store: use a better storage format\n + t0300: make alternate username tests more robust\n + t0300: make askpass tests a little more robust\n + credential-cache: fix expiration calculation corner cases\n + docs: minor tweaks to credentials API\n  (merged to 'next' on 2011-09-11 at 491ce6a)\n + credentials: make credential_fill_gently() static\n  (merged to 'next' on 2011-08-03 at b06e80e)\n + credentials: add \"getpass\" helper\n + credentials: add \"store\" helper\n + credentials: add \"cache\" helper\n + docs: end-user documentation for the credential subsystem\n + http: use hostname in credential description\n + allow the user to configure credential helpers\n + look for credentials in config before prompting\n + http: use credential API to get passwords\n + introduce credentials API\n + http: retry authentication failures for all http requests\n + remote-curl: don't retry auth failures with dumb protocol\n + improve httpd auth tests\n + url: decode buffers that are not NUL-terminated\n (this branch is tangled with js/cred-macos-x-keychain and js/cred-macos-x-keychain-2.)\n\n* rr/revert-cherry-pick-continue (2011-09-11) 19 commits\n  (merged to 'next' on 2011-09-11 at 7d78054)\n + builtin/revert.c: make commit_list_append() static\n  (merged to 'next' on 2011-08-24 at 712c115)\n + revert: Propagate errors upwards from do_pick_commit\n + revert: Introduce --continue to continue the operation\n + revert: Don't implicitly stomp pending sequencer operation\n + revert: Remove sequencer state when no commits are pending\n + reset: Make reset remove the sequencer state\n + revert: Introduce --reset to remove sequencer state\n + revert: Make pick_commits functionally act on a commit list\n + revert: Save command-line options for continuing operation\n + revert: Save data for continuing after conflict resolution\n + revert: Don't create invalid replay_opts in parse_args\n + revert: Separate cmdline parsing from functional code\n + revert: Introduce struct to keep command-line options\n + revert: Eliminate global \"commit\" variable\n + revert: Rename no_replay to record_origin\n + revert: Don't check lone argument in get_encoding\n + revert: Simplify and inline add_message_to_msg\n + config: Introduce functions to write non-standard file\n + advice: Introduce error_resolve_conflict\n\n--------------------------------------------------\n[Discarded]\n\n* mh/check-ref-format (2011-09-11) 8 commits\n . Add tools to avoid the use of unnormalized refnames.\n . Do not allow \".lock\" at the end of any refname component\n . Add a library function normalize_refname()\n . Change check_ref_format() to take a flags argument\n . fixup asciidoc formatting\n . git check-ref-format: add options --allow-onelevel and --refspec-pattern\n . Change bad_ref_char() to return a boolean value\n . t1402: add some more tests\n\nRerolled\n\n* jk/pager-with-alias (2011-08-19) 1 commit\n . support pager.* for aliases\n\n* cb/maint-quiet-push (2011-09-05) 4 commits\n . t5541: avoid TAP test miscounting\n . push: old receive-pack does not understand --quiet\n . fix push --quiet via http\n . tests for push --quiet\n\nDropped for rerolling after 1.7.7 cycle.\n\n* js/cred-macos-x-keychain (2011-09-11) 15 commits\n  (merged to 'next' on 2011-09-12 at 8d17f94)\n + contrib: add a credential helper for Mac OS X's keychain\n  (merged to 'next' on 2011-09-11 at 491ce6a)\n + credentials: make credential_fill_gently() static\n  (merged to 'next' on 2011-08-03 at b06e80e)\n + credentials: add \"getpass\" helper\n + credentials: add \"store\" helper\n + credentials: add \"cache\" helper\n + docs: end-user documentation for the credential subsystem\n + http: use hostname in credential description\n + allow the user to configure credential helpers\n + look for credentials in config before prompting\n + http: use credential API to get passwords\n + introduce credentials API\n + http: retry authentication failures for all http requests\n + remote-curl: don't retry auth failures with dumb protocol\n + improve httpd auth tests\n + url: decode buffers that are not NUL-terminated\n (this branch is tangled with jk/http-auth-keyring and js/cred-macos-x-keychain-2.)\n\nReverted out of 'next'.\n\n* jc/reflog-walk-use-only-nsha1 (2011-09-13) 4 commits\n . (baloon) teach reflog-walk to look at only new-sha1 field\n + environment.c: have_git_dir() has users on Cygwin\n  (merged to 'next' on 2011-09-11 at 2acb0af)\n + vcs-svn: remove unused functions and make some static\n + make-static: master\n (this branch is tangled with jc/make-static.)\n\n* hw/maint-abspath-cwd-limit (2011-09-21) 3 commits\n  (merged to 'next' on 2011-09-21 at 210cf9a)\n + Revert 622fea4 (abspath.c: increase array size of cwd variable)\n  (merged to 'next' on 2011-09-19 at 7d5e921)\n + abspath.c: increase array size of cwd variable to PATH_MAX\n + path.c: increase array size of cwd variable to PATH_MAX\n\nReverted out of 'next'.\n\n* jc/request-pull-show-head (2011-09-13) 2 commits\n  (merged to 'next' on 2011-09-13 at c82fb3a)\n + Revert \"State what commit to expect in request-pull\"\n  (merged to 'next' on 2011-09-12 at c1c7b73)\n + State what commit to expect in request-pull\n\nReverted out of 'next'.\n"},{"id":"175989","messageId":"1316680641.11165.2.camel@bee.lab.cmartin.tk","threadId":"28459","inReplyTo":"7vaa9xyxpf.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Carlos Martín Nieto","fromEmail":"cmn@elego.de","sentAt":"2011-09-22T08:37:06Z","receivedAt":"2011-09-22T08:37:06Z","isPatch":false,"sender":{"key":"cmn@elego.de","avatar":"https://avatars.githubusercontent.com/u/335443?v=4"},"body":"On Wed, 2011-09-21 at 22:04 -0700, Junio C Hamano wrote:\n> * cn/eradicate-working-copy (2011-09-21) 2 commits\n>  - patch-id.c: use strbuf instead of a fixed buffer\n>  - Remove 'working copy' from the documentation and C code\n\nIt looks like that first commit sneaked in there. Shouldn't that be its\nown topic?\n\n   cmn\n\n"},{"id":"175991","messageId":"4E7AFC6C.7080603@elegosoft.com","threadId":"28459","inReplyTo":"1316680641.11165.2.camel@bee.lab.cmartin.tk","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Michael Schubert","fromEmail":"mschub@elegosoft.com","sentAt":"2011-09-22T09:14:20Z","receivedAt":"2011-09-22T09:14:20Z","isPatch":false,"sender":{"key":"mschub@elegosoft.com","avatar":null},"body":"On 09/22/2011 10:37 AM, Carlos Martín Nieto wrote:\n> On Wed, 2011-09-21 at 22:04 -0700, Junio C Hamano wrote:\n>> * cn/eradicate-working-copy (2011-09-21) 2 commits\n>>  - patch-id.c: use strbuf instead of a fixed buffer\n>>  - Remove 'working copy' from the documentation and C code\n> \n> It looks like that first commit sneaked in there. Shouldn't that be its\n> own topic?\n\nIt's in pu twice:\n\nOn 09/22/2011 07:04 AM, Junio C Hamano wrote: \n> * cn/eradicate-working-copy (2011-09-21) 2 commits\n>  - patch-id.c: use strbuf instead of a fixed buffer\n>  - Remove 'working copy' from the documentation and C code\n\n> * ms/patch-id-with-overlong-line (2011-09-21) 1 commit\n>  - patch-id.c: use strbuf instead of a fixed buffer\n\n64128da and a6c5c60\n\nThere's also a minor typo in the last sentence of the commit message.\nShould I resend?\n"},{"id":"175998","messageId":"7v62kkzg3s.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":"4E7AFC6C.7080603@elegosoft.com","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-22T16:39:19Z","receivedAt":"2011-09-22T16:39:19Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Michael Schubert <mschub@elegosoft.com> writes:\n\n> On 09/22/2011 10:37 AM, Carlos Martín Nieto wrote:\n>> On Wed, 2011-09-21 at 22:04 -0700, Junio C Hamano wrote:\n>>> * cn/eradicate-working-copy (2011-09-21) 2 commits\n>>>  - patch-id.c: use strbuf instead of a fixed buffer\n>>>  - Remove 'working copy' from the documentation and C code\n>> \n>> It looks like that first commit sneaked in there. Shouldn't that be its\n>> own topic?\n>\n> It's in pu twice:\n\nThansk for noticing. Will remove.\n\n> On 09/22/2011 07:04 AM, Junio C Hamano wrote: \n>> * cn/eradicate-working-copy (2011-09-21) 2 commits\n>>  - patch-id.c: use strbuf instead of a fixed buffer\n>>  - Remove 'working copy' from the documentation and C code\n>\n>> * ms/patch-id-with-overlong-line (2011-09-21) 1 commit\n>>  - patch-id.c: use strbuf instead of a fixed buffer\n>\n> 64128da and a6c5c60\n>\n> There's also a minor typo in the last sentence of the commit message.\n> Should I resend?\n\nIf that is s/user/use/ and nothing else, I can amend locally; otherwise\nplease do.\n\nThe last part of the \"rather dumb heiristic\" you talk about is designed to\nparse \"cmd | diff-tree -p --stdin\" output. I agree with you that it can\nsafely tightened a bit by checking that 41st byte is the EOL, but it\nprobably is not worth it.\n"},{"id":"176032","messageId":"m3r538qj0j.fsf@localhost.localdomain","threadId":"28459","inReplyTo":"7vaa9xyxpf.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-09-22T23:01:51Z","receivedAt":"2011-09-22T23:01:51Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> --------------------------------------------------\n> [New Topics]\n \n> * jc/namespace-doc-with-old-asciidoc (2011-09-16) 1 commit\n>  - Documentation/gitnamespaces.txt: cater to older asciidoc\n\nI'll need this to e.g. test the \"rpm\" target after adding\nDocumentation/gitweb.txt and Documentation/gitweb.conf.txt\n\nBut it is not something very urgent; the series are cooking now:\n\n  \"[PATCH/RFCv4 0/4] Moving gitweb documentation to manpages\"\n  http://thread.gmane.org/gmane.comp.version-control.git/181605\n  \n-- \nJakub Narębski\n"},{"id":"176033","messageId":"7v4o04xjcb.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":"m3r538qj0j.fsf@localhost.localdomain","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-22T23:12:20Z","receivedAt":"2011-09-22T23:12:20Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> --------------------------------------------------\n>> [New Topics]\n>  \n>> * jc/namespace-doc-with-old-asciidoc (2011-09-16) 1 commit\n>>  - Documentation/gitnamespaces.txt: cater to older asciidoc\n>\n> I'll need this to e.g. test the \"rpm\" target after adding\n> Documentation/gitweb.txt and Documentation/gitweb.conf.txt\n>\n> But it is not something very urgent...\n\nNow I am confused. If you apply your patch on top of \"master\" then you\ncannot create \"rpm\" on your platform, not because your patch is busted,\nbut because \"master\" lacks the documentation fix from that topic. Is that\nwhat you mean?\n\nIf the reason the documentation fix for \"master\" is needed is because a\nnew feature scheduled for the upcoming release has broken documentation,\nthen wouldn't we need the fix before the release, whether you are working\non your patch or not? How can it be not urgent if that is the case?\n\nOn my boxes with recent Debian, Ubuntu, and F14, I am not suffering from\nthe lack of the workaround, but if distros need the workaround, then the\ntime to apply it is now, not post release.\n\nHmmm....\n"},{"id":"176034","messageId":"201109230133.33214.jnareb@gmail.com","threadId":"28459","inReplyTo":"7v4o04xjcb.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-09-22T23:33:32Z","receivedAt":"2011-09-22T23:33:32Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano wrote:\n> Jakub Narebski <jnareb@gmail.com> writes: \n>> Junio C Hamano <gitster@pobox.com> writes:\n>>\n>>> --------------------------------------------------\n>>> [New Topics]\n>>  \n>>> * jc/namespace-doc-with-old-asciidoc (2011-09-16) 1 commit\n>>>  - Documentation/gitnamespaces.txt: cater to older asciidoc\n>>\n>> I'll need this to e.g. test the \"rpm\" target after adding\n>> Documentation/gitweb.txt and Documentation/gitweb.conf.txt\n>>\n>> But it is not something very urgent...\n> \n> Now I am confused. If you apply your patch on top of \"master\" then you\n> cannot create \"rpm\" on your platform, not because your patch is busted,\n> but because \"master\" lacks the documentation fix from that topic. Is that\n> what you mean?\n\nYes, that is what I mean... but that it is only because I use old\nversion of asciidoc (7.1.2).\n \n\"make doc\" (which is part of \"make rpm\") fails on my box with\n\n      ASCIIDOC gitnamespaces.html\n  ERROR: gitnamespaces.txt: line 9: second section must be named SYNOPSIS\n  make[1]: *** [gitnamespaces.html] Error 1\n\n> If the reason the documentation fix for \"master\" is needed is because a\n> new feature scheduled for the upcoming release has broken documentation,\n> then wouldn't we need the fix before the release, whether you are working\n> on your patch or not? How can it be not urgent if that is the case?\n> \n> On my boxes with recent Debian, Ubuntu, and F14, I am not suffering from\n> the lack of the workaround, but if distros need the workaround, then the\n> time to apply it is now, not post release.\n\nI don't think _modern_ distributions need this workaround... asciidoc 8.4.5\nwhich fixed the issue with \"Synopsis\" section was released 2009-05-24:\n\nhttp://www.methods.co.nz/asciidoc/CHANGELOG.html\n\n  Version 8.4.5 (2009-05-24)\n  --------------------------\n  Additions and changes\n  ~~~~~~~~~~~~~~~~~~~~~\n\n    * Added manpage \"Name\" and \"Synopsis\" section title customization to\n      languages configuration files.\n    * \"Synopsis\" manpage section no longer mandatory.\n  [...]\n\n-- \nJakub Narebski\nPoland\n"},{"id":"176036","messageId":"7vvcskw38o.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":"201109230133.33214.jnareb@gmail.com","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-22T23:45:27Z","receivedAt":"2011-09-22T23:45:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> I don't think _modern_ distributions need this workaround... asciidoc 8.4.5\n> which fixed the issue with \"Synopsis\" section was released 2009-05-24:\n\nThanks for a clarification.  I'll then hold it off until the upcoming\nrelease and then merge it to see if anybody screams.\n"},{"id":"176058","messageId":"20110923110016.GA12122@ecki.lan","threadId":"28459","inReplyTo":"7vaa9xyxpf.fsf@alter.siamese.dyndns.org","subject":"[PATCH] fix push --quiet: add 'quiet' capability to receive-pack","fromName":"Clemens Buchacher","fromEmail":"drizzd@aon.at","sentAt":"2011-09-23T11:00:16Z","receivedAt":"2011-09-23T11:00:16Z","isPatch":true,"sender":{"key":"drizzd@gmx.net","avatar":"https://avatars.githubusercontent.com/u/59082?v=4"},"body":"Currently, git push --quiet produces some non-error output, e.g.:\n\n $ git push --quiet\n Unpacking objects: 100% (3/3), done.\n\nThis fixes a bug reported for the fedora git package:\n\n https://bugzilla.redhat.com/show_bug.cgi?id=725593\n\nCommit 90a6c7d4 (propagate --quiet to send-pack/receive-pack)\nintroduced the --quiet option to receive-pack and made send-pack\npass that option. Older versions of receive-pack do not recognize\nthe option, however, and terminate immediately. The commit was\ntherefore reverted.\n\nThis change instead adds a 'quiet' capability to receive-pack,\nwhich is a backwards compatible.\n\nIn addition, this fixes push --quiet via http: A verbosity of 0\nmeans quiet for remote helpers.\n\nReported-by: Jesse Keating <jkeating@redhat.com>\nReported-by: Tobias Ulmer <tobiasu@tmux.org>\nCc: Todd Zullinger <tmz@pobox.com>\nSigned-off-by: Clemens Buchacher <drizzd@aon.at>\n---\n\nOn Wed, Sep 21, 2011 at 10:04:28PM -0700, Junio C Hamano wrote:\n> \n> * cb/maint-quiet-push (2011-09-05) 4 commits\n>  . t5541: avoid TAP test miscounting\n>  . push: old receive-pack does not understand --quiet\n>  . fix push --quiet via http\n>  . tests for push --quiet\n> \n> Dropped for rerolling after 1.7.7 cycle.\n\nThis is the re-rolled version based on current master, without the\nbackwards incompatible receive-pack --quiet option.\n\nI squashed the tests in and added your unpack(void) fixup.\n\nI have not added Michael's \"t5541: avoid TAP test miscounting\"\nsince I cannot reproduce the error:\n\n http://mid.gmane.org/e4e82f1267da3edfc600361de0041f618c31e30c.1315232475.git.git@drmicha.warpmail.net\n\nAnd there is also this related patch \"server_supports(): parse\nfeature list more carefully\", which looked good to me:\n\n http://mid.gmane.org/7vmxejy9od.fsf@alter.siamese.dyndns.org\n\nDoes it need more work?\n\nClemens\n\n builtin/receive-pack.c   |   14 ++++++++++++--\n builtin/send-pack.c      |   13 ++++++++++---\n remote-curl.c            |    4 +++-\n t/t5523-push-upstream.sh |    7 +++++++\n t/t5541-http-push.sh     |    8 ++++++++\n 5 files changed, 40 insertions(+), 6 deletions(-)\n\ndiff --git a/builtin/receive-pack.c b/builtin/receive-pack.c\nindex ae164da..4419323 100644\n--- a/builtin/receive-pack.c\n+++ b/builtin/receive-pack.c\n@@ -31,6 +31,7 @@ static int transfer_unpack_limit = -1;\n static int unpack_limit = 100;\n static int report_status;\n static int use_sideband;\n+static int quiet;\n static int prefer_ofs_delta = 1;\n static int auto_update_server_info;\n static int auto_gc = 1;\n@@ -114,7 +115,7 @@ static int show_ref(const char *path, const unsigned char *sha1, int flag, void\n \telse\n \t\tpacket_write(1, \"%s %s%c%s%s\\n\",\n \t\t\t     sha1_to_hex(sha1), path, 0,\n-\t\t\t     \" report-status delete-refs side-band-64k\",\n+\t\t\t     \" report-status delete-refs side-band-64k quiet\",\n \t\t\t     prefer_ofs_delta ? \" ofs-delta\" : \"\");\n \tsent_capabilities = 1;\n \treturn 0;\n@@ -636,6 +637,8 @@ static struct command *read_head_info(void)\n \t\t\t\treport_status = 1;\n \t\t\tif (strstr(refname + reflen + 1, \"side-band-64k\"))\n \t\t\t\tuse_sideband = LARGE_PACKET_MAX;\n+\t\t\tif (strstr(refname + reflen + 1, \"quiet\"))\n+\t\t\t\tquiet = 1;\n \t\t}\n \t\tcmd = xcalloc(1, sizeof(struct command) + len - 80);\n \t\thashcpy(cmd->old_sha1, old_sha1);\n@@ -684,8 +687,10 @@ static const char *unpack(void)\n \n \tif (ntohl(hdr.hdr_entries) < unpack_limit) {\n \t\tint code, i = 0;\n-\t\tconst char *unpacker[4];\n+\t\tconst char *unpacker[5];\n \t\tunpacker[i++] = \"unpack-objects\";\n+\t\tif (quiet)\n+\t\t\tunpacker[i++] = \"-q\";\n \t\tif (receive_fsck_objects)\n \t\t\tunpacker[i++] = \"--strict\";\n \t\tunpacker[i++] = hdr_arg;\n@@ -799,6 +804,11 @@ int cmd_receive_pack(int argc, const char **argv, const char *prefix)\n \t\tconst char *arg = *argv++;\n \n \t\tif (*arg == '-') {\n+\t\t\tif (!strcmp(arg, \"--quiet\")) {\n+\t\t\t\tquiet = 1;\n+\t\t\t\tcontinue;\n+\t\t\t}\n+\n \t\t\tif (!strcmp(arg, \"--advertise-refs\")) {\n \t\t\t\tadvertise_refs = 1;\n \t\t\t\tcontinue;\ndiff --git a/builtin/send-pack.c b/builtin/send-pack.c\nindex c1f6ddd..a8d6b4c 100644\n--- a/builtin/send-pack.c\n+++ b/builtin/send-pack.c\n@@ -263,6 +263,8 @@ int send_pack(struct send_pack_args *args,\n \t\targs->use_ofs_delta = 1;\n \tif (server_supports(\"side-band-64k\"))\n \t\tuse_sideband = 1;\n+\tif (!server_supports(\"quiet\"))\n+\t\targs->quiet = 0;\n \n \tif (!remote_refs) {\n \t\tfprintf(stderr, \"No refs in common and none specified; doing nothing.\\n\"\n@@ -301,11 +303,12 @@ int send_pack(struct send_pack_args *args,\n \t\t\tchar *old_hex = sha1_to_hex(ref->old_sha1);\n \t\t\tchar *new_hex = sha1_to_hex(ref->new_sha1);\n \n-\t\t\tif (!cmds_sent && (status_report || use_sideband)) {\n-\t\t\t\tpacket_buf_write(&req_buf, \"%s %s %s%c%s%s\",\n+\t\t\tif (!cmds_sent && (status_report || use_sideband || args->quiet)) {\n+\t\t\t\tpacket_buf_write(&req_buf, \"%s %s %s%c%s%s%s\",\n \t\t\t\t\told_hex, new_hex, ref->name, 0,\n \t\t\t\t\tstatus_report ? \" report-status\" : \"\",\n-\t\t\t\t\tuse_sideband ? \" side-band-64k\" : \"\");\n+\t\t\t\t\tuse_sideband ? \" side-band-64k\" : \"\",\n+\t\t\t\t\targs->quiet ? \" quiet\" : \"\");\n \t\t\t}\n \t\t\telse\n \t\t\t\tpacket_buf_write(&req_buf, \"%s %s %s\",\n@@ -439,6 +442,10 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)\n \t\t\t\targs.force_update = 1;\n \t\t\t\tcontinue;\n \t\t\t}\n+\t\t\tif (!strcmp(arg, \"--quiet\")) {\n+\t\t\t\targs.quiet = 1;\n+\t\t\t\tcontinue;\n+\t\t\t}\n \t\t\tif (!strcmp(arg, \"--verbose\")) {\n \t\t\t\targs.verbose = 1;\n \t\t\t\tcontinue;\ndiff --git a/remote-curl.c b/remote-curl.c\nindex b8cf45a..2341106 100644\n--- a/remote-curl.c\n+++ b/remote-curl.c\n@@ -762,7 +762,9 @@ static int push_git(struct discovery *heads, int nr_spec, char **specs)\n \t\targv[argc++] = \"--thin\";\n \tif (options.dry_run)\n \t\targv[argc++] = \"--dry-run\";\n-\tif (options.verbosity > 1)\n+\tif (options.verbosity == 0)\n+\t\targv[argc++] = \"--quiet\";\n+\telse if (options.verbosity > 1)\n \t\targv[argc++] = \"--verbose\";\n \targv[argc++] = url;\n \tfor (i = 0; i < nr_spec; i++)\ndiff --git a/t/t5523-push-upstream.sh b/t/t5523-push-upstream.sh\nindex c229fe6..9ee52cf 100755\n--- a/t/t5523-push-upstream.sh\n+++ b/t/t5523-push-upstream.sh\n@@ -108,4 +108,11 @@ test_expect_failure TTY 'push --no-progress suppresses progress' '\n \t! grep \"Writing objects\" err\n '\n \n+test_expect_success TTY 'quiet push' '\n+\tensure_fresh_upstream &&\n+\n+\ttest_terminal git push --quiet --no-progress upstream master 2>&1 | tee output &&\n+\ttest_cmp /dev/null output\n+'\n+\n test_done\ndiff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh\nindex a73c826..e756a08 100755\n--- a/t/t5541-http-push.sh\n+++ b/t/t5541-http-push.sh\n@@ -5,6 +5,7 @@\n \n test_description='test smart pushing over http via http-backend'\n . ./test-lib.sh\n+. \"$TEST_DIRECTORY\"/lib-terminal.sh\n \n if test -n \"$NO_CURL\"; then\n \tskip_all='skipping test, git built without http support'\n@@ -154,5 +155,12 @@ test_expect_success 'push (chunked)' '\n \t test $HEAD = $(git rev-parse --verify HEAD))\n '\n \n+test_expect_success TTY 'quiet push' '\n+\tcd \"$ROOT_PATH\"/test_repo_clone &&\n+\ttest_commit quiet &&\n+\ttest_terminal git push --quiet --no-progress 2>&1 | tee output &&\n+\ttest_cmp /dev/null output\n+'\n+\n stop_httpd\n test_done\n-- \n1.7.6.1\n"},{"id":"176060","messageId":"20110923115512.GB12122@ecki.lan","threadId":"28459","inReplyTo":"7vaa9xyxpf.fsf@alter.siamese.dyndns.org","subject":"[PATCH] use -h for synopsis and --help for manpage consistently","fromName":"Clemens Buchacher","fromEmail":"drizzd@aon.at","sentAt":"2011-09-23T11:55:12Z","receivedAt":"2011-09-23T11:55:12Z","isPatch":true,"sender":{"key":"drizzd@gmx.net","avatar":"https://avatars.githubusercontent.com/u/59082?v=4"},"body":"\nSigned-off-by: Clemens Buchacher <drizzd@aon.at>\n---\n\nOn Wed, Sep 21, 2011 at 10:04:28PM -0700, Junio C Hamano wrote:\n> \n> * cb/send-email-help (2011-09-12) 1 commit\n>   (merged to 'next' on 2011-09-14 at ae71999)\n>  + send-email: add option -h\n> \n> A separate set of patches to remove the hidden fully-spelled \"help\" from\n> other commands would be nice to have as companion patches as well.\n\nThis should do it.\n\nClemens\n\n Documentation/blame-options.txt |    1 -\n git-cvsserver.perl              |    4 ++--\n git-difftool.perl               |    2 +-\n git-pull.sh                     |    2 +-\n git-sh-setup.sh                 |    2 +-\n git-svn.perl                    |    2 +-\n 6 files changed, 6 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt\nindex e76195a..d4a51da 100644\n--- a/Documentation/blame-options.txt\n+++ b/Documentation/blame-options.txt\n@@ -117,5 +117,4 @@ commit. And the default value is 40. If there are more than one\n take effect.\n \n -h::\n---help::\n \tShow help message.\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex 1b8bff2..6c5185e 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -109,14 +109,14 @@ my $usage =\n     \"    --strict-paths      : Don't allow recursing into subdirectories\\n\".\n     \"    --export-all        : Don't check for gitcvs.enabled in config\\n\".\n     \"    --version, -V       : Print version information and exit\\n\".\n-    \"    --help, -h, -H      : Print usage information and exit\\n\".\n+    \"    -h                  : Print usage information and exit\\n\".\n     \"\\n\".\n     \"<directory> ... is a list of allowed directories. If no directories\\n\".\n     \"are given, all are allowed. This is an additional restriction, gitcvs\\n\".\n     \"access still needs to be enabled by the gitcvs.enabled config option.\\n\".\n     \"Alternately, one directory may be specified in GIT_CVSSERVER_ROOT.\\n\";\n \n-my @opts = ( 'help|h|H', 'version|V',\n+my @opts = ( 'h', 'version|V',\n \t     'base-path=s', 'strict-paths', 'export-all' );\n GetOptions( $state, @opts )\n     or die $usage;\ndiff --git a/git-difftool.perl b/git-difftool.perl\nindex ced1615..09b65f1 100755\n--- a/git-difftool.perl\n+++ b/git-difftool.perl\n@@ -97,7 +97,7 @@ sub generate_command\n \t\t\t$prompt = 'yes';\n \t\t\tnext;\n \t\t}\n-\t\tif ($arg eq '-h' || $arg eq '--help') {\n+\t\tif ($arg eq '-h') {\n \t\t\tusage();\n \t\t}\n \t\tpush @command, $arg;\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 63da37b..8c1370f 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -120,7 +120,7 @@ do\n \t--d|--dr|--dry|--dry-|--dry-r|--dry-ru|--dry-run)\n \t\tdry_run=--dry-run\n \t\t;;\n-\t-h|--h|--he|--hel|--help|--help-|--help-a|--help-al|--help-all)\n+\t-h|--help-all)\n \t\tusage\n \t\t;;\n \t*)\ndiff --git a/git-sh-setup.sh b/git-sh-setup.sh\nindex 8e427da..1fba6c2 100644\n--- a/git-sh-setup.sh\n+++ b/git-sh-setup.sh\n@@ -90,7 +90,7 @@ $LONG_USAGE\"\n \tfi\n \n \tcase \"$1\" in\n-\t\t-h|--h|--he|--hel|--help)\n+\t\t-h)\n \t\techo \"$LONG_USAGE\"\n \t\texit\n \tesac\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 89f83fd..a019f55 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -294,7 +294,7 @@ read_git_config(\\%opts);\n if ($cmd && ($cmd eq 'log' || $cmd eq 'blame')) {\n \tGetopt::Long::Configure('pass_through');\n }\n-my $rv = GetOptions(%opts, 'help|H|h' => \\$_help, 'version|V' => \\$_version,\n+my $rv = GetOptions(%opts, 'h' => \\$_help, 'version|V' => \\$_version,\n                     'minimize-connections' => \\$Git::SVN::Migration::_minimize,\n                     'id|i=s' => \\$Git::SVN::default_ref_id,\n                     'svn-remote|remote|R=s' => sub {\n-- \n1.7.6.1\n"},{"id":"176068","messageId":"CAP2yMaL3rewYZSXQFxkSLkiNbaBAP8r707x2dScVK1zeVr8hXQ@mail.gmail.com","threadId":"28459","inReplyTo":"7vaa9xyxpf.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Scott Chacon","fromEmail":"schacon@gmail.com","sentAt":"2011-09-23T14:44:13Z","receivedAt":"2011-09-23T14:44:13Z","isPatch":false,"sender":{"key":"schacon@gmail.com","avatar":"https://gravatar.com/avatar/9b13a8a078e1dcf8588c4eea9554445d51ebed6c41b51f56f4d96738130b05c6?d=mp&s=160"},"body":"Hey,\n\nOn Wed, Sep 21, 2011 at 10:04 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Here are the topics that have been cooking.  Commits prefixed with '-' are\n> only in 'pu' while commits prefixed with '+' are in 'next'.\n>\n> Here are the repositories that have my integration branches:\n>\n> With maint, master, next, pu and todo:\n>\n>        url = git://repo.or.cz/alt-git.git\n>        url = https://code.google.com/p/git-core/\n>\n> With only maint and master:\n>\n>        url = git://git.sourceforge.jp/gitroot/git-core/git.git\n>        url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core\n>\n> With all the topics and integration branches:\n>\n>        url = https://github.com/gitster/git\n>\n\nIt appears that you're no longer pushing the 'html' branch to the\nGitHub repo, but you are to some of the other ones, which is sort of\nstrange because *everything* else is there.\n\nSince the k.org hosting of the man pages is down, I was working on\nputting them on git-scm.com, where you could select which version of\nthe docs you want to see and could search through them and whatnot.\nCan you push 'html' to GitHub too?  I want to pull my data out of it\non an ongoing basis and it's the only one with a git object level API.\n\nThanks,\nScott\n"},{"id":"176079","messageId":"7vvcsjuojp.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":"CAP2yMaL3rewYZSXQFxkSLkiNbaBAP8r707x2dScVK1zeVr8hXQ@mail.gmail.com","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-23T18:00:26Z","receivedAt":"2011-09-23T18:00:26Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Scott Chacon <schacon@gmail.com> writes:\n\n> It appears that you're no longer pushing the 'html' branch to the\n> GitHub repo,...\n\nIt is not even \"no longer\".\n\nUnlike the other public mirrors that are designed to mimic what my\nrepository at k.org looks like, https://github.com/gitster/git is\nprimarily meant to mirror my internal development repository, with the\nfull set of topic branches.\n\nAs I do not have 'html' as a branch in my development repository, the\nresult \"git push --mirror\" there never had refs/heads/html, either.\n\nMy workflow used to be:\n\n - push 4 integration branches from the development repository to k.org,\n   and have its update hook update html and man branches there;\n - optionally push todo from a different private repository to k.org;\n - fetch back refs/heads/* from k.org to refs/remotes/ko/*;\n - verify that my refs/heads/* and refs/remotes/ko/* match for 4 integration\n   branches;\n - push stuff under refs/remotes/ko/* to public mirrors (sourceforge does\n   not get next and pu);\n - push --mirror to https://github.com/gitster/git.\n\nNow the interim workflow, until k.org comes back, is tentatively:\n\n - in a separate local \"formatting\" repository, pull 'master' from my\n   development repository, build html and man there, and push them back\n   to refs/docs/{html,man} to my development repository;\n - push refs/heads/{master,maint,next,pu} and refs/docs/{html,man} to\n   public mirrors (sourceforge does not get next and pu);\n - push --mirror to https://github.com/gitster/git.\n\nI am hoping that I do not have to keep doing this and refs/docs/ can\neventually go away. I specifically do _not_ want the administrative\nnon-source branches html/man/todo to be my local branches.\n\n> Since the k.org hosting of the man pages is down, I was working on\n> putting them on git-scm.com, where you could select which version of\n> the docs you want to see and could search through them and whatnot.\n\nWhat is the expected the end-user page-flow?\n\nWould people come to https://github.com/gitster/git first, find \"doc\" link\nthere, and start browsing the html version of the documentation?\n\nOr do people come to http://github.com/, find a link \"documentation for\nthe scm this site supports\", your machinery kicks in and serves the blobs\nfrom https://github.com/gitster/git under the hood, without letting users\nknow where the pages they are looking at really come from?\n\nWhat I am getting at is that if these users do not need to know about my\nrepository, then you do not _need_ to see html branch in my repository,\neither. You only need to find it _somewhere_, and that somewhere does not\nhave to be https://github.com/gitster/git repository.\n\nYou may think you could use refs/docs/html but I would rather want to\navoid letting you guys rely on refs/docs/ I started using just a few days\nago as an interim measure. I may later change my mind and get rid of that\nfrom my development repository, but that would break your machinery to\nshow preformatted documentation pages.\n\nI could add a _separate_ repository at github, and treat it just like\nother public mirrors like repo.or.cz, so that you can find html branch\nthere. That would be consistent with my wish to use \"push --mirror\" to at\nleast one place (https://github.com/gitster/git), and would be easier to\nmanage for me.\n\nWould that work?\n"},{"id":"176091","messageId":"7vsjnnt5vg.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":"7vvcsjuojp.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-23T19:29:07Z","receivedAt":"2011-09-23T19:29:07Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Scott Chacon <schacon@gmail.com> writes:\n>\n>> It appears that you're no longer pushing the 'html' branch to the\n>> GitHub repo,...\n>\n> It is not even \"no longer\".\n\nIt just occurred to me that https://github.com/git/git repository might be\nthe one you are talking about, but that repository is not even mine.  The\npage at https://github.com/git says git@logicalawesome.com is its contact\nperson.\n\nI _suspect_ it is set up to mirror from my k.org repository and obviously\nnothing is updated from that route for the past few weeks. It is correct\nto say \"html branch in that repository is no longer updated\", but I cannot\ndo anything about that repository ;-).\n"},{"id":"176207","messageId":"CAP2yMaL=Ox7mFQSA8yyOB9CoBaa_pQQ3bE4B9FugOnfJCT6XeA@mail.gmail.com","threadId":"28459","inReplyTo":"7vsjnnt5vg.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Scott Chacon","fromEmail":"schacon@gmail.com","sentAt":"2011-09-26T14:03:03Z","receivedAt":"2011-09-26T14:03:03Z","isPatch":false,"sender":{"key":"schacon@gmail.com","avatar":"https://gravatar.com/avatar/9b13a8a078e1dcf8588c4eea9554445d51ebed6c41b51f56f4d96738130b05c6?d=mp&s=160"},"body":"Hey,\n\nOn Fri, Sep 23, 2011 at 12:29 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> It just occurred to me that https://github.com/git/git repository might be\n> the one you are talking about, but that repository is not even mine.  The\n> page at https://github.com/git says git@logicalawesome.com is its contact\n> person.\n>\n> I _suspect_ it is set up to mirror from my k.org repository and obviously\n> nothing is updated from that route for the past few weeks. It is correct\n> to say \"html branch in that repository is no longer updated\", but I cannot\n> do anything about that repository ;-).\n\ngit/git is a mirror I set up from k.org years ago for git-scm.com. I\nbelieve you've been a collaborator on it for a while now, so you can\npush to it if you'd like.  The mirroring system is down since k.org\ndied and I've since moved it off the host I had been using to Heroku,\nso I can't do the mirroring that way anymore.  If you want to push to\nit I'll leave it there, otherwise I'll reroot your repo to be the head\nof the GitHub network instead.\n"},{"id":"176244","messageId":"7vmxdr2l16.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":"CAP2yMaL=Ox7mFQSA8yyOB9CoBaa_pQQ3bE4B9FugOnfJCT6XeA@mail.gmail.com","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-26T18:52:53Z","receivedAt":"2011-09-26T18:52:53Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Scott Chacon <schacon@gmail.com> writes:\n\n> On Fri, Sep 23, 2011 at 12:29 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> It just occurred to me that https://github.com/git/git repository might be\n>> the one you are talking about, but that repository is not even mine. The\n>> page at https://github.com/git says git@logicalawesome.com is its contact\n>> person.\n>>\n>> I _suspect_ it is set up to mirror from my k.org repository and obviously\n>> nothing is updated from that route for the past few weeks. It is correct\n>> to say \"html branch in that repository is no longer updated\", but I cannot\n>> do anything about that repository ;-).\n>\n> git/git is a mirror I set up from k.org years ago for git-scm.com. I\n> believe you've been a collaborator on it for a while now, so you can\n> push to it if you'd like.  The mirroring system is down since k.org\n> died and I've since moved it off the host I had been using to Heroku,\n> so I can't do the mirroring that way anymore.  If you want to push to\n> it I'll leave it there, otherwise I'll reroot your repo to be the head\n> of the GitHub network instead.\n\nOk, to clarify this discussion for people who have been pulling from me\nand have been wondering where to reset their \"origin\" to...\n\n * I'll start to also push into https://github.com/git/git/ directly,\n   treating it like git://repo.or.cz/alt-git.git/ and other secondary\n   distribution points, that have the integration branches, todo, html and\n   man.\n\n * Eventually git://git.kernel.org/pub/scm/git/git.git/ will again start\n   receiving my direct pushes just like it used to. The secondary\n   distribution points will also get my pushes directly (I've made sure\n   with Scott that mirroring into https://github.com/git/git/ from my\n   k.org repository will stay turned off).\n\n * https://github.com/gitster/git.git/ will stay a mirror of my private\n   development repository with the topic branches (but without non-source\n   branches like html and mah).\n\nI haven't figured out how the preformatted documentation branches will be\nmanaged in the longer term, as it seems likely that I no longer would have\nthe post-update hook access to update them upon pushing into my k.org\nrepository. I might end up dropping these branches altogether if it gets\ntoo cumbersome for me to maintain, but I do not know yet.\n"},{"id":"176297","messageId":"CAG+J_DxNVJPNw3XfLyZVkU9tbwgyLdUD2g7UGK7+dHm3m00UBw@mail.gmail.com","threadId":"28459","inReplyTo":"7vmxdr2l16.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2011, #06; Wed, 21)","fromName":"Jay Soffian","fromEmail":"jaysoffian@gmail.com","sentAt":"2011-09-27T02:08:14Z","receivedAt":"2011-09-27T02:08:14Z","isPatch":false,"sender":{"key":"jaysoffian@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155970?v=4"},"body":"On Mon, Sep 26, 2011 at 2:52 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> I haven't figured out how the preformatted documentation branches will be\n> managed in the longer term, as it seems likely that I no longer would have\n> the post-update hook access to update them upon pushing into my k.org\n> repository. I might end up dropping these branches altogether if it gets\n> too cumbersome for me to maintain, but I do not know yet.\n\nBuilding the documentation on OS X is a huge pain. OS X users\ndefinitely appreciate the preformatted documentation. I know that\nHomebrew uses it, and I think the git-osx-installer recently discussed\non this list uses it as well.\n\nSo, uh, maybe a way can be found to make it less cumbersome for you?\n\nj.\n"},{"id":"176793","messageId":"7vhb3penqw.fsf@alter.siamese.dyndns.org","threadId":"28459","inReplyTo":"20111003182136.GA6136@ecki.lan","subject":"Re: [PATCH] use -h for synopsis and --help for manpage consistently","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-10-03T22:03:51Z","receivedAt":"2011-10-03T22:03:51Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Clemens Buchacher <drizzd@aon.at> writes:\n\n> Hi Junio,\n>\n> This is a re-send in case you missed it.\n\nThanks.\n\n> Cheers,\n> Clemens\n>\n> --8<--\n>\n> Signed-off-by: Clemens Buchacher <drizzd@aon.at>\n> ---\n> ...\n> diff --git a/git-cvsserver.perl b/git-cvsserver.perl\n> index 1b8bff2..6c5185e 100755\n> --- a/git-cvsserver.perl\n> +++ b/git-cvsserver.perl\n> @@ -109,14 +109,14 @@ my $usage =\n>      \"    --strict-paths      : Don't allow recursing into subdirectories\\n\".\n>      \"    --export-all        : Don't check for gitcvs.enabled in config\\n\".\n>      \"    --version, -V       : Print version information and exit\\n\".\n> -    \"    --help, -h, -H      : Print usage information and exit\\n\".\n> +    \"    -h                  : Print usage information and exit\\n\".\n>      \"\\n\".\n>      \"<directory> ... is a list of allowed directories. If no directories\\n\".\n>      \"are given, all are allowed. This is an additional restriction, gitcvs\\n\".\n>      \"access still needs to be enabled by the gitcvs.enabled config option.\\n\".\n>      \"Alternately, one directory may be specified in GIT_CVSSERVER_ROOT.\\n\";\n>  \n> -my @opts = ( 'help|h|H', 'version|V',\n> +my @opts = ( 'h', 'version|V',\n\nI am a bit skeptical about the removal of 'H' here (also in git-svn).\n\nGranted, no sane script would have ever used \"-H\" (or \"-h\" for that\nmatter) so there is little chance for this to introduce a painful\nregression.\n"},{"id":"176903","messageId":"20111005063136.GB1403@ecki","threadId":"28459","inReplyTo":"7vaa9xyxpf.fsf@alter.siamese.dyndns.org","subject":"[PATCH] fix push --quiet: add 'quiet' capability to receive-pack","fromName":"Clemens Buchacher","fromEmail":"drizzd@aon.at","sentAt":"2011-10-05T06:31:36Z","receivedAt":"2011-10-05T06:31:36Z","isPatch":true,"sender":{"key":"drizzd@gmx.net","avatar":"https://avatars.githubusercontent.com/u/59082?v=4"},"body":"Hi Junio,\n\nSince 1.7.7 is out now, maybe you would like to pick this up again.\n\nCheers,\nClemens\n\nOn Wed, Sep 21, 2011 at 10:04:28PM -0700, Junio C Hamano wrote:\n> \n> * cb/maint-quiet-push (2011-09-05) 4 commits\n>  . t5541: avoid TAP test miscounting\n>  . push: old receive-pack does not understand --quiet\n>  . fix push --quiet via http\n>  . tests for push --quiet\n> \n> Dropped for rerolling after 1.7.7 cycle.\n\nThis is the re-rolled version based on current master, without the\nbackwards incompatible receive-pack --quiet option.\n\nI squashed the tests in and added your unpack(void) fixup.\n\nI have not added Michael's \"t5541: avoid TAP test miscounting\"\nsince I cannot reproduce the error:\n\n http://mid.gmane.org/e4e82f1267da3edfc600361de0041f618c31e30c.1315232475.git.git@drmicha.warpmail.net\n\nAnd there is also this related patch \"server_supports(): parse\nfeature list more carefully\", which looked good to me:\n\n http://mid.gmane.org/7vmxejy9od.fsf@alter.siamese.dyndns.org\n\nDoes it need more work?\n\nClemens\n\n--o<--\nCurrently, git push --quiet produces some non-error output, e.g.:\n\n $ git push --quiet\n Unpacking objects: 100% (3/3), done.\n\nThis fixes a bug reported for the fedora git package:\n\n https://bugzilla.redhat.com/show_bug.cgi?id=725593\n\nCommit 90a6c7d4 (propagate --quiet to send-pack/receive-pack)\nintroduced the --quiet option to receive-pack and made send-pack\npass that option. Older versions of receive-pack do not recognize\nthe option, however, and terminate immediately. The commit was\ntherefore reverted.\n\nThis change instead adds a 'quiet' capability to receive-pack,\nwhich is a backwards compatible.\n\nIn addition, this fixes push --quiet via http: A verbosity of 0\nmeans quiet for remote helpers.\n\nReported-by: Jesse Keating <jkeating@redhat.com>\nReported-by: Tobias Ulmer <tobiasu@tmux.org>\nCc: Todd Zullinger <tmz@pobox.com>\nSigned-off-by: Clemens Buchacher <drizzd@aon.at>\n---\n builtin/receive-pack.c   |   14 ++++++++++++--\n builtin/send-pack.c      |   13 ++++++++++---\n remote-curl.c            |    4 +++-\n t/t5523-push-upstream.sh |    7 +++++++\n t/t5541-http-push.sh     |    8 ++++++++\n 5 files changed, 40 insertions(+), 6 deletions(-)\n\ndiff --git a/builtin/receive-pack.c b/builtin/receive-pack.c\nindex ae164da..4419323 100644\n--- a/builtin/receive-pack.c\n+++ b/builtin/receive-pack.c\n@@ -31,6 +31,7 @@ static int transfer_unpack_limit = -1;\n static int unpack_limit = 100;\n static int report_status;\n static int use_sideband;\n+static int quiet;\n static int prefer_ofs_delta = 1;\n static int auto_update_server_info;\n static int auto_gc = 1;\n@@ -114,7 +115,7 @@ static int show_ref(const char *path, const unsigned char *sha1, int flag, void\n \telse\n \t\tpacket_write(1, \"%s %s%c%s%s\\n\",\n \t\t\t     sha1_to_hex(sha1), path, 0,\n-\t\t\t     \" report-status delete-refs side-band-64k\",\n+\t\t\t     \" report-status delete-refs side-band-64k quiet\",\n \t\t\t     prefer_ofs_delta ? \" ofs-delta\" : \"\");\n \tsent_capabilities = 1;\n \treturn 0;\n@@ -636,6 +637,8 @@ static struct command *read_head_info(void)\n \t\t\t\treport_status = 1;\n \t\t\tif (strstr(refname + reflen + 1, \"side-band-64k\"))\n \t\t\t\tuse_sideband = LARGE_PACKET_MAX;\n+\t\t\tif (strstr(refname + reflen + 1, \"quiet\"))\n+\t\t\t\tquiet = 1;\n \t\t}\n \t\tcmd = xcalloc(1, sizeof(struct command) + len - 80);\n \t\thashcpy(cmd->old_sha1, old_sha1);\n@@ -684,8 +687,10 @@ static const char *unpack(void)\n \n \tif (ntohl(hdr.hdr_entries) < unpack_limit) {\n \t\tint code, i = 0;\n-\t\tconst char *unpacker[4];\n+\t\tconst char *unpacker[5];\n \t\tunpacker[i++] = \"unpack-objects\";\n+\t\tif (quiet)\n+\t\t\tunpacker[i++] = \"-q\";\n \t\tif (receive_fsck_objects)\n \t\t\tunpacker[i++] = \"--strict\";\n \t\tunpacker[i++] = hdr_arg;\n@@ -799,6 +804,11 @@ int cmd_receive_pack(int argc, const char **argv, const char *prefix)\n \t\tconst char *arg = *argv++;\n \n \t\tif (*arg == '-') {\n+\t\t\tif (!strcmp(arg, \"--quiet\")) {\n+\t\t\t\tquiet = 1;\n+\t\t\t\tcontinue;\n+\t\t\t}\n+\n \t\t\tif (!strcmp(arg, \"--advertise-refs\")) {\n \t\t\t\tadvertise_refs = 1;\n \t\t\t\tcontinue;\ndiff --git a/builtin/send-pack.c b/builtin/send-pack.c\nindex c1f6ddd..a8d6b4c 100644\n--- a/builtin/send-pack.c\n+++ b/builtin/send-pack.c\n@@ -263,6 +263,8 @@ int send_pack(struct send_pack_args *args,\n \t\targs->use_ofs_delta = 1;\n \tif (server_supports(\"side-band-64k\"))\n \t\tuse_sideband = 1;\n+\tif (!server_supports(\"quiet\"))\n+\t\targs->quiet = 0;\n \n \tif (!remote_refs) {\n \t\tfprintf(stderr, \"No refs in common and none specified; doing nothing.\\n\"\n@@ -301,11 +303,12 @@ int send_pack(struct send_pack_args *args,\n \t\t\tchar *old_hex = sha1_to_hex(ref->old_sha1);\n \t\t\tchar *new_hex = sha1_to_hex(ref->new_sha1);\n \n-\t\t\tif (!cmds_sent && (status_report || use_sideband)) {\n-\t\t\t\tpacket_buf_write(&req_buf, \"%s %s %s%c%s%s\",\n+\t\t\tif (!cmds_sent && (status_report || use_sideband || args->quiet)) {\n+\t\t\t\tpacket_buf_write(&req_buf, \"%s %s %s%c%s%s%s\",\n \t\t\t\t\told_hex, new_hex, ref->name, 0,\n \t\t\t\t\tstatus_report ? \" report-status\" : \"\",\n-\t\t\t\t\tuse_sideband ? \" side-band-64k\" : \"\");\n+\t\t\t\t\tuse_sideband ? \" side-band-64k\" : \"\",\n+\t\t\t\t\targs->quiet ? \" quiet\" : \"\");\n \t\t\t}\n \t\t\telse\n \t\t\t\tpacket_buf_write(&req_buf, \"%s %s %s\",\n@@ -439,6 +442,10 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)\n \t\t\t\targs.force_update = 1;\n \t\t\t\tcontinue;\n \t\t\t}\n+\t\t\tif (!strcmp(arg, \"--quiet\")) {\n+\t\t\t\targs.quiet = 1;\n+\t\t\t\tcontinue;\n+\t\t\t}\n \t\t\tif (!strcmp(arg, \"--verbose\")) {\n \t\t\t\targs.verbose = 1;\n \t\t\t\tcontinue;\ndiff --git a/remote-curl.c b/remote-curl.c\nindex b8cf45a..2341106 100644\n--- a/remote-curl.c\n+++ b/remote-curl.c\n@@ -762,7 +762,9 @@ static int push_git(struct discovery *heads, int nr_spec, char **specs)\n \t\targv[argc++] = \"--thin\";\n \tif (options.dry_run)\n \t\targv[argc++] = \"--dry-run\";\n-\tif (options.verbosity > 1)\n+\tif (options.verbosity == 0)\n+\t\targv[argc++] = \"--quiet\";\n+\telse if (options.verbosity > 1)\n \t\targv[argc++] = \"--verbose\";\n \targv[argc++] = url;\n \tfor (i = 0; i < nr_spec; i++)\ndiff --git a/t/t5523-push-upstream.sh b/t/t5523-push-upstream.sh\nindex c229fe6..9ee52cf 100755\n--- a/t/t5523-push-upstream.sh\n+++ b/t/t5523-push-upstream.sh\n@@ -108,4 +108,11 @@ test_expect_failure TTY 'push --no-progress suppresses progress' '\n \t! grep \"Writing objects\" err\n '\n \n+test_expect_success TTY 'quiet push' '\n+\tensure_fresh_upstream &&\n+\n+\ttest_terminal git push --quiet --no-progress upstream master 2>&1 | tee output &&\n+\ttest_cmp /dev/null output\n+'\n+\n test_done\ndiff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh\nindex a73c826..e756a08 100755\n--- a/t/t5541-http-push.sh\n+++ b/t/t5541-http-push.sh\n@@ -5,6 +5,7 @@\n \n test_description='test smart pushing over http via http-backend'\n . ./test-lib.sh\n+. \"$TEST_DIRECTORY\"/lib-terminal.sh\n \n if test -n \"$NO_CURL\"; then\n \tskip_all='skipping test, git built without http support'\n@@ -154,5 +155,12 @@ test_expect_success 'push (chunked)' '\n \t test $HEAD = $(git rev-parse --verify HEAD))\n '\n \n+test_expect_success TTY 'quiet push' '\n+\tcd \"$ROOT_PATH\"/test_repo_clone &&\n+\ttest_commit quiet &&\n+\ttest_terminal git push --quiet --no-progress 2>&1 | tee output &&\n+\ttest_cmp /dev/null output\n+'\n+\n stop_httpd\n test_done\n-- \n1.7.6.1\n\n"},{"id":"176904","messageId":"20111005063344.GA1564@ecki","threadId":"28459","inReplyTo":"7vhb3penqw.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] use -h for synopsis and --help for manpage consistently","fromName":"Clemens Buchacher","fromEmail":"drizzd@aon.at","sentAt":"2011-10-05T06:33:45Z","receivedAt":"2011-10-05T06:33:45Z","isPatch":true,"sender":{"key":"drizzd@gmx.net","avatar":"https://avatars.githubusercontent.com/u/59082?v=4"},"body":"On Mon, Oct 03, 2011 at 03:03:51PM -0700, Junio C Hamano wrote:\n> >  \n> > -my @opts = ( 'help|h|H', 'version|V',\n> > +my @opts = ( 'h', 'version|V',\n> \n> I am a bit skeptical about the removal of 'H' here (also in git-svn).\n\nI see. I'm ok with your fixup.\n\nClemens\n"}]}