{"thread":{"id":"15054","subject":"What's cooking in git.git (Aug 2008, #04; Sun, 17)","startedAt":"2008-08-17T10:17:35Z","lastAt":"2008-08-18T22:41:05Z","messageCount":3,"participants":["Junio C Hamano","Tor Arvid Lund","Brian Downing"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"87428","messageId":"7vej4o6j40.fsf@gitster.siamese.dyndns.org","threadId":"15054","inReplyTo":null,"subject":"What's cooking in git.git (Aug 2008, #04; Sun, 17)","fromName":"Junio C Hamano","fromEmail":"junio@pobox.com","sentAt":"2008-08-17T10:17:35Z","receivedAt":"2008-08-17T10:17:35Z","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\nwith '-' are only in 'pu' while commits prefixed with '+' are\nin 'next'.\n\nThe topics list the commits in reverse chronological order.  The topics\nmeant to be merged to the maintenance series have \"maint-\" in their names.\n\n----------------------------------------------------------------\n[New Topics]\n\n* jc/cc-ld-dynpath (Sat Aug 16 15:01:23 2008 +0200) 2 commits\n - configure: auto detect dynamic library path switches\n - Makefile: Allow CC_LD_DYNPATH to be overriden\n\n* jc/index-extended-flags (Sat Aug 16 23:02:08 2008 -0700) 1 commit\n + index: future proof for \"extended\" index entries\n\n* mz/push-verbose (Sat Aug 16 19:58:32 2008 +0200) 1 commit\n + Make push more verbose about illegal combination of options\n\n* mg/count-objects (Fri Aug 15 00:20:20 2008 -0400) 1 commit\n + count-objects: Add total pack size to verbose output\n\nThis one is without the human readable bits.\n\n* lt/time-reject-fractional-seconds (Sat Aug 16 21:25:40 2008 -0700) 1 commit\n - date/time: do not get confused by fractional seconds\n\nLinus hints further enhancements as \"the right way\", so let's see if\nsomebody else steps up and tries it before merging this to 'next'.\n\n* sb/daemon (Thu Aug 14 20:02:20 2008 +0200) 4 commits\n - git-daemon: rewrite kindergarden, new option --max-connections\n - git-daemon: Simplify dead-children reaping logic\n - git-daemon: use LOG_PID, simplify logging code\n - git-daemon: call logerror() instead of error()\n\nCan somebody who actually runs the daemon standalone comment on this one?\n\n----------------------------------------------------------------\n[On Hold and/or Cooking]\n\n* ak/p4 (Thu Aug 14 23:40:39 2008 +0100) 14 commits\n + Utilise our new p4_read_pipe and p4_write_pipe wrappers\n + Add p4 read_pipe and write_pipe wrappers\n + Put in the two other configuration elements found in the source\n + Put some documentation in about the parameters that have been\n   added\n + Move git-p4.syncFromOrigin into a configuration parameters section\n + Consistently use 'git-p4' for the configuration entries\n + If the user has configured various parameters, use them.\n + Switch to using 'p4_build_cmd'\n + If we are in verbose mode, output what we are about to run (or\n   return)\n + Add a single command that will be used to construct the 'p4'\n   command\n + Utilise the new 'p4_system' function.\n + Have a command that specifically invokes 'p4' (via system)\n + Utilise the new 'p4_read_pipe_lines' command\n + Create a specific version of the read_pipe_lines command for p4\n   invocations\n\nWarmly received by the primary contributor of git-p4; I do not mind\nmerging this before 1.6.0 (final call for \"Yays\").\n\n* mv/merge-recursive (Tue Aug 12 22:14:00 2008 +0200) 3 commits\n - Make builtin-revert.c use merge_recursive_generic()\n - merge-recursive.c: Add more generic merge_recursive_generic()\n - Split out merge_recursive() to merge-recursive.c\n\nI do not think builtlin-revert should use \"recursive\", but these patches\ngive a good starting point to separate the bulk of the \"rename-aware\nthree-way merge\" into library form.\n\n* tr/rev-list-docs (Tue Aug 12 01:55:37 2008 +0200) 1 commit\n + Documentation: rev-list-options: move --simplify-merges\n   documentation\n\n* sp/missing-thin-base (Tue Aug 12 11:31:06 2008 -0700) 1 commit\n + pack-objects: Allow missing base objects when creating thin packs\n\n* tr/filter-branch (Tue Aug 12 10:45:59 2008 +0200) 4 commits\n + filter-branch: use --simplify-merges\n + Merge branch 'jc/post-simplify' into tr/filter-branch\n + filter-branch: fix ref rewriting with --subdirectory-filter\n + filter-branch: Extend test to show rewriting bug\n\n* js/checkout-dwim-local (Sat Aug 9 16:00:12 2008 +0200) 1 commit\n + checkout --track: make up a sensible branch name if '-b' was\n   omitted\n\nI like this low-impact usability enhancement; will most likely be in\nmaster soon after 1.6.0, but not before.\n\n* bd/diff-strbuf (Wed Aug 13 23:18:22 2008 -0700) 3 commits\n + xdiff-interface: hide the whole \"xdiff_emit_state\" business from\n   the caller\n + Use strbuf for struct xdiff_emit_state's remainder\n + Make xdi_diff_outf interface for running xdiff_outf diffs\n\nGives measurable performance improvement to textual diff generation.  For\nimproving \"blame\" performance, it might be more effective to hook directly\nto lower level of xdiff machinery so that we do not even have to generate\npatch only to discard after reading \"@@ -l,k +m,n @@\" lines, but that\nwould be a separate topic.\n\n* am/cherry-pick-rerere (Sun Aug 10 17:18:55 2008 +0530) 1 commit\n + Make cherry-pick use rerere for conflict resolution.\n\n* jc/test-deeper (Fri Aug 8 02:26:28 2008 -0700) 1 commit\n + tests: use $TEST_DIRECTORY to refer to the t/ directory\n\n* kh/diff-tree (Sun Aug 10 18:13:04 2008 +0200) 4 commits\n + Add test for diff-tree --stdin with two trees\n + Teach git diff-tree --stdin to diff trees\n + diff-tree: Note that the commit ID is printed with --stdin\n + Refactoring: Split up diff_tree_stdin\n\n* js/parallel-test (Fri Aug 8 13:08:37 2008 +0200) 3 commits\n + Enable parallel tests\n + tests: Clarify dependencies between tests, 'aggregate-results' and\n   'clean'\n + t9700: remove useless check\n\n* xx/post-1.6.0 (Mon Aug 11 21:45:52 2008 -0400) 7 commits\n + git-submodule foreach - Include output and clarify usage.\n + Fix commit_tree() buffer leak\n + Teach git log --exit-code to return an appropriate exit code\n + Teach git log --check to return an appropriate exit code\n + git-submodule - Add 'foreach' subcommand\n + builtin-reflog: Allow reflog expire to name partial ref\n + git-am: ignore --binary option\n\nRandom collection of patches to queue for post-1.6.0 development.\n\n* jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 7 commits\n - revision --simplify-merges: incremental simplification\n - revision --simplify-merges: prepare for incremental simplification\n - revision --simplify-merges: make it a no-op without pathspec\n + revision --simplify-merges: use decoration instead of commit->util\n   field\n + Topo-sort before --simplify-merges\n + revision traversal: show full history with merge simplification\n + revision.c: whitespace fix\n\n\"log --full-history\" is with too much clutter, \"log\" itself is too cleverer\nthan some people, and here is the middle level of merge simplification.\n\nI started making this incremental but the progress is not so great.\n\n* sp/smart-http (Sun Aug 3 00:25:17 2008 -0700) 2 commits\n - [do not merge -- original version] Add Git-aware CGI for Git-aware\n   smart HTTP transport\n - Add backdoor options to receive-pack for use in Git-aware CGI\n\nThe \"magic\" detection protocol was revised to use POST to info/refs; the\ntop one queued is from before that discussion.\n\n* jc/add-stop-at-symlink (Mon Aug 4 00:52:37 2008 -0700) 2 commits\n + add: refuse to add working tree items beyond symlinks\n + update-index: refuse to add working tree items beyond symlinks\n\nFix for a longstanding bug that allows \"git add\" and \"git update-index\" to\nadd a path \"a/b\" to the index when \"a\" is a symbolic link.  We would need\na similar fix for the case where \"a\" is a submodule.\n\n* dp/hash-literally (Sun Aug 3 18:36:22 2008 +0400) 6 commits\n + add --no-filters option to git hash-object\n + add --path option to git hash-object\n + use parse_options() in git hash-object\n + correct usage help string for git-hash-object\n + correct argument checking test for git hash-object\n + teach index_fd to work with pipes\n\nGives a bit more flexibility to hash-objects by allowing us to lie about\nthe path the contents comes from.\n\n* mv/merge-custom (Wed Aug 13 23:32:43 2008 +0200) 7 commits\n + Update .gitignore to ignore git-help\n + Builtin git-help.\n + builtin-help: always load_command_list() in cmd_help()\n + Add a second testcase for handling invalid strategies in git-merge\n + Add a new test for using a custom merge strategy\n + builtin-merge: allow using a custom strategy\n + builtin-help: make some internal functions available to other\n   builtins\n\n* cc/merge-base-many (Sun Jul 27 13:47:22 2008 -0700) 4 commits\n + git-merge-octopus: use (merge-base A (merge B C D E...)) for\n   stepwise merge\n + merge-base-many: add trivial tests based on the documentation\n + documentation: merge-base: explain \"git merge-base\" with more than\n   2 args\n + merge-base: teach \"git merge-base\" to drive underlying\n   merge_bases_many()\n\n* rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits\n + Documentation: Improve documentation for git-imap-send(1)\n + imap-send.c: more style fixes\n + imap-send.c: style fixes\n + git-imap-send: Support SSL\n + git-imap-send: Allow the program to be run from subdirectories of\n   a git tree\n\nSome people seem to prefer having this feature available also with gnutls.\nSuch an enhancement can be done in-tree on top of this series if they are\nso inclined.\n\n* cc/bisect (Fri Jul 25 05:36:37 2008 +0200) 2 commits\n - bisect: only check merge bases when needed\n - bisect: test merge base if good rev is not an ancestor of bad rev\n\nThe first one alone does not pass its self-test but combined together they\nseem to.  It does not build confidence as the latter one is supposed to be\nan optimization only.\n\n* jc/add-addremove (Tue Jul 22 22:30:40 2008 -0700) 2 commits\n + builtin-add.c: optimize -A option and \"git add .\"\n + builtin-add.c: restructure the code for maintainability\n\n* jk/pager-swap (Tue Jul 22 03:14:12 2008 -0400) 2 commits\n + spawn pager via run_command interface\n + run-command: add pre-exec callback\n\nThis changes the parent-child relationship between the pager and the git\nprocess.  We used to make pager the parent which meant that the exit\nstatus from git is lost from the caller.\n\n* ph/enable-threaded (Mon Jul 21 11:23:43 2008 +0200) 1 commit\n + Enable threaded delta search on *BSD and Linux.\n\n* sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit\n + merge: remove deprecated summary and diffstat options and config\n   variables\n\nThis was previously in \"will be in master soon\" category, but it turns out\nthat the synonyms to the ones this one deletes are fairly new invention\nthat happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps\nin 1.7.0.\n\n* jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits\n + Revert \"Make clients ask for \"git program\" over ssh and local\n   transport\"\n + Make clients ask for \"git program\" over ssh and local transport\n\nThis is the \"botched\" one.  Will be resurrected during 1.7.0 or 1.8.0\ntimeframe.\n\n* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit\n - diff: enable \"too large a rename\" warning when -M/-C is explicitly\n   asked for\n\nThis would be the right thing to do for command line use, but gitk will be\nhit due to tcl/tk's limitation, so I am holding this back for now.\n"},{"id":"87432","messageId":"1a6be5fa0808170444n74e498eob800ade8de79cbe@mail.gmail.com","threadId":"15054","inReplyTo":"7vej4o6j40.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Aug 2008, #04; Sun, 17)","fromName":"Tor Arvid Lund","fromEmail":"torarvid@gmail.com","sentAt":"2008-08-17T11:44:05Z","receivedAt":"2008-08-17T11:44:05Z","isPatch":false,"sender":{"key":"torarvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/439758?v=4"},"body":"Hi,\n\nOn Sun, Aug 17, 2008 at 12:17 PM, Junio C Hamano <junio@pobox.com> wrote:\n> [On Hold and/or Cooking]\n>\n> * ak/p4 (Thu Aug 14 23:40:39 2008 +0100) 14 commits\n>  + Utilise our new p4_read_pipe and p4_write_pipe wrappers\n>  + Add p4 read_pipe and write_pipe wrappers\n>  + Put in the two other configuration elements found in the source\n>  + Put some documentation in about the parameters that have been\n>   added\n>  + Move git-p4.syncFromOrigin into a configuration parameters section\n>  + Consistently use 'git-p4' for the configuration entries\n>  + If the user has configured various parameters, use them.\n>  + Switch to using 'p4_build_cmd'\n>  + If we are in verbose mode, output what we are about to run (or\n>   return)\n>  + Add a single command that will be used to construct the 'p4'\n>   command\n>  + Utilise the new 'p4_system' function.\n>  + Have a command that specifically invokes 'p4' (via system)\n>  + Utilise the new 'p4_read_pipe_lines' command\n>  + Create a specific version of the read_pipe_lines command for p4\n>   invocations\n>\n> Warmly received by the primary contributor of git-p4; I do not mind\n> merging this before 1.6.0 (final call for \"Yays\").\n\nI've tried these for a few days now, and they work fine for me, so FWIW: Yay!\n\n-Tor Arvid-\n"},{"id":"87579","messageId":"20080818224105.GA31114@lavos.net","threadId":"15054","inReplyTo":"7vej4o6j40.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Aug 2008, #04; Sun, 17)","fromName":"Brian Downing","fromEmail":"bdowning@lavos.net","sentAt":"2008-08-18T22:41:05Z","receivedAt":"2008-08-18T22:41:05Z","isPatch":false,"sender":{"key":"bdowning@lavos.net","avatar":"https://avatars.githubusercontent.com/u/366426?v=4"},"body":"On Sun, Aug 17, 2008 at 03:17:35AM -0700, Junio C Hamano wrote:\n> * bd/diff-strbuf (Wed Aug 13 23:18:22 2008 -0700) 3 commits\n>  + xdiff-interface: hide the whole \"xdiff_emit_state\" business from\n>    the caller\n>  + Use strbuf for struct xdiff_emit_state's remainder\n>  + Make xdi_diff_outf interface for running xdiff_outf diffs\n> \n> Gives measurable performance improvement to textual diff generation.  For\n> improving \"blame\" performance, it might be more effective to hook directly\n> to lower level of xdiff machinery so that we do not even have to generate\n> patch only to discard after reading \"@@ -l,k +m,n @@\" lines, but that\n> would be a separate topic.\n\nI have done this, resulting in my blame test case going from about 100s\non master to about 50s, but I need to do some additional cleanup before\nit's ready to be submitted.  I also have some more ideas for how to\nspeed it up some more.  (Basically, with the textual diff generation\nremoved, most of the time now is spent in xdiff hashing lines.  Since\nblame in copy-detection mode tends to diff against the same file over\nand over again, this is wasted work.  Allowing the xdiff machinery to\nre-use a diff preparation looks to be a little involved, though...)\n\n-bcd\n"}]}