{"thread":{"id":"20871","subject":"What's cooking in git.git (Sep 2009, #02; Mon, 07)","startedAt":"2009-09-08T00:56:53Z","lastAt":"2009-09-12T11:46:30Z","messageCount":24,"participants":["Junio C Hamano","Nanako Shiraishi","Jakub Narebski","Sverre Rabbelier","Jeff King","Daniel Barkalow","Johannes Schindelin","Nicolas Sebrecht"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"122644","messageId":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":null,"subject":"What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-08T00:56:53Z","receivedAt":"2009-09-08T00:56:53Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"What's cooking in git.git (Sep 2009, #02; Mon, 07)\n--------------------------------------------------\n\nHere are the topics that have been cooking.  Commits prefixed with '-' are\nonly in 'pu' while commits prefixed with '+' are in 'next'.  The ones\nmarked with '.' do not appear in any of the integration branches, but I am\nstill holding onto them.\n\nIn 1.7.0, we plan to correct handful of warts in the interfaces everybody\nagrees that they were mistakes.  The resulting system may not be strictly\nbackward compatible.  Currently planeed changes are:\n\n * refuse push to update the checked out branch in a non-bare repo by\n   default\n\n   Make \"git push\" into a repository to update the branch that is checked\n   out fail by default.  You can countermand this default by setting a\n   configuration variable in the receiving repository.\n\n   http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007\n\n * refuse push to delete the current branch by default\n\n   Make \"git push $there :$killed\" to delete the branch that is pointed at\n   by its HEAD fail by default.  You can countermand this default by\n   setting a configuration variable in the receiving repository.\n\n   http://thread.gmane.org/gmane.comp.version-control.git/108862/focus=108936\n\n * git-send-email won't make deep threads by default\n\n   Many people said that by default when sending more than 2 patches the\n   threading git-send-email makes by default is hard to read, and they\n   prefer the default be one cover letter and each patch as a direct\n   follow-up to the cover letter.  You can countermand this by setting a\n   configuration variable.\n\n   http://article.gmane.org/gmane.comp.version-control.git/109790\n\n * git-status won't be \"git-commit --dry-run\" anymore\n\n   http://thread.gmane.org/gmane.comp.version-control.git/125989/focus=125993\n\n * \"git-diff -w --exit-code\" will exit success if only differences it\n   found are whitespace changes that are stripped away from the output.\n\n   http://thread.gmane.org/gmane.comp.version-control.git/119731/focus=119751\n\nDuring 1.6.5 cycle, 'next' will hold topics meant for 1.6.5 and 1.7.0.\n\nI tagged and pushed out 1.6.5-rc0.  There are still some topics cooking in\n'next' I would rather not leave out, but I've been hoping to keep this\ncycle short, and I'm also hoping to tag the real 1.6.5 before I vanish for\nabout a week and half later in the month. so in the worst case there may\nhave to be a 1.6.6 to include the leftover topics.\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* np/maint-1.6.3-deepen (2009-09-03) 2 commits\n  (merged to 'next' on 2009-09-06 at d597fba)\n + pack-objects: free preferred base memory after usage\n + make shallow repository deepening more network efficient\n\nFurther optimization and fixing of the object transfer around the \"shallow\nrepository\" codepaths.\n\n* js/stash-dwim (2009-07-27) 1 commit.\n  (merged to 'next' on 2009-08-16 at 67896c4)\n + Make 'git stash -k' a short form for 'git stash save --keep-index'\n (this branch is used by tr/reset-checkout-patch.)\n\n* tr/reset-checkout-patch (2009-08-18) 10 commits.\n  (merged to 'next' on 2009-09-03 at d4f2ed7)\n + stash: simplify defaulting to \"save\" and reject unknown options\n  (merged to 'next' on 2009-08-27 at d314281)\n + Make test case number unique\n  (merged to 'next' on 2009-08-18 at e465bb3)\n + tests: disable interactive hunk selection tests if perl is not available\n  (merged to 'next' on 2009-08-16 at 67896c4)\n + DWIM 'git stash save -p' for 'git stash -p'\n + Implement 'git stash save --patch'\n + Implement 'git checkout --patch'\n + Implement 'git reset --patch'\n + builtin-add: refactor the meat of interactive_add()\n + Add a small patch-mode testing library\n + git-apply--interactive: Refactor patch mode code\n (this branch uses js/stash-dwim.)\n\nDWIMmery of the two series tightened for safety a few days ago.  Otherwise\nthe same as what have been cooking in 'next' for a few weeks.\n\n* jc/upload-pack-hook (2009-08-28) 2 commits\n  (merged to 'next' on 2009-08-31 at f9933a5)\n + upload-pack: feed \"kind [clone|fetch]\" to post-upload-pack hook\n + upload-pack: add a trigger for post-upload-pack hook\n\n* jk/clone-b (2009-08-26) 1 commit\n  (merged to 'next' on 2009-08-30 at 10a68d1)\n + clone: add --branch option to select a different HEAD\n\n* jc/mailinfo-scissors (2009-08-26) 5 commits\n  (merged to 'next' on 2009-08-30 at 5fc6248)\n + mailinfo.scissors: new configuration\n + am/mailinfo: Disable scissors processing by default\n + Documentation: describe the scissors mark support of \"git am\"\n + Teach mailinfo to ignore everything before -- >8 -- mark\n + builtin-mailinfo.c: fix confusing internal API to mailinfo()\n\nI didn't pick up the patch to simplify the definition of scissors. I do\nnot have strong opinion on it either way, and nobody on the list seemed to\ncare too much either.\n\n--------------------------------------------------\n[New Topics]\n\n* cb/maint-1.6.3-grep-relative-up (2009-09-05) 2 commits.\n  (merged to 'next' on 2009-09-07 at f9b5b48)\n + grep: accept relative paths outside current working directory\n + grep: fix exit status if external_grep() punts\n\n1.6.5 material.\n\n* jk/1.7.0-status (2009-09-05) 5 commits\n - docs: note that status configuration affects only long format\n  (merged to 'next' on 2009-09-07 at 8a7c563)\n + commit: support alternate status formats\n + status: add --porcelain output format\n + status: refactor format option parsing\n + status: refactor short-mode printing to its own function\n (this branch uses jc/1.7.0-status.)\n\nGives the --short output format to post 1.7.0 \"git commit --dry-run\" that\nis similar to that of post 1.7.0 \"git status\".\n\nIt might be a good idea to make the --short format part of 1.6.6 without\nwaiting for 1.7.0; it would require some branch shuffling to bring the\nshort-status patch earlier than the one that makes \"status\" different from\n\"commit --dry-run\", though.\n\n* jk/unwanted-advices (2009-09-06) 2 commits\n - status: make \"how to stage\" messages optional\n - push: make non-fast-forward help message configurable\n\nPost 1.3.0 \"newbie friendliness drive\" introduced a lot of \"helpful\"\nadvice messages that are sometimes found to be irritating once the user\ngot used to working with git.  This series introduces a general mechanism\nto allow us to make them less loud using the config mechanism.  The config\noption hierarchy in these two are \"message.*\" but it is planned to be\nrenamed to \"advice.*\".\n\n* jn/gitweb-show-size (2009-09-07) 1 commit\n - gitweb: Add 'show-sizes' feature to show blob sizes in tree view\n\n* jt/pushinsteadof (2009-09-07) 2 commits\n - Add url.<base>.pushInsteadOf: URL rewriting for push only\n - Wrap rewrite globals in a struct in preparation for adding another set\n\nProbably 1.6.5 material.\n\n* lt/maint-traverse-trees-fix (2009-09-06) 1 commit.\n - Prepare 'traverse_trees()' for D/F conflict lookahead\n\nBeginning of the fix to a rather nasty longstanding issue of merging trees\nwith (\"a\" \"a-b\"), (\"a/b\" \"a-b\") and just (\"a-b\").\n\n* ne/rev-cache (2009-09-07) 7 commits\n . support for commit grafts, slight change to general mechanism\n . support for path name caching in rev-cache\n . full integration of rev-cache into git, completed test suite\n . administrative functions for rev-cache, start of integration into git\n . support for non-commit object caching in rev-cache\n . basic revision cache system, no integration or features\n . man page and technical discussion for rev-cache\n\nReplaced but I do not think this is ready for 'pu' yet.\n\n--------------------------------------------------\n[Stalled]\n\n* jh/notes (2009-08-27) 12 commits.\n - Add '%N'-format for pretty-printing commit notes\n - Add flags to get_commit_notes() to control the format of the note string\n - notes.c: Implement simple memory pooling of leaf nodes\n - Selftests verifying semantics when loading notes trees with various fanouts\n - Teach the notes lookup code to parse notes trees with various fanout schemes\n - t3302-notes-index-expensive: Speed up create_repo()\n - fast-import: Add support for importing commit notes\n - Teach \"-m <msg>\" and \"-F <file>\" to \"git notes edit\"\n - Add an expensive test for git-notes\n - Speed up git notes lookup\n - Add a script to edit/inspect notes\n - Introduce commit notes\n\nI heard the cvs-helper series depends on this one.  It seems that the\nfan-out strategy is being rethought?\n\n* je/send-email-no-subject (2009-08-05) 1 commit\n  (merged to 'next' on 2009-08-30 at b6455c2)\n + send-email: confirm on empty mail subjects\n\nThe existing tests to covers the positive case (i.e. as long as the user\nsays \"yes\" to the \"do you really want to send this message that lacks\nsubject\", the message is sent) of this feature, but the feature itself\nneeds its own test to verify the negative case (i.e. does it correctly\nstop if the user says \"no\"?)\n\n* db/vcs-helper (2009-09-03) 16 commits\n - Allow helpers to report in \"list\" command that the ref is unchanged\n - Add support for \"import\" helper command\n - Add a config option for remotes to specify a foreign vcs\n - Allow programs to not depend on remotes having urls\n - Allow fetch to modify refs\n - Use a function to determine whether a remote is valid\n - Use a clearer style to issue commands to remote helpers\n - Make the \"traditionally-supported\" URLs a special case\n  (merged to 'next' on 2009-08-07 at f3533ba)\n + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible\n + Makefile: do not link three copies of git-remote-* programs\n + Makefile: git-http-fetch does not need expat\n  (merged to 'next' on 2009-08-06 at 15da79d)\n + http-fetch: Fix Makefile dependancies\n + Add transport native helper executables to .gitignore\n  (merged to 'next' on 2009-08-05 at 33d491e)\n + git-http-fetch: not a builtin\n + Use an external program to implement fetching with curl\n + Add support for external programs for handling native fetches\n (this branch is used by jh/cvs-helper.)\n\nI'd really want to have this in 1.6.5 so that we can eject -lcurl from the\nmain \"git\" binary.  The patches in 'pu' got some review comments, and I\nthought Daniel's responses were sensible.  Comments?\n\n* jh/cvs-helper (2009-08-18) 8 commits\n - More fixes to the git-remote-cvs installation procedure\n - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs\n - Add simple selftests of git-remote-cvs functionality\n - git-remote-cvs: Remote helper program for CVS repositories\n - 2/2: Add Python support library for CVS remote helper\n - 1/2: Add Python support library for CVS remote helper\n - Basic build infrastructure for Python scripts\n - Allow helpers to request marks for fast-import\n (this branch uses db/vcs-helper.)\n\nBuilds on db/vcs-helper.  There is a re-roll planned.\n\n* cc/sequencer-rebase-i (2009-08-28) 15 commits\n - rebase -i: use \"git sequencer--helper --cherry-pick\"\n - sequencer: add \"--cherry-pick\" option to \"git sequencer--helper\"\n - sequencer: add \"do_commit()\" and related functions working on \"next_commit\"\n - pick: libify \"pick_help_msg()\"\n - revert: libify cherry-pick and revert functionnality\n - rebase -i: use \"git sequencer--helper --fast-forward\"\n - sequencer: let \"git sequencer--helper\" callers set \"allow_dirty\"\n - sequencer: add \"--fast-forward\" option to \"git sequencer--helper\"\n - sequencer: add \"do_fast_forward()\" to perform a fast forward\n - rebase -i: use \"git sequencer--helper --reset-hard\"\n - sequencer: add \"--reset-hard\" option to \"git sequencer--helper\"\n - sequencer: add \"reset_almost_hard()\" and related functions\n - rebase -i: use \"git sequencer--helper --make-patch\"\n - sequencer: add \"make_patch\" function to save a patch\n - sequencer: add \"builtin-sequencer--helper.c\"\n\nMigrating \"rebase -i\" bit by bit to C.\nNot a 1.6.5 material yet.\n\n--------------------------------------------------\n[Cooking]\n\n* pk/fast-import-tars (2009-09-03) 1 commit\n  (merged to 'next' on 2009-09-07 at 8fbf027)\n + import-tars: Allow per-tar author and commit message.\n\n* jc/maint-1.6.0-blank-at-eof (2009-09-05) 10 commits.\n  (merged to 'next' on 2009-09-07 at 165dc3c)\n + core.whitespace: split trailing-space into blank-at-{eol,eof}\n + diff --color: color blank-at-eof\n + diff --whitespace=warn/error: fix blank-at-eof check\n + diff --whitespace=warn/error: obey blank-at-eof\n + diff.c: the builtin_diff() deals with only two-file comparison\n + apply --whitespace: warn blank but not necessarily empty lines at EOF\n + apply --whitespace=warn/error: diagnose blank at EOF\n + apply.c: split check_whitespace() into two\n + apply --whitespace=fix: detect new blank lines at eof correctly\n + apply --whitespace=fix: fix handling of blank lines at the eof\n\nHopefully in 1.6.5\n\n* pk/fast-import-dirs (2009-09-03) 1 commit\n  (merged to 'next' on 2009-09-07 at 836cba2)\n + Add script for importing bits-and-pieces to Git.\n\nWith an updated key-value quoting rules, which I haven't carefully looked\nat.  I have to wonder if there are standard libraries to do this sort of\nthing without having to hand-roll these logic every time.  But perhaps I\nshouldn't be too picky on contrib/ material.\n\n* jn/gitweb-blame (2009-09-01) 5 commits\n - gitweb: Minify gitweb.js if JSMIN is defined\n - gitweb: Create links leading to 'blame_incremental' using JavaScript\n  (merged to 'next' on 2009-09-07 at 3622199)\n + gitweb: Colorize 'blame_incremental' view during processing\n + gitweb: Incremental blame (using JavaScript)\n + gitweb: Add optional \"time to generate page\" info in footer\n\nAjax-y blame.\n\n* sr/gfi-options (2009-09-06) 6 commits\n  (merged to 'next' on 2009-09-07 at 5f6b0ff)\n + fast-import: test the new option command\n + fast-import: add option command\n + fast-import: test the new feature command\n + fast-import: add feature command\n + fast-import: put marks reading in it's own function\n + fast-import: put option parsing code in separate functions\n\nPerhaps 1.6.5 material but I wasn't sure.\n\n* nd/sparse (2009-08-20) 19 commits\n - sparse checkout: inhibit empty worktree\n - Add tests for sparse checkout\n - read-tree: add --no-sparse-checkout to disable sparse checkout support\n - unpack-trees(): ignore worktree check outside checkout area\n - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index\n - unpack-trees(): \"enable\" sparse checkout and load $GIT_DIR/info/sparse-checkout\n - unpack-trees.c: generalize verify_* functions\n - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone\n - Introduce \"sparse checkout\"\n - dir.c: export excluded_1() and add_excludes_from_file_1()\n - excluded_1(): support exclude files in index\n - unpack-trees(): carry skip-worktree bit over in merged_entry()\n - Read .gitignore from index if it is skip-worktree\n - Avoid writing to buffer in add_excludes_from_file_1()\n - Teach Git to respect skip-worktree bit (writing part)\n - Teach Git to respect skip-worktree bit (reading part)\n - Introduce \"skip-worktree\" bit in index, teach Git to get/set this bit\n - Add test-index-version\n - update-index: refactor mark_valid() in preparation for new options\n\n--------------------------------------------------\n[For 1.7.0]\n\n* jc/1.7.0-status (2009-09-05) 4 commits\n  (merged to 'next' on 2009-09-06 at 19d4beb)\n + status: typo fix in usage\n  (merged to 'next' on 2009-08-22 at b3507bb)\n + git status: not \"commit --dry-run\" anymore\n + git stat -s: short status output\n + git stat: the beginning of \"status that is not a dry-run of commit\"\n (this branch is used by jk/1.7.0-status.)\n\nWith this, \"git status\" is no longer \"git commit --dry-run\".\n\n* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit\n  (merged to 'next' on 2009-08-22 at 5106de8)\n + send-email: make --no-chain-reply-to the default\n\n* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.\n  (merged to 'next' on 2009-08-30 at 0623572)\n + diff.c: fix typoes in comments\n  (merged to 'next' on 2009-08-27 at 81fb2bd)\n + Make test case number unique\n  (merged to 'next' on 2009-08-02 at 9c08420)\n + diff: Rename QUIET internal option to QUICK\n + diff: change semantics of \"ignore whitespace\" options\n\nThis changes exit code from \"git diff --ignore-whitespace\" and friends\nwhen there is no actual output.  It is a backward incompatible change, but\nwe could argue that it is a bugfix.\n\n* jc/1.7.0-push-safety (2009-02-09) 2 commits\n  (merged to 'next' on 2009-08-02 at 38b82fe)\n + Refuse deleting the current branch via push\n + Refuse updating the current branch in a non-bare repository via push\n\n--------------------------------------------------\n[I have been too busy to purge these]\n\n* jc/log-tz (2009-03-03) 1 commit.\n - Allow --date=local --date=other-format to work as expected\n\nMaybe some people care about this.  I dunno.\n\n* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.\n - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker\n\nMaybe some people care about this.  I dunno.\n\n* lt/read-directory (2009-05-15) 3 commits.\n . Add initial support for pathname conversion to UTF-8\n . read_directory(): infrastructure for pathname character set conversion\n . Add 'fill_directory()' helper function for directory traversal\n"},{"id":"122668","messageId":"20090908153109.6117@nanako3.lavabit.com","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Nanako Shiraishi","fromEmail":"nanako3@lavabit.com","sentAt":"2009-09-08T06:31:09Z","receivedAt":"2009-09-08T06:31:09Z","isPatch":false,"sender":{"key":"nanako3@lavabit.com","avatar":"https://gravatar.com/avatar/3777b9e201c5883a62b1a6fdf7c53f2d712d1d80989146063ea861e33aad72a8?d=mp&s=160"},"body":"Quoting Junio C Hamano <gitster@pobox.com>\n\n> I tagged and pushed out 1.6.5-rc0.  There are still some topics cooking in\n> 'next' I would rather not leave out, but I've been hoping to keep this\n> cycle short, and I'm also hoping to tag the real 1.6.5 before I vanish for\n> about a week and half later in the month. so in the worst case there may\n> have to be a 1.6.6 to include the leftover topics.\n\nAre you coming to Japan to promote your book, perhaps giving autographs at bookstores?\n\n-- \nNanako Shiraishi\nhttp://ivory.ap.teacup.com/nanako3/\n"},{"id":"122671","messageId":"7vws4agcdl.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":"20090908153109.6117@nanako3.lavabit.com","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-08T06:48:54Z","receivedAt":"2009-09-08T06:48:54Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nanako Shiraishi <nanako3@lavabit.com> writes:\n\n> Quoting Junio C Hamano <gitster@pobox.com>\n>\n>> ... I'm also hoping to tag the real 1.6.5 before I vanish for\n>> about a week and half later in the month....\n>\n> Are you coming to Japan to promote your book, perhaps giving autographs at bookstores?\n\nIt will come out around 19th if things go as planned, but I'll be arriving\nthe week after that so I'll be too late for that kind of thing.\n\nBesides, who would want an autographed copy of a technical book?\n\nI should start asking the usual suspect to take things over while I'm\noffline...\n"},{"id":"122699","messageId":"m3k509vaym.fsf@localhost.localdomain","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-09-08T13:10:28Z","receivedAt":"2009-09-08T13:10:28Z","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> * jn/gitweb-show-size (2009-09-07) 1 commit\n>  - gitweb: Add 'show-sizes' feature to show blob sizes in tree view\n\nThis is an RFC, because of a) feature naming, and b) tests.\nIt does work correctly, though.\n \n> * jn/gitweb-blame (2009-09-01) 5 commits\n>  - gitweb: Minify gitweb.js if JSMIN is defined\n>  - gitweb: Create links leading to 'blame_incremental' using JavaScript\n>   (merged to 'next' on 2009-09-07 at 3622199)\n\nI plan on reverting the order of those two patches, as JSMIN patch is\nmore ready than 'blame_incremental' linking.\n\nWith JSMIN there is perhaps question of documenting it, and whether\ngit-instaweb.sh should use minified JavaScript or not (curently it\ndoes not).  With 'blame_incremental' linking there are quite a few\nissues:\n\n 1. When to do JavaScript detection\n    a. on load (current solution)\n    b. on click (via event handler)\n 2. How to invoke actions requiring JavaScript\n    a. add 'js=1' parameter (perhaps limiting URLs, as not to\n       add it e.g. to http://git-scm.com/ $home_link)\n    b. rewrite action parameter, e.g. from 'blame' to\n       'blame_incremental' (troubles with path_info URLs)\n    c. use cookies\n\nCurrent solution works, but I think is suboptimal.\n\n>  + gitweb: Colorize 'blame_incremental' view during processing\n>  + gitweb: Incremental blame (using JavaScript)\n>  + gitweb: Add optional \"time to generate page\" info in footer\n> \n> Ajax-y blame.\n\nI'd very much like for others to check if it works with other browsers\n(Internet Explorer 6, 7, 8; Opera 9, 10; Safari; Firefox 2, 3, 3.5)\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"122700","messageId":"fabb9a1e0909080617ga2c1c4v383987961156d778@mail.gmail.com","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2009-09-08T13:17:20Z","receivedAt":"2009-09-08T13:17:20Z","isPatch":false,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nOn Tue, Sep 8, 2009 at 02:56, Junio C Hamano<gitster@pobox.com> wrote:\n> * sr/gfi-options (2009-09-06) 6 commits\n>  (merged to 'next' on 2009-09-07 at 5f6b0ff)\n>  + fast-import: test the new option command\n>  + fast-import: add option command\n>  + fast-import: test the new feature command\n>  + fast-import: add feature command\n>  + fast-import: put marks reading in it's own function\n>  + fast-import: put option parsing code in separate functions\n>\n> Perhaps 1.6.5 material but I wasn't sure.\n\nShawn, what's your opinion of v7? I think it handles pretty much\neverything we need for at least a draft and is good for 1.6.5, but\nit's up to you of course :).\n\n-- \nCheers,\n\nSverre Rabbelier\n"},{"id":"122758","messageId":"20090909115924.GA31149@coredump.intra.peff.net","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"jk/1.7.0-status, was: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2009-09-09T11:59:24Z","receivedAt":"2009-09-09T11:59:24Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Sep 07, 2009 at 05:56:53PM -0700, Junio C Hamano wrote:\n\n> * jk/1.7.0-status (2009-09-05) 5 commits\n>  - docs: note that status configuration affects only long format\n>   (merged to 'next' on 2009-09-07 at 8a7c563)\n>  + commit: support alternate status formats\n>  + status: add --porcelain output format\n>  + status: refactor format option parsing\n>  + status: refactor short-mode printing to its own function\n>  (this branch uses jc/1.7.0-status.)\n> \n> Gives the --short output format to post 1.7.0 \"git commit --dry-run\" that\n> is similar to that of post 1.7.0 \"git status\".\n> \n> It might be a good idea to make the --short format part of 1.6.6 without\n> waiting for 1.7.0; it would require some branch shuffling to bring the\n> short-status patch earlier than the one that makes \"status\" different from\n> \"commit --dry-run\", though.\n\nIt looks like the short-status patch is already right before \"commit\n--dry-run\", but it is of course part of \"git stat\". So we could get by\nwith branching from jc/1.7.0-status^, and do one of:\n\n 1. develop as if we were a totally separate topic, refactoring, adding\n    --porcelain mode, etc.\n\n 2. just support \"--short\" from \"git status\" with as small a change as\n    possible, and let the rest of the enhancements stay where they are,\n    for 1.7.0\n\nOption (1) is what I would usually do, but I think in this case it is\njust going to end up with me re-doing lots of work as the\nalmost-duplicated refactoring happening in the two branches is going to\nmake a gigantic conflict.\n\nAnd of course option (3) is to just let --short rest until 1.7.0.\n\n-Peff\n"},{"id":"122820","messageId":"alpine.LNX.2.00.0909101206540.28290@iabervon.org","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2009-09-10T16:18:31Z","receivedAt":"2009-09-10T16:18:31Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Mon, 7 Sep 2009, Junio C Hamano wrote:\n\n> * db/vcs-helper (2009-09-03) 16 commits\n>  - Allow helpers to report in \"list\" command that the ref is unchanged\n>  - Add support for \"import\" helper command\n>  - Add a config option for remotes to specify a foreign vcs\n>  - Allow programs to not depend on remotes having urls\n>  - Allow fetch to modify refs\n>  - Use a function to determine whether a remote is valid\n>  - Use a clearer style to issue commands to remote helpers\n>  - Make the \"traditionally-supported\" URLs a special case\n>   (merged to 'next' on 2009-08-07 at f3533ba)\n>  + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible\n>  + Makefile: do not link three copies of git-remote-* programs\n>  + Makefile: git-http-fetch does not need expat\n>   (merged to 'next' on 2009-08-06 at 15da79d)\n>  + http-fetch: Fix Makefile dependancies\n>  + Add transport native helper executables to .gitignore\n>   (merged to 'next' on 2009-08-05 at 33d491e)\n>  + git-http-fetch: not a builtin\n>  + Use an external program to implement fetching with curl\n>  + Add support for external programs for handling native fetches\n>  (this branch is used by jh/cvs-helper.)\n> \n> I'd really want to have this in 1.6.5 so that we can eject -lcurl from the\n> main \"git\" binary.  The patches in 'pu' got some review comments, and I\n> thought Daniel's responses were sensible.  Comments?\n\nI'm pretty sure that there were no objections to 'Make the \n\"traditonally-supported\"...' patch, and directly after that is a \nreasonable stopping point (everything that used to work works the same, \nnothing new and user-visible is introduced, the implementation is \nreasonably straightforward and tidy, and the git binary doesn't \nlink against -lcurl). I'd suggest putting everything up to that point into \nmaster and debating the rest of the series on its own merits (and likely \ndeferring it to post-1.6.5, since it doesn't have an in-tree user to \nexercise it yet).\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"122822","messageId":"alpine.DEB.1.00.0909101852080.8306@pacific.mpi-cbg.de","threadId":"20871","inReplyTo":"alpine.LNX.2.00.0909101206540.28290@iabervon.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-09-10T16:53:34Z","receivedAt":"2009-09-10T16:53:34Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 10 Sep 2009, Daniel Barkalow wrote:\n\n> I'm pretty sure that there were no objections to 'Make the \n> \"traditonally-supported\"...' patch,\n\nWell, there were.  By me.\n\nThere is a reason why you call the series \"foreign\" vcs helpers.  And \nthat's because it would be very wrong to pretend that they are the rule, \nand the current URL schemes the exception.  Very wrong, indeed.\n\nThankyouvermuch,\nDscho\n"},{"id":"122823","messageId":"alpine.LNX.2.00.0909101317230.28290@iabervon.org","threadId":"20871","inReplyTo":"alpine.DEB.1.00.0909101852080.8306@pacific.mpi-cbg.de","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2009-09-10T17:55:28Z","receivedAt":"2009-09-10T17:55:28Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Thu, 10 Sep 2009, Johannes Schindelin wrote:\n\n> Hi,\n> \n> On Thu, 10 Sep 2009, Daniel Barkalow wrote:\n> \n> > I'm pretty sure that there were no objections to 'Make the \n> > \"traditonally-supported\"...' patch,\n> \n> Well, there were.  By me.\n> \n> There is a reason why you call the series \"foreign\" vcs helpers.  And \n> that's because it would be very wrong to pretend that they are the rule, \n> and the current URL schemes the exception.  Very wrong, indeed.\n\nThe current URL scheme *is* an \"exception\" to the \"rule\" that all remotes \nare foreign, or the current \"rule\" that all remotes are ssh-style. Any \npatterns that we currently support are handled by recognizing a particular \npattern (starts with \"git://\", starts with \"rsync://\", starts with \n\"https://\", is a local file, is a local directory, etc), so they're all \nspecial cases. They're further special cases by virtue of the fact that \nthe code to handle them is in the git distribution.\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"122827","messageId":"7vk506abgr.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":"alpine.DEB.1.00.0909101852080.8306@pacific.mpi-cbg.de","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-10T18:41:56Z","receivedAt":"2009-09-10T18:41:56Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> There is a reason why you call the series \"foreign\" vcs helpers.  And \n> that's because it would be very wrong to pretend that they are the rule, \n> and the current URL schemes the exception.  Very wrong, indeed.\n\nI do not know what you mean by \"very wrong\".\n\nIf the name bothers you, you can think of the earlier part of the series\ncleaning up the transport code so that it makes easier to choose which\ntransport, either internal or external, and ports the native transport\nsupport to use the mechanism.  Then the rest of the series builds on it to\nadd further support for \"foreign\" vcs helpers.\n"},{"id":"122855","messageId":"1252627761-1128-1-git-send-email-nicolas.s.dev@gmx.fr","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"scissors definition and documentation","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-11T00:09:19Z","receivedAt":"2009-09-11T00:09:19Z","isPatch":false,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"The 07/09/09, Junio C Hamano wrote:\n> \n> * jc/mailinfo-scissors (2009-08-26) 5 commits\n>   (merged to 'next' on 2009-08-30 at 5fc6248)\n>  + mailinfo.scissors: new configuration\n>  + am/mailinfo: Disable scissors processing by default\n>  + Documentation: describe the scissors mark support of \"git am\"\n>  + Teach mailinfo to ignore everything before -- >8 -- mark\n>  + builtin-mailinfo.c: fix confusing internal API to mailinfo()\n> \n> I didn't pick up the patch to simplify the definition of scissors. I do\n> not have strong opinion on it either way, and nobody on the list seemed to\n> care too much either.\n\nSince --scissors is an option instead of the default behaviour, I believe that\nthe definition of scissors is much less critical.\n\nThe following two patches is only about documentation.\n\nThe last patch mixes documentation of both mailinfo.scissors and --no--scissors\nbecause I think they are very tied from the user POV.\n\n [PATCH 1/2] mailinfo: add '--scissors' to usage message\n [PATCH 2/2] add documentation for mailinfo.scissors and '--no-scissors'\n\n---\n Documentation/git-am.txt       |    2 +-\n Documentation/git-mailinfo.txt |    6 ++++++\n builtin-mailinfo.c             |    2 +-\n git-am.sh                      |    1 +\n 4 files changed, 9 insertions(+), 2 deletions(-)\n"},{"id":"122856","messageId":"682ef47420f36d8c53e42981370d377b621d7b86.1252626034.git.nicolas.s.dev@gmx.fr","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"[PATCH 1/2] mailinfo: add '--scissors' to usage message","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-11T00:09:20Z","receivedAt":"2009-09-11T00:09:20Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n builtin-mailinfo.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/builtin-mailinfo.c b/builtin-mailinfo.c\nindex 03cbcad..7d22fd7 100644\n--- a/builtin-mailinfo.c\n+++ b/builtin-mailinfo.c\n@@ -1004,7 +1004,7 @@ static int git_mailinfo_config(const char *var, const char *value, void *unused)\n }\n \n static const char mailinfo_usage[] =\n-\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] msg patch <mail >info\";\n+\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] [--scissors] msg patch < mail >info\";\n \n int cmd_mailinfo(int argc, const char **argv, const char *prefix)\n {\n-- \n1.6.5.rc0.164.g5f6b0\n"},{"id":"122857","messageId":"33445216edc4c4e1976cdd81521922042955e6eb.1252626034.git.nicolas.s.dev@gmx.fr","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"[PATCH 2/2] add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-11T00:09:21Z","receivedAt":"2009-09-11T00:09:21Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n Documentation/git-am.txt       |    2 +-\n Documentation/git-mailinfo.txt |    6 ++++++\n builtin-mailinfo.c             |    2 +-\n git-am.sh                      |    1 +\n 4 files changed, 9 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-am.txt b/Documentation/git-am.txt\nindex 87781f4..8b2897b 100644\n--- a/Documentation/git-am.txt\n+++ b/Documentation/git-am.txt\n@@ -13,7 +13,7 @@ SYNOPSIS\n \t [--3way] [--interactive] [--committer-date-is-author-date]\n \t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n \t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]\n-\t [--reject] [-q | --quiet] [--scissors]\n+\t [--reject] [-q | --quiet] [--scissors | --no-scissors]\n \t [<mbox> | <Maildir>...]\n 'git am' (--skip | --resolved | --abort)\n \ndiff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt\nindex 823ab82..55b8c5e 100644\n--- a/Documentation/git-mailinfo.txt\n+++ b/Documentation/git-mailinfo.txt\n@@ -62,6 +62,12 @@ This is useful if you want to begin your message in a discussion thread\n with comments and suggestions on the message you are responding to, and to\n conclude it with a patch submission, separating the discussion and the\n beginning of the proposed commit log message with a scissors line.\n++\n+This can enabled by default with the configuration option mailinfo.scissors.\n+\n+--no-scissors::\n+\tDo not obey to a scissors line. This is only useful if mailinfo.scissors is\n+\tenabled (see --scissors).\n \n <msg>::\n \tThe commit log message extracted from e-mail, usually\ndiff --git a/builtin-mailinfo.c b/builtin-mailinfo.c\nindex 7d22fd7..d498b1c 100644\n--- a/builtin-mailinfo.c\n+++ b/builtin-mailinfo.c\n@@ -1004,7 +1004,7 @@ static int git_mailinfo_config(const char *var, const char *value, void *unused)\n }\n \n static const char mailinfo_usage[] =\n-\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] [--scissors] msg patch < mail >info\";\n+\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] [--scissors | --no-scissors] msg patch < mail >info\";\n \n int cmd_mailinfo(int argc, const char **argv, const char *prefix)\n {\ndiff --git a/git-am.sh b/git-am.sh\nindex 26ffe70..f242d1a 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -16,6 +16,7 @@ s,signoff       add a Signed-off-by line to the commit message\n u,utf8          recode into utf8 (default)\n k,keep          pass -k flag to git-mailinfo\n c,scissors      strip everything before a scissors line\n+no-scissors     don't obey to a scissors line (default)\n whitespace=     pass it through git-apply\n ignore-space-change pass it through git-apply\n ignore-whitespace pass it through git-apply\n-- \n1.6.5.rc0.164.g5f6b0\n"},{"id":"122860","messageId":"f63e8402656c02fc2ecdcce8a37cc1d60a61aa1d.1252628643.git.nicolas.s.dev@gmx.fr","threadId":"20871","inReplyTo":"33445216edc4c4e1976cdd81521922042955e6eb.1252626034.git.nicolas.s.dev@gmx.fr","subject":"[PATCH v2] add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-11T00:29:58Z","receivedAt":"2009-09-11T00:29:58Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n\nI've missed the documentation of --no-scissors in git-am.txt in the previous\nround (second hunks here).\n\nSorry for inconvenience.\n\n Documentation/git-am.txt       |    5 ++++-\n Documentation/git-mailinfo.txt |    6 ++++++\n builtin-mailinfo.c             |    2 +-\n git-am.sh                      |    1 +\n 4 files changed, 12 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-am.txt b/Documentation/git-am.txt\nindex 87781f4..14ae3a5 100644\n--- a/Documentation/git-am.txt\n+++ b/Documentation/git-am.txt\n@@ -13,7 +13,7 @@ SYNOPSIS\n \t [--3way] [--interactive] [--committer-date-is-author-date]\n \t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n \t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]\n-\t [--reject] [-q | --quiet] [--scissors]\n+\t [--reject] [-q | --quiet] [--scissors | --no-scissors]\n \t [<mbox> | <Maildir>...]\n 'git am' (--skip | --resolved | --abort)\n \n@@ -44,6 +44,9 @@ OPTIONS\n \tRemove everything in body before a scissors line (see\n \tlinkgit:git-mailinfo[1]).\n \n+---no-scissors::\n+\tDo not obey to a scissors line (see linkgit:git-mailinfo[1]).\n+\n -q::\n --quiet::\n \tBe quiet. Only print error messages.\ndiff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt\nindex 823ab82..55b8c5e 100644\n--- a/Documentation/git-mailinfo.txt\n+++ b/Documentation/git-mailinfo.txt\n@@ -62,6 +62,12 @@ This is useful if you want to begin your message in a discussion thread\n with comments and suggestions on the message you are responding to, and to\n conclude it with a patch submission, separating the discussion and the\n beginning of the proposed commit log message with a scissors line.\n++\n+This can enabled by default with the configuration option mailinfo.scissors.\n+\n+--no-scissors::\n+\tDo not obey to a scissors line. This is only useful if mailinfo.scissors is\n+\tenabled (see --scissors).\n \n <msg>::\n \tThe commit log message extracted from e-mail, usually\ndiff --git a/builtin-mailinfo.c b/builtin-mailinfo.c\nindex 7d22fd7..d498b1c 100644\n--- a/builtin-mailinfo.c\n+++ b/builtin-mailinfo.c\n@@ -1004,7 +1004,7 @@ static int git_mailinfo_config(const char *var, const char *value, void *unused)\n }\n \n static const char mailinfo_usage[] =\n-\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] [--scissors] msg patch < mail >info\";\n+\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] [--scissors | --no-scissors] msg patch < mail >info\";\n \n int cmd_mailinfo(int argc, const char **argv, const char *prefix)\n {\ndiff --git a/git-am.sh b/git-am.sh\nindex 26ffe70..f242d1a 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -16,6 +16,7 @@ s,signoff       add a Signed-off-by line to the commit message\n u,utf8          recode into utf8 (default)\n k,keep          pass -k flag to git-mailinfo\n c,scissors      strip everything before a scissors line\n+no-scissors     don't obey to a scissors line (default)\n whitespace=     pass it through git-apply\n ignore-space-change pass it through git-apply\n ignore-whitespace pass it through git-apply\n-- \n1.6.5.rc0.168.gdcd6e\n"},{"id":"122875","messageId":"7veiqe0x05.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":"f63e8402656c02fc2ecdcce8a37cc1d60a61aa1d.1252628643.git.nicolas.s.dev@gmx.fr","subject":"Re: [PATCH v2] add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-11T07:19:06Z","receivedAt":"2009-09-11T07:19:06Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> +---no-scissors::\n> +\tDo not obey to a scissors line (see linkgit:git-mailinfo[1]).\n> +\n\nobey is v.t. so \"do not obey a scissors line\" would be grammatical; I\nthink \"ignore scissors lines\" would be better.\n\n> +--no-scissors::\n> +\tDo not obey to a scissors line. This is only useful if mailinfo.scissors is\n> +\tenabled (see --scissors).\n\nDitto; also it is useful in general if you do not know which way it is\nconfigured.  Saying \"_only_\" is misleading.\n\n\tIgnore scissors lines; useful for overriding mailinfo.scissors\n\tsettings.\n\n> diff --git a/git-am.sh b/git-am.sh\n> index 26ffe70..f242d1a 100755\n> --- a/git-am.sh\n> +++ b/git-am.sh\n> @@ -16,6 +16,7 @@ s,signoff       add a Signed-off-by line to the commit message\n>  u,utf8          recode into utf8 (default)\n>  k,keep          pass -k flag to git-mailinfo\n>  c,scissors      strip everything before a scissors line\n> +no-scissors     don't obey to a scissors line (default)\n>  whitespace=     pass it through git-apply\n>  ignore-space-change pass it through git-apply\n>  ignore-whitespace pass it through git-apply\n\nDo we want it to allow --no-no-scissors?  I do not think this hunk is\nnecessary at all.\n"},{"id":"122887","messageId":"20090911134112.GA18684@vidovic","threadId":"20871","inReplyTo":"7veiqe0x05.fsf@alter.siamese.dyndns.org","subject":"[PATCH v2] Re: add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-11T13:41:12Z","receivedAt":"2009-09-11T13:41:12Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"[ Thank you for this review. ]\n\nThe 11/09/09, Junio C Hamano wrote:\n> Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n> \n> > diff --git a/git-am.sh b/git-am.sh\n> > index 26ffe70..f242d1a 100755\n> > --- a/git-am.sh\n> > +++ b/git-am.sh\n> > @@ -16,6 +16,7 @@ s,signoff       add a Signed-off-by line to the commit message\n> >  u,utf8          recode into utf8 (default)\n> >  k,keep          pass -k flag to git-mailinfo\n> >  c,scissors      strip everything before a scissors line\n> > +no-scissors     don't obey to a scissors line (default)\n> >  whitespace=     pass it through git-apply\n> >  ignore-space-change pass it through git-apply\n> >  ignore-whitespace pass it through git-apply\n> \n> Do we want it to allow --no-no-scissors?  I do not think this hunk is\n> necessary at all.\n\nI don't understand your point here. This hunk doesn't allow\n--no-no-scissors but add --no-scissors to usage of 'git am', no?\n\nDo I miss something around $OPTIONS_SPEC?\n\n-- \nNicolas Sebrecht\n"},{"id":"122906","messageId":"7vws45wbxq.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":"20090911134112.GA18684@vidovic","subject":"Re: [PATCH v2] Re: add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-11T18:53:05Z","receivedAt":"2009-09-11T18:53:05Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> I don't understand your point here. This hunk doesn't allow\n> --no-no-scissors but add --no-scissors to usage of 'git am', no?\n>\n> Do I miss something around $OPTIONS_SPEC?\n\nYou missed two thirds of the issue and I missed the other one third ;-)\n\nAs scissors is not marked with ! (see PARSEOPT section in the rev-parse\ndocumentation), no-scissors is already available without that hunk, and\nthat is why your patch is unnecessary.\n\nYour patch did not mark no-scissors with ! either, so it makes the call to\nrev-parse --parseopt to process your OPTIONS_SPEC pass --no-no-scissors.\n\nHowever, you did not add --no-no-scissors arm to the case statement that\nprocesses rev-parse --parseopt output, so the command as the whole still\nrejects --no-no-scissors as invalid (this is the last third I missed).\n"},{"id":"122907","messageId":"46a8212df1c43729a9b2d3ff3029e2c28ac34119.1252698215.git.nicolas.s.dev@gmx.fr","threadId":"20871","inReplyTo":"7veiqe0x05.fsf@alter.siamese.dyndns.org","subject":"[PATCH v3 2/2] add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-11T19:50:25Z","receivedAt":"2009-09-11T19:50:25Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"The 11/09/09, Junio C Hamano wrote:\n> Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n> \n> > +---no-scissors::\n> > +   Do not obey to a scissors line (see linkgit:git-mailinfo[1]).\n> > +\n> \n> obey is v.t. so \"do not obey a scissors line\" would be grammatical; I\n> think \"ignore scissors lines\" would be better.\n> \n> > +--no-scissors::\n> > +   Do not obey to a scissors line. This is only useful if mailinfo.scissors is\n> > +   enabled (see --scissors).\n> \n> Ditto; also it is useful in general if you do not know which way it is\n> configured.  Saying \"_only_\" is misleading.\n> \n>       Ignore scissors lines; useful for overriding mailinfo.scissors\n>       settings.\n> \n> > diff --git a/git-am.sh b/git-am.sh\n> > index 26ffe70..f242d1a 100755\n> > --- a/git-am.sh\n> > +++ b/git-am.sh\n> > @@ -16,6 +16,7 @@ s,signoff       add a Signed-off-by line to the commit message\n> >  u,utf8          recode into utf8 (default)\n> >  k,keep          pass -k flag to git-mailinfo\n> >  c,scissors      strip everything before a scissors line\n> > +no-scissors     don't obey to a scissors line (default)\n> >  whitespace=     pass it through git-apply\n> >  ignore-space-change pass it through git-apply\n> >  ignore-whitespace pass it through git-apply\n> \n> Do we want it to allow --no-no-scissors?  I do not think this hunk is\n> necessary at all.\n\nThis version includes the above comments.\n\nThanks,\n\n-- >8 --\n\nSigned-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n Documentation/git-am.txt       |    5 ++++-\n Documentation/git-mailinfo.txt |    5 +++++\n builtin-mailinfo.c             |    2 +-\n 3 files changed, 10 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-am.txt b/Documentation/git-am.txt\nindex 87781f4..06e6ea6 100644\n--- a/Documentation/git-am.txt\n+++ b/Documentation/git-am.txt\n@@ -13,7 +13,7 @@ SYNOPSIS\n \t [--3way] [--interactive] [--committer-date-is-author-date]\n \t [--ignore-date] [--ignore-space-change | --ignore-whitespace]\n \t [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]\n-\t [--reject] [-q | --quiet] [--scissors]\n+\t [--reject] [-q | --quiet] [--scissors | --no-scissors]\n \t [<mbox> | <Maildir>...]\n 'git am' (--skip | --resolved | --abort)\n \n@@ -44,6 +44,9 @@ OPTIONS\n \tRemove everything in body before a scissors line (see\n \tlinkgit:git-mailinfo[1]).\n \n+---no-scissors::\n+\tignore scissors lines (see linkgit:git-mailinfo[1]).\n+\n -q::\n --quiet::\n \tBe quiet. Only print error messages.\ndiff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt\nindex 823ab82..d1f9cb8 100644\n--- a/Documentation/git-mailinfo.txt\n+++ b/Documentation/git-mailinfo.txt\n@@ -62,6 +62,11 @@ This is useful if you want to begin your message in a discussion thread\n with comments and suggestions on the message you are responding to, and to\n conclude it with a patch submission, separating the discussion and the\n beginning of the proposed commit log message with a scissors line.\n++\n+This can enabled by default with the configuration option mailinfo.scissors.\n+\n+--no-scissors::\n+\tignore scissors lines; useful for overriding mailinfo.scissors settings.\n \n <msg>::\n \tThe commit log message extracted from e-mail, usually\ndiff --git a/builtin-mailinfo.c b/builtin-mailinfo.c\nindex 7d22fd7..d498b1c 100644\n--- a/builtin-mailinfo.c\n+++ b/builtin-mailinfo.c\n@@ -1004,7 +1004,7 @@ static int git_mailinfo_config(const char *var, const char *value, void *unused)\n }\n \n static const char mailinfo_usage[] =\n-\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] [--scissors] msg patch < mail >info\";\n+\t\"git mailinfo [-k] [-u | --encoding=<encoding> | -n] [--scissors | --no-scissors] msg patch < mail >info\";\n \n int cmd_mailinfo(int argc, const char **argv, const char *prefix)\n {\n-- \n1.6.5.rc0.166.g46a82\n"},{"id":"122911","messageId":"20090911200849.GB18684@vidovic","threadId":"20871","inReplyTo":"7vws45wbxq.fsf@alter.siamese.dyndns.org","subject":"[PATCH v2] Re: add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-11T20:08:49Z","receivedAt":"2009-09-11T20:08:49Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"The 11/09/09, Junio C Hamano wrote:\n> Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n> \n> As scissors is not marked with ! (see PARSEOPT section in the rev-parse\n> documentation), no-scissors is already available without that hunk, and\n> that is why your patch is unnecessary.\n> \n> Your patch did not mark no-scissors with ! either, so it makes the call to\n> rev-parse --parseopt to process your OPTIONS_SPEC pass --no-no-scissors.\n\nOk. So, the fact that the usage of git-am doesn't tell about\n--no-scissors is the expected behaviour?\n\nWithout changing the current implementation of rev-parse, I can't see a\nsmart way to add --no-scissors in the 'git am' usage. Yes, there's still\nthe possibility to negate both \"c,scissors\" and \"no-scissors\" but this\nwould defeate some of the PARSE_OPT_NONEG purpose, right?\n\nOh, and I still feel a bit disoriented by this \"rev-parse --parseopt\"\nthing. I guess I need to read the code. :-)\n\n-- \nNicolas Sebrecht\n"},{"id":"122913","messageId":"7v8wglw60x.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":"20090911200849.GB18684@vidovic","subject":"Re: [PATCH v2] Re: add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-11T21:00:46Z","receivedAt":"2009-09-11T21:00:46Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> Ok. So, the fact that the usage of git-am doesn't tell about\n> --no-scissors is the expected behaviour?\n\nYou _could_ argue that we _could_ describe a long option \"frotz\" that\nlacks the '!' flag in OPTIONS_SPEC as \"--[no-]frotz\" in the output by\nchanging the rev-parse --parseopt, if you really want to.\n\nHowever, I think that is not done deliberately to avoid cluttering the\noutput.  I Cc'ed the primary guilty party ;-) of the parse-options\ninfrastructure.\n\nCurrently, non-bool options are not marked with '!'.  Nobody sane would\nsay \"git am --no-directory foo\", but \"rev-parse --parseopt\" acccepts such\na nonsense input, and it is up to the calling script to catch it and barf.\nBut \"rev-parse --parseopt\" will start saying \"--[no-]directory=\" with such\na change, which is not good.\n\nAnd --no-scissors is not that special.  We could add --no-signoff to say\n\"I do not want to sign-off this one time\" explicitly, and it is crazy if\nwe had to add another line in OPTIONS_SPEC when we want to do so, when it\nis clear \"signoff\" option is a boolean.\n\nAs a long term direction, I'd rather not to see \"no-\" in OPTIONS_SPEC, but\nhave that taken care of by \"rev-parse --parseopt\" to keep our sanity.  The\nonly existing offender is \"no-verify\" in \"rebase -i\".  Let's solve it (if\nthere is anything to solve, which I doubt) without adding new ones.\n"},{"id":"122928","messageId":"7veiqdngs0.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":"7vtyzexnhm.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-12T00:33:19Z","receivedAt":"2009-09-12T00:33:19Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"This is an abbreviated preview of issue #03 for this month; the message\nprimarily covers potential 1.6.5 material and omits topics without much\nurgency for the purpose of pushing 1.6.5-rc1 out.\n\n--------------------------------------------------\n[New Topics]\n\n* jc/merge-saner-messages (2009-09-07) 1 commit\n  (merged to 'next' on 2009-09-11 at 4efab98)\n + merge-recursive: give less scary messages when merge did not start\n\nI think this should be safe for 1.6.5.\n\n* rc/maint-http-no-head-pack-check (2009-09-09) 1 commit.\n - http.c: remove verification of remote packs\n\nThis is the response to infamous \"github sometimes gives status 500\nerror for a HEAD request even when GET request for the same URL happily\nserves the content error-free.\" problem.\n\nI am hoping this is safe for 1.6.5, but will wait for a response to my\ninquiry earlier.\n\n--------------------------------------------------\n[Stalled]\n\n* jh/notes (2009-08-27) 12 commits.\n\nThe reroll was discussed on the list; unfortunately it did not quite apply\nto any of my branches.  I do not think this has to be in 1.6.5, but I just\nwant to get us unstuck if Johan was waiting for me to apply the current\nseries before making his next move.\n\n* je/send-email-no-subject (2009-08-05) 1 commit\n  (merged to 'next' on 2009-08-30 at b6455c2)\n + send-email: confirm on empty mail subjects\n\nIt would be a good change for 1.6.5 when done properly, but this does not\nhonor --confirm=never but talks to the terminal.  Nor it honors any\nexisting sendemail.confirm configuration settings.\n\n--------------------------------------------------\n[Cooking]\n\n* db/vcs-helper (2009-09-03) 16 commits\n - ...\n  (merged to 'next' on 2009-09-11 at a275aa3)\n + Use a clearer style to issue commands to remote helpers\n + Make the \"traditionally-supported\" URLs a special case\n  (merged to 'next' on 2009-08-07 at f3533ba)\n + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible\n + Makefile: do not link three copies of git-remote-* programs\n + Makefile: git-http-fetch does not need expat\n  (merged to 'next' on 2009-08-06 at 15da79d)\n + http-fetch: Fix Makefile dependancies\n + Add transport native helper executables to .gitignore\n  (merged to 'next' on 2009-08-05 at 33d491e)\n + git-http-fetch: not a builtin\n + Use an external program to implement fetching with curl\n + Add support for external programs for handling native fetches\n (this branch is used by jh/cvs-helper.)\n\nUp to the part that eject -lcurl from the main \"git\" binary cleanly are\nnow in 'next' and is ready for 1.6.5.\n\n* cb/maint-1.6.3-grep-relative-up (2009-09-05) 2 commits.\n  (merged to 'next' on 2009-09-07 at f9b5b48)\n + grep: accept relative paths outside current working directory\n + grep: fix exit status if external_grep() punts\n\n1.6.5 material.\n\n* jk/unwanted-advices (2009-09-06) 2 commits\n - status: make \"how to stage\" messages optional\n - push: make non-fast-forward help message configurable\n\nIf I missed the v2 or later that uses 'advice.*\" instead, I am sorry, and\nplease let me know.  At least the first one should be in 1.6.5, I think,\nand probably both.\n\n* jt/pushinsteadof (2009-09-07) 2 commits\n  (merged to 'next' on 2009-09-11 at cf3eb57)\n + Add url.<base>.pushInsteadOf: URL rewriting for push only\n + Wrap rewrite globals in a struct in preparation for adding another set\n\nProbably 1.6.5 material.\n\n* pk/fast-import-tars (2009-09-03) 1 commit\n  (merged to 'next' on 2009-09-07 at 8fbf027)\n + import-tars: Allow per-tar author and commit message.\n\n* pk/fast-import-dirs (2009-09-03) 1 commit\n  (merged to 'next' on 2009-09-07 at 836cba2)\n + Add script for importing bits-and-pieces to Git.\n\nI have to wonder if there are standard libraries to do this sort of thing\nwithout having to hand-roll these logic every time, but I decided not to\nbe picky about contrib/ material.  Both will be in 1.6.5\n\n* jc/maint-1.6.0-blank-at-eof (2009-09-05) 10 commits.\n  (merged to 'next' on 2009-09-07 at 165dc3c)\n\nPossibly a 1.6.5 material, but it started rather late in the cycle so we\nmight want to cook it for a while in 'next' and do 1.6.5 without it.\n\n* sr/gfi-options (2009-09-06) 6 commits\n  (merged to 'next' on 2009-09-07 at 5f6b0ff)\n + fast-import: test the new option command\n + fast-import: add option command\n + fast-import: test the new feature command\n + fast-import: add feature command\n + fast-import: put marks reading in it's own function\n + fast-import: put option parsing code in separate functions\n\nPerhaps 1.6.5 material but I wasn't sure.  I saw Sverre asking Shawn for\nopinion but I may have missed the response.\n\n* lt/maint-traverse-trees-fix (2009-09-06) 1 commit.\n - Prepare 'traverse_trees()' for D/F conflict lookahead\n\nBeginning of the fix to a rather nasty longstanding issue of merging trees\nwith (\"a\" \"a-b\"), (\"a/b\" \"a-b\") and just (\"a-b\"), but my reading of it is\nthat it is just the first step to demonstrate one-entry lookahead and not\na full solution yet.\n\nThis is a good problem to tackle but the bug has been there from the\nbeginning of unpack_trees(), i.e. lacks urgency, and the full solution is\nexpected to be much larger.  I am tempted to say that 1.6.5 shouldn't wait\nfor this series.\n"},{"id":"122930","messageId":"20090912030351.GC18684@vidovic","threadId":"20871","inReplyTo":"7v8wglw60x.fsf@alter.siamese.dyndns.org","subject":"[PATCH v2] Re: add documentation for mailinfo.scissors and '--no-scissors'","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2009-09-12T03:03:51Z","receivedAt":"2009-09-12T03:03:51Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"[ Thank you (again) for this very good explanation. ]\n\nThe 11/09/09, Junio C Hamano wrote:\n> Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n> \n> > Ok. So, the fact that the usage of git-am doesn't tell about\n> > --no-scissors is the expected behaviour?\n> \n> You _could_ argue that we _could_ describe a long option \"frotz\" that\n> lacks the '!' flag in OPTIONS_SPEC as \"--[no-]frotz\" in the output by\n> changing the rev-parse --parseopt, if you really want to.\n> \n> However, I think that is not done deliberately to avoid cluttering the\n> output.  I Cc'ed the primary guilty party ;-) of the parse-options\n> infrastructure.\n\nWell, if it is expected to not have the \"--[no-]frotz\" in usage where\napplicable I'll be fine with that (even if it may sounds a bit odd for a\nsane user). Otherwise, I believe it could be a (small) improvement for\nthe UI.\n\n> Currently, non-bool options are not marked with '!'.  Nobody sane would\n> say \"git am --no-directory foo\", but \"rev-parse --parseopt\" acccepts such\n> a nonsense input, and it is up to the calling script to catch it and barf.\n> But \"rev-parse --parseopt\" will start saying \"--[no-]directory=\" with such\n> a change, which is not good.\n> \n> And --no-scissors is not that special.  We could add --no-signoff to say\n> \"I do not want to sign-off this one time\" explicitly, and it is crazy if\n> we had to add another line in OPTIONS_SPEC when we want to do so, when it\n> is clear \"signoff\" option is a boolean.\n> \n> As a long term direction, I'd rather not to see \"no-\" in OPTIONS_SPEC, but\n> have that taken care of by \"rev-parse --parseopt\" to keep our sanity.  The\n> only existing offender is \"no-verify\" in \"rebase -i\".  Let's solve it (if\n> there is anything to solve, which I doubt) without adding new ones.\n\nNow (with all this background in mind), I agree that the \"no-\" in\nOPTIONS_SPEC looks ugly.\n\n<If there were something to change>\n\nAs you say, we can't blindly rely on the \"is a boolean\" and \"option name\nbegin with 'no-'\" things altogether. Perhaps a new magic character\n('-'?) beside the current flags of PARSEOPT could smartly do the trick?\n\n</>\n\nPierre, opinion?\n\n-- \nNicolas Sebrecht\n"},{"id":"122932","messageId":"7vskeslqvi.fsf@alter.siamese.dyndns.org","threadId":"20871","inReplyTo":"7veiqdngs0.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-09-12T04:38:09Z","receivedAt":"2009-09-12T04:38:09Z","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> * jk/unwanted-advices (2009-09-06) 2 commits\n>  - status: make \"how to stage\" messages optional\n>  - push: make non-fast-forward help message configurable\n>\n> If I missed the v2 or later that uses 'advice.*\" instead, I am sorry, and\n> please let me know.\n\nFound them; thanks.\n"},{"id":"122943","messageId":"fabb9a1e0909120446k33df5261q63b1a8d5ed6219a7@mail.gmail.com","threadId":"20871","inReplyTo":"7veiqdngs0.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Sep 2009, #02; Mon, 07)","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2009-09-12T11:46:30Z","receivedAt":"2009-09-12T11:46:30Z","isPatch":false,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nOn Sat, Sep 12, 2009 at 02:33, Junio C Hamano <gitster@pobox.com> wrote:\n> * sr/gfi-options (2009-09-06) 6 commits\n>  (merged to 'next' on 2009-09-07 at 5f6b0ff)\n>  + fast-import: test the new option command\n>  + fast-import: add option command\n>  + fast-import: test the new feature command\n>  + fast-import: add feature command\n>  + fast-import: put marks reading in it's own function\n>  + fast-import: put option parsing code in separate functions\n>\n> Perhaps 1.6.5 material but I wasn't sure.  I saw Sverre asking Shawn for\n> opinion but I may have missed the response.\n\nNo response from Shawn so far, I assume he's short on Git budget :).\n\n-- \nCheers,\n\nSverre Rabbelier\n"}]}