{"thread":{"id":"17843","subject":"What's cooking in git.git (Feb 2009, #05; Mon, 16)","startedAt":"2009-02-17T07:57:36Z","lastAt":"2009-02-18T12:05:29Z","messageCount":10,"participants":["Junio C Hamano","Jakub Narebski","Thomas Rast","Johannes Schindelin","Jeff King","Jonas Fonseca"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"105090","messageId":"7vfxid8phr.fsf@gitster.siamese.dyndns.org","threadId":"17843","inReplyTo":null,"subject":"What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-17T07:57:36Z","receivedAt":"2009-02-17T07:57:36Z","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'.  The ones\nmarked with '.' do not appear in any of the branches, but I am still\nholding onto them.\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\nThe master branch is slightly past 1.6.2-rc1.\n\nAs an experiment, 'next' and 'pu' stay open during this release freeze;\nnew topics are accepted as time permits, but people are much more strongly\nencouraged to find issues on what is already on 'master', and patches to\nfix them always takes precedence over what is still on 'next' and will\nnever graduate until 1.6.2 final.\n\n----------------------------------------------------------------\n[New Topics]\n\n* gb/gitweb-base (Sun Feb 15 10:18:36 2009 +0100) 1 commit\n - gitweb: fix wrong base URL when non-root DirectoryIndex\n\nShould this go in 1.6.2-rc2?\n\n* tr/gcov (Sun Feb 15 23:25:45 2009 +0100) 8 commits\n - Test git-patch-id\n - Test rev-list --parents/--children\n - Test log --decorate\n - Test fsck a bit harder\n - Test log --graph\n - Test diff --dirstat functionality\n - Test that diff can read from stdin\n - Support coverage testing with GCC/gcov\n\n* jc/add-p-unquote (Mon Feb 16 22:43:43 2009 -0800) 1 commit\n - git-add -i/-p: learn to unwrap C-quoted paths\n\n----------------------------------------------------------------\n[Stalled and may need help and prodding to go forward]\n\n* ns/stash-keep (Thu Feb 12 06:25:14 2009 +0900) 1 commit\n - stash: --keep option just saves\n\nDo we want to keep this one?\n\n* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 1 commit\n - archive.c: add support for --submodules[=(all|checkedout)]\n\nDiscussion stalled on the submodule selection criteria.\n\n* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits\n + blame: show \"previous\" information in --porcelain/--incremental\n   format\n + git-blame: refactor code to emit \"porcelain format\" output\n\nThis gives Porcelains (like gitweb) the information on the commit _before_\nthe one that the final blame is laid on, which should save them one\nrev-parse to dig further.  The line number in the \"previous\" information\nmay need refining, and sanity checking code for reference counting may\nneed to be resurrected before this can move forward.\n\nI thought recent tig discussion may blow new life into it, but is this\nunneeded?  If so I'd rather revert it (or discard after 1.6.2).\n\n* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits\n - Support fetching from foreign VCSes\n - Add specification of git-vcs helpers\n - Add \"vcs\" config option in remotes\n\nThe \"spec\" did not seem quite well cooked yet, but in the longer term I\nthink something like this to allow interoperating with other SCMs as if\nthe other end is a native git repository is a very worthy goal.\n\n* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits\n - builtin-replace: use \"usage_msg_opt\" to give better error messages\n - parse-options: add new function \"usage_msg_opt\"\n - builtin-replace: teach \"git replace\" to actually replace\n - Add new \"git replace\" command\n - environment: add global variable to disable replacement\n - mktag: call \"check_sha1_signature\" with the replacement sha1\n - replace_object: add a test case\n - object: call \"check_sha1_signature\" with the replacement sha1\n - sha1_file: add a \"read_sha1_file_repl\" function\n - replace_object: add mechanism to replace objects found in\n   \"refs/replace/\"\n - refs: add a \"for_each_replace_ref\" function\n\nI think the code is much cleaner than the first round, but I am not\nconvinced it is doing the right thing in the connectivity traverser.  \nIndependent review sorely needed.\n\n* sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits\n - gitweb: Optional grouping of projects by category\n - gitweb: Split git_project_list_body in two functions\n - gitweb: Modularized git_get_project_description to be more generic\n\nDesign discussion between Jakub and Sebastien seems to have stalled, but\nJakub seems to be taking this over.\n\n* jc/fsck (Fri Jan 30 02:33:47 2009 -0800) 4 commits\n - fsck: three levels of validation\n - verify-pack: add --quick\n - verify_pack(): allow a quicker verification for a pack with\n   version 2 idx\n - pack-check.c: minor formatting fix to match coding style\n\nJ6t has a good point that if this had any value then medium level should\nreplace the default.  I am tempted to actually dropping this as a failed\nexperiment.\n\n----------------------------------------------------------------\n[Reverted]\n\n* mh/unify-color (Fri Jan 23 01:25:23 2009 -0800) 3 commits\n ? Revert previous two commits\n ? move the color variables to color.c\n ? handle color.ui at a central place\n\nThis broke git-format-patch badly.\n\n* js/rebase-error-a-bit-more-verbose (Sun Feb 8 21:22:18 2009 -0800) 2 commits\n ? Revert \"rebase: explain why when the HEAD could not be detached\"\n ? rebase: explain why when the HEAD could not be detached\n\nThis turned out to be unnecessary.\n\n* rs/maint-1.6.0-windows-ceiling (Sat Feb 7 12:40:40 2009 -0800) 2 commits\n ? Revert \"fix t1504 on Windows\"\n ? fix t1504 on Windows\n\nI'm giving a fresh start to J6t's series which contains this.\n\n* lh/reverted-submodule-tree-traversal (Sun Jan 25 18:39:55 2009 -0800) 4 commits\n ? Revert round #1 of the series\n ? builtin-ls-tree: enable traversal of submodules\n ? archive.c: enable traversal of submodules\n ? tree.c: add support for traversal of submodules\n\nI'm giving a fresh start to Lars's second iteration.\n\n----------------------------------------------------------------\n[Will merge to 'next' soon]\n\n* js/send-email (Sat Feb 14 23:32:15 2009 -0500) 3 commits\n - send-email: --suppress-cc improvements\n - send-email: handle multiple Cc addresses when reading mbox message\n - send-email: allow send-email to run outside a repo\n\n* sg/rerere-cleanup (Sat Feb 14 23:21:04 2009 +0100) 1 commit\n - rerere: remove duplicated functions\n\n----------------------------------------------------------------\n[Ready for 'master' after 1.6.2]\n\n* jw/imap-preformatted-html (Thu Feb 12 08:58:12 2009 -0600) 1 commit\n + imap.preformattedHTML to tell Thunderbird to send non-flowed text\n\nThe patch text should be identical to Jeremy's \"Virtual Patch\", except\nthat the configuration variable was renamed per list discussion.\n\n* jw/format-patch-attach (Thu Feb 12 09:51:55 2009 -0600) 1 commit\n + Enable setting attach as the default in .gitconfig for git-format-\n   patch.\n\n* sr/force-rebase (Fri Feb 13 23:48:01 2009 +0100) 1 commit\n + Teach rebase to rebase even if upstream is up to date\n\n* fg/exclude-bq (Tue Feb 10 15:20:17 2009 +0100) 1 commit\n + Support \"\\\" in non-wildcard exclusion entries\n\n* dm/add-i-edit-abort (Thu Feb 12 00:19:41 2009 -0500) 1 commit\n + add -i: revisit hunk on editor failure\n\n* tp/completion (Wed Feb 11 13:03:26 2009 -0500) 4 commits\n + completion: More fixes to prevent unbound variable errors\n + completion: Better __git_ps1 support when not in working directory\n + completion: Use consistent if [...] convention, not \"test\"\n + completion: For consistency, change \"git rev-parse\" to __gitdir\n   calls\n\n* js/branch-symref (Fri Feb 13 04:40:18 2009 -0500) 1 commit\n + builtin-branch: improve output when displaying remote branches\n\n* al/ansi-color (Fri Feb 13 22:53:41 2009 +0100) 2 commits\n + builtin-branch.c: Rename branch category color names\n + Clean up use of ANSI color sequences\n\n* kb/checkout-optim (Mon Feb 9 21:54:53 2009 +0100) 9 commits\n + lstat_cache(): print a warning if doing ping-pong between cache\n   types\n + show_patch_diff(): remove a call to fstat()\n + write_entry(): use fstat() instead of lstat() when file is open\n + write_entry(): cleanup of some duplicated code\n + create_directories(): remove some memcpy() and strchr() calls\n + unlink_entry(): introduce schedule_dir_for_removal()\n + lstat_cache(): swap func(length, string) into func(string, length)\n + lstat_cache(): generalise longest_match_lstat_cache()\n + lstat_cache(): small cleanup and optimisation\n\n* js/valgrind (Thu Feb 5 22:03:00 2009 +0100) 9 commits\n + valgrind: do not require valgrind 3.4.0 or newer\n + test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH\n + Tests: let --valgrind imply --verbose and --tee\n + Add a script to coalesce the valgrind outputs\n + t/Makefile: provide a 'valgrind' target\n + test-lib.sh: optionally output to test-results/$TEST.out, too\n + Valgrind support: check for more than just programming errors\n + valgrind: ignore ldso and more libz errors\n + Add valgrind support in test scripts\n\n----------------------------------------------------------------\n[Actively cooking]\n\n* js/notes (Sat Feb 14 21:23:25 2009 +0100) 13 commits\n - notes: refuse to edit notes outside refs/notes/\n - t3301: use test_must_fail instead of !\n - t3301: fix confusing quoting in test for valid notes ref\n - notes: use GIT_EDITOR and core.editor over VISUAL/EDITOR\n - notes: only clean up message file when editing\n - handle empty notes gracefully\n + git notes show: test empty notes\n + git-notes: fix printing of multi-line notes\n + notes: fix core.notesRef documentation\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\nEarlier part was merged to master and then reverted there.  I probably\nshould rebase this after 1.6.2 to keep my sanity.\n\n* fc/config-editor (Tue Feb 17 02:54:54 2009 +0200) 9 commits\n . config: Cleanup editor action.\n . config: Codestyle cleanups.\n . config: Don't allow extra arguments for -e or -l.\n . config: Disallow multiple config file locations.\n . config: Disallow multiple variable types.\n . config: Use parseopt.\n . config: Reorganize get_color*.\n . config: Trivial rename in preparation for parseopt.\n - config: Add new option to open an editor.\n\nThe follow-up series does not pass the test suite, and evicted from 'pu';\nthe first one might be 'next' worthy, though.\n\n* js/remote-set-head (Sat Feb 14 05:30:30 2009 -0500) 5 commits\n - builtin-remote: better handling of multiple remote HEADs\n - builtin-remote: add set-head subcommand\n - builtin-remote: teach show to display remote HEAD\n - builtin-remote: move duplicated cleanup code its own function\n - builtin-clone: move locate_head() to remote.c so it can be re-used\n\n* jk/head-lookup (Sun Feb 15 01:18:18 2009 -0500) 5 commits\n - remote: use exact HEAD lookup if it is available\n - remote: refactor guess_remote_head\n - refactor find_refs_by_name to accept const list\n - add basic http clone/fetch tests\n - test scripts: refactor start_httpd helper\n\nBuilds on top of Jay Soffian's js/remote-set-head topic.  How well do\nthese two work in practice in the real world?  Success stories?\n\n----------------------------------------------------------------\n[On Hold]\n\n* jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit\n - receive-pack: default receive.denyDeleteCurrent to refuse\n\n* jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit\n - Refuse updating the current branch in a non-bare repository via\n   push\n\nThis is for 1.7.0.\n\n* jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits\n - git commit: pathspec without -i/-o implies -i semantics during a\n   merge\n - builtin-commit: shorten eye-sore overlong lines\n - Add \"partial commit\" tests during a conflicted merge\n\nThis was only meant as a weatherballoon to help facilitate discussion.\n\n* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit\n - git-merge-file: allow converting the results for the work tree\n\nThis is a feature waiting for a user.  I do not need it in 1.6.2\n\nWe did not give scripted Porcelains a way to say \"this temporary file I am\nusing for merging is for this path, so use the core.autocrlf and attributes\nrules for that final path\".  Instead, merge-file simply wrote out the\ndata in the canonical repository representation.\n\nrerere has the same issue, but it is a lot worse.  It reads the three\nfiles (preimage, postimage and thisimage) from the work tree in the work\ntree representation, merges them without converting them to the canonical\nrepresentation first but inserts the conflict markers with the canonical\nrepresentation and writes the resulting mess out.  It needs to be fixed to\nread with convert_to_git(), merge them while they are still in the\ncanonical representation and possibly add conflict markers, and then write\nthe results out after convert_to_working_tree().  It also needs to write\nin binary mode as well.\n\n[Perhaps will discard]\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\n* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits\n . git-am --forge: add Signed-off-by: line for the author\n . git-am: clean-up Signed-off-by: lines\n . stripspace: add --log-clean option to clean up signed-off-by:\n   lines\n . stripspace: use parse_options()\n . Add \"git am -s\" test\n . git-am: refactor code to add signed-off-by line for the committer\n\n* jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 2 commits\n . revision --simplify-merges: incremental simplification\n . revision --simplify-merges: prepare for incremental simplification\n"},{"id":"105114","messageId":"m3wsbps708.fsf@localhost.localdomain","threadId":"17843","inReplyTo":"7vfxid8phr.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-02-17T10:17:30Z","receivedAt":"2009-02-17T10:17:30Z","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> * gb/gitweb-base (Sun Feb 15 10:18:36 2009 +0100) 1 commit\n>  - gitweb: fix wrong base URL when non-root DirectoryIndex\n> \n> Should this go in 1.6.2-rc2?\n\nIsn't it in master already?\n\n> \n> * tr/gcov (Sun Feb 15 23:25:45 2009 +0100) 8 commits\n>  - Test git-patch-id\n>  - Test rev-list --parents/--children\n>  - Test log --decorate\n>  - Test fsck a bit harder\n>  - Test log --graph\n>  - Test diff --dirstat functionality\n>  - Test that diff can read from stdin\n>  - Support coverage testing with GCC/gcov\n\nHmmmm... wouldn't it be nice to have more tests?\n\n> \n> * jc/add-p-unquote (Mon Feb 16 22:43:43 2009 -0800) 1 commit\n>  - git-add -i/-p: learn to unwrap C-quoted paths\n\nIt might be considered bugfix, but IIRC it is still cooking,\nso perhaps it wouldn't be absolutely ready for 1.6.2\n\n> \n> ----------------------------------------------------------------\n> [Stalled and may need help and prodding to go forward]\n> \n> * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits\n>  + blame: show \"previous\" information in --porcelain/--incremental\n>    format\n>  + git-blame: refactor code to emit \"porcelain format\" output\n> \n> This gives Porcelains (like gitweb) the information on the commit _before_\n> the one that the final blame is laid on, which should save them one\n> rev-parse to dig further.  The line number in the \"previous\" information\n> may need refining, and sanity checking code for reference counting may\n> need to be resurrected before this can move forward.\n> \n> I thought recent tig discussion may blow new life into it, but is this\n> unneeded?  If so I'd rather revert it (or discard after 1.6.2).\n\nIt would be nice to have for gitweb... especially if it is a merge\ncommit that gets the blame (which I guess should happen only for 'evil\nmerge' case).\n\n> \n> * db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits\n>  - Support fetching from foreign VCSes\n>  - Add specification of git-vcs helpers\n>  - Add \"vcs\" config option in remotes\n> \n> The \"spec\" did not seem quite well cooked yet, but in the longer term I\n> think something like this to allow interoperating with other SCMs as if\n> the other end is a native git repository is a very worthy goal.\n\nI wonder what are the limitations: I guess that importer has to be\nincremental (and probably store additional info, or at least cache\nit).  IIRC the example was for Perforce; much more interesting would\nbe to have example for Subversion, I guess.\n\n> \n> * cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits\n>  - builtin-replace: use \"usage_msg_opt\" to give better error messages\n>  - parse-options: add new function \"usage_msg_opt\"\n>  - builtin-replace: teach \"git replace\" to actually replace\n>  - Add new \"git replace\" command\n>  - environment: add global variable to disable replacement\n>  - mktag: call \"check_sha1_signature\" with the replacement sha1\n>  - replace_object: add a test case\n>  - object: call \"check_sha1_signature\" with the replacement sha1\n>  - sha1_file: add a \"read_sha1_file_repl\" function\n>  - replace_object: add mechanism to replace objects found in\n>    \"refs/replace/\"\n>  - refs: add a \"for_each_replace_ref\" function\n> \n> I think the code is much cleaner than the first round, but I am not\n> convinced it is doing the right thing in the connectivity traverser.  \n> Independent review sorely needed.\n\nThis is certainly something that it would be nice to have.\n\n> \n> * sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits\n>  - gitweb: Optional grouping of projects by category\n>  - gitweb: Split git_project_list_body in two functions\n>  - gitweb: Modularized git_get_project_description to be more generic\n> \n> Design discussion between Jakub and Sebastien seems to have stalled, but\n> Jakub seems to be taking this over.\n\nThe fact that discussion stalled is largely my fault as reviewer\nwanting for this series to do too much 'by the way' changes, and\npreparation for further changes.\n\nI don't know when I would have time to actively work on this, but I\nhave it in my repository, so it wouldn't vanish\n\n  git://repo.or.cz/git/jnareb-git.git gitweb/category\n  http://repo.or.cz/w/git/jnareb-git.git?a=shortlog;h=refs/heads/gitweb/category\n\n> \n> * jc/fsck (Fri Jan 30 02:33:47 2009 -0800) 4 commits\n>  - fsck: three levels of validation\n>  - verify-pack: add --quick\n>  - verify_pack(): allow a quicker verification for a pack with\n>    version 2 idx\n>  - pack-check.c: minor formatting fix to match coding style\n> \n> J6t has a good point that if this had any value then medium level should\n> replace the default.  I am tempted to actually dropping this as a failed\n> experiment.\n\nI recall that medium level wasn't that much faster, isn't it?\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"105122","messageId":"200902171204.20184.trast@student.ethz.ch","threadId":"17843","inReplyTo":"m3wsbps708.fsf@localhost.localdomain","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2009-02-17T11:04:09Z","receivedAt":"2009-02-17T11:04:09Z","isPatch":false,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Jakub Narebski wrote:\n> > * tr/gcov (Sun Feb 15 23:25:45 2009 +0100) 8 commits\n> >  - Test git-patch-id\n> >  - Test rev-list --parents/--children\n> >  - Test log --decorate\n> >  - Test fsck a bit harder\n> >  - Test log --graph\n> >  - Test diff --dirstat functionality\n> >  - Test that diff can read from stdin\n> >  - Support coverage testing with GCC/gcov\n> \n> Hmmmm... wouldn't it be nice to have more tests?\n\nI was hoping the coverage patch would give people an incentive to\nwrite some ;-)\n\nSeriously, the list is huge.  Running the tests in my private\nnext-and-then-some branch[*], summarizing by function counts and\nfiltering for >2 untested functions shows:\n\n      4 builtin-apply.c\n      4 builtin-blame.c\n      6 builtin-fetch-pack.c\n      3 builtin-fsck.c\n      6 builtin-log.c\n      4 builtin-pack-objects.c\n      4 builtin-rev-parse.c\n      6 builtin-show-branch.c\n      3 builtin-update-index.c\n      4 builtin-upload-archive.c\n      3 config.c\n      7 connect.c\n      8 date.c\n      4 diffcore-order.c\n      3 fsck.c\n      8 help.c\n      5 index-pack.c\n      6 merge-file.c\n      4 mktree.c\n      4 object.c\n      4 pager.c\n      3 refs.c\n      3 shell.c\n\nplus some matches in HTTP, IMAP etc. code that I'll just ignore for\nnow.\n\nSome of it is fairly easy stuff; for example, rev-parse\n--{all,branches,tags,remotes} is completely untested according to the\ncoverage report.  I might add more tests as my time allows, but it is\nalso limited.\n\n\n[*] git://repo.or.cz/git/trast.git next\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"105150","messageId":"alpine.DEB.1.00.0902171509010.6185@intel-tinevez-2-302","threadId":"17843","inReplyTo":"200902171204.20184.trast@student.ethz.ch","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-02-17T14:12:38Z","receivedAt":"2009-02-17T14:12:38Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 17 Feb 2009, Thomas Rast wrote:\n\n> Jakub Narebski wrote:\n> > > * tr/gcov (Sun Feb 15 23:25:45 2009 +0100) 8 commits\n> > >  - Test git-patch-id\n> > >  - Test rev-list --parents/--children\n> > >  - Test log --decorate\n> > >  - Test fsck a bit harder\n> > >  - Test log --graph\n> > >  - Test diff --dirstat functionality\n> > >  - Test that diff can read from stdin\n> > >  - Support coverage testing with GCC/gcov\n> > \n> > Hmmmm... wouldn't it be nice to have more tests?\n> \n> I was hoping the coverage patch would give people an incentive to\n> write some ;-)\n> \n> Seriously, the list is huge.\n\nWell, judging from your patch-id example, I am somewhat doubtful: the meat \nof patch-id is exercized in the --cherry-pick patches.\n\nIMHO the biggest shortcoming of gcov is that it cannot distinguish between \nfunctions that need thorough testing and functions which don't.\n\nDon't get me wrong, I do not want to downplay the importance of tr/gcov, \nI'd like to have it in git.git, but just making tests for all the \nuncovered functions would just make a full test run longer, for dubitable \nvalue.\n\nCiao,\nDscho\n"},{"id":"105200","messageId":"7v1vtw6h84.fsf@gitster.siamese.dyndns.org","threadId":"17843","inReplyTo":"m3wsbps708.fsf@localhost.localdomain","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-17T18:39:07Z","receivedAt":"2009-02-17T18:39:07Z","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>> * gb/gitweb-base (Sun Feb 15 10:18:36 2009 +0100) 1 commit\n>>  - gitweb: fix wrong base URL when non-root DirectoryIndex\n>> \n>> Should this go in 1.6.2-rc2?\n>\n> Isn't it in master already?\n\nYeah, I merged it, didn't I.  Sorry for the noise.\n\n>> * jc/add-p-unquote (Mon Feb 16 22:43:43 2009 -0800) 1 commit\n>>  - git-add -i/-p: learn to unwrap C-quoted paths\n>\n> It might be considered bugfix, but IIRC it is still cooking,\n> so perhaps it wouldn't be absolutely ready for 1.6.2\n\nThe informal policy I have during release freeze period is to fix only\nregressions.  \"We've lived with this bug for a long time, we can live one\ncycle longer and it is safer to do so than pushing out a fix that risks to\nbreak things unexpectedly\".\n\n>> [Stalled and may need help and prodding to go forward]\n>> \n>> * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits\n>>  + blame: show \"previous\" information in --porcelain/--incremental\n>>    format\n>>  + git-blame: refactor code to emit \"porcelain format\" output\n>>\n> It would be nice to have for gitweb... especially if it is a merge\n> commit that gets the blame (which I guess should happen only for 'evil\n> merge' case).\n\nWill then move to \"perhaps 'master' after 1.6.2\" list, but the line number\nlogic needs to be revisited, especially taking into account what was said\nin a recent discussion thread.\n\n>> * db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits\n>>  - Support fetching from foreign VCSes\n>>  - Add specification of git-vcs helpers\n>>  - Add \"vcs\" config option in remotes\n>> \n>> The \"spec\" did not seem quite well cooked yet, but in the longer term I\n>> think something like this to allow interoperating with other SCMs as if\n>> the other end is a native git repository is a very worthy goal.\n>\n> I wonder what are the limitations: I guess that importer has to be\n> incremental (and probably store additional info, or at least cache\n> it).  IIRC the example was for Perforce; much more interesting would\n> be to have example for Subversion, I guess.\n\nWe have a working git-svn.  As a demonstration, a one that works with git\nwould be more interesting.\n\n>> * cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits\n>>  - builtin-replace: use \"usage_msg_opt\" to give better error messages\n>>  - parse-options: add new function \"usage_msg_opt\"\n>>  - builtin-replace: teach \"git replace\" to actually replace\n>>  - Add new \"git replace\" command\n>>  - environment: add global variable to disable replacement\n>>  - mktag: call \"check_sha1_signature\" with the replacement sha1\n>>  - replace_object: add a test case\n>>  - object: call \"check_sha1_signature\" with the replacement sha1\n>>  - sha1_file: add a \"read_sha1_file_repl\" function\n>>  - replace_object: add mechanism to replace objects found in\n>>    \"refs/replace/\"\n>>  - refs: add a \"for_each_replace_ref\" function\n>> \n>> I think the code is much cleaner than the first round, but I am not\n>> convinced it is doing the right thing in the connectivity traverser.  \n>> Independent review sorely needed.\n>\n> This is certainly something that it would be nice to have.\n\n\"Nice to have\" we probably all know (otherwise it would not have been\nqueued).  Independent review is sorely needed.\n\n>> * sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits\n>>  - gitweb: Optional grouping of projects by category\n>>  - gitweb: Split git_project_list_body in two functions\n>>  - gitweb: Modularized git_get_project_description to be more generic\n>> \n>> Design discussion between Jakub and Sebastien seems to have stalled, but\n>> Jakub seems to be taking this over.\n>\n> The fact that discussion stalled is largely my fault as reviewer\n> wanting for this series to do too much 'by the way' changes, and\n> preparation for further changes.\n>\n> I don't know when I would have time to actively work on this, but I\n> have it in my repository, so it wouldn't vanish\n>\n>   git://repo.or.cz/git/jnareb-git.git gitweb/category\n>   http://repo.or.cz/w/git/jnareb-git.git?a=shortlog;h=refs/heads/gitweb/category\n\nThanks.\n\n>> * jc/fsck (Fri Jan 30 02:33:47 2009 -0800) 4 commits\n>>  - fsck: three levels of validation\n>>  - verify-pack: add --quick\n>>  - verify_pack(): allow a quicker verification for a pack with\n>>    version 2 idx\n>>  - pack-check.c: minor formatting fix to match coding style\n>> \n>> J6t has a good point that if this had any value then medium level should\n>> replace the default.  I am tempted to actually dropping this as a failed\n>> experiment.\n>\n> I recall that medium level wasn't that much faster, isn't it?\n\nYes, that is why I am inclined to drop it.\n"},{"id":"105206","messageId":"20090217192111.GA15625@coredump.intra.peff.net","threadId":"17843","inReplyTo":"7vfxid8phr.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2009-02-17T19:21:11Z","receivedAt":"2009-02-17T19:21:11Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Feb 16, 2009 at 11:57:36PM -0800, Junio C Hamano wrote:\n\n> * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits\n>  + blame: show \"previous\" information in --porcelain/--incremental\n>    format\n>  + git-blame: refactor code to emit \"porcelain format\" output\n> \n> This gives Porcelains (like gitweb) the information on the commit _before_\n> the one that the final blame is laid on, which should save them one\n> rev-parse to dig further.  The line number in the \"previous\" information\n> may need refining, and sanity checking code for reference counting may\n> need to be resurrected before this can move forward.\n> \n> I thought recent tig discussion may blow new life into it, but is this\n> unneeded?  If so I'd rather revert it (or discard after 1.6.2).\n\nI never got a chance to look closely at this patch series; Jonas ended\nup implementing something in tig which does a diff-tree to guess where\nwe want the view to go:\n\n  http://repo.or.cz/w/tig.git?a=commitdiff;h=b6d0d41e01e4e435385db260cf34fd5d9069d782\n\nIt has been working pretty well for me in practice. I'm sure that blame\ncould do it faster internally, but it really isn't performance critical,\nas it is triggered by user input.\n\nSo a blame implementation might help other callers, but I don't think\nthere is much motivation from tig's point of view.\n\n-Peff\n"},{"id":"105209","messageId":"20090217193027.GA16093@coredump.intra.peff.net","threadId":"17843","inReplyTo":"7vfxid8phr.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2009-02-17T19:30:27Z","receivedAt":"2009-02-17T19:30:27Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"[oops, resend as I screwed up Jonas' address in the last one]\n\nOn Mon, Feb 16, 2009 at 11:57:36PM -0800, Junio C Hamano wrote:\n\n> * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits\n>  + blame: show \"previous\" information in --porcelain/--incremental\n>    format\n>  + git-blame: refactor code to emit \"porcelain format\" output\n> \n> This gives Porcelains (like gitweb) the information on the commit _before_\n> the one that the final blame is laid on, which should save them one\n> rev-parse to dig further.  The line number in the \"previous\" information\n> may need refining, and sanity checking code for reference counting may\n> need to be resurrected before this can move forward.\n> \n> I thought recent tig discussion may blow new life into it, but is this\n> unneeded?  If so I'd rather revert it (or discard after 1.6.2).\n\nI never got a chance to look closely at this patch series; Jonas ended\nup implementing something in tig which does a diff-tree to guess where\nwe want the view to go:\n\n  http://repo.or.cz/w/tig.git?a=commitdiff;h=b6d0d41e01e4e435385db260cf34fd5d9069d782\n\nIt has been working pretty well for me in practice. I'm sure that blame\ncould do it faster internally, but it really isn't performance critical,\nas it is triggered by user input.\n\nSo a blame implementation might help other callers, but I don't think\nthere is much motivation from tig's point of view.\n\n-Peff\n"},{"id":"105223","messageId":"20090217222814.GA19085@diku.dk","threadId":"17843","inReplyTo":"20090217193027.GA16093@coredump.intra.peff.net","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2009-02-17T22:28:14Z","receivedAt":"2009-02-17T22:28:14Z","isPatch":false,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Jeff King <peff@peff.net> wrote Tue, Feb 17, 2009:\n> On Mon, Feb 16, 2009 at 11:57:36PM -0800, Junio C Hamano wrote:\n> > * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits\n> >  + blame: show \"previous\" information in --porcelain/--incremental\n> >    format\n> >  + git-blame: refactor code to emit \"porcelain format\" output\n> > \n> > This gives Porcelains (like gitweb) the information on the commit _before_\n> > the one that the final blame is laid on, which should save them one\n> > rev-parse to dig further.  The line number in the \"previous\" information\n> > may need refining, and sanity checking code for reference counting may\n> > need to be resurrected before this can move forward.\n> > \n> > I thought recent tig discussion may blow new life into it, but is this\n> > unneeded?  If so I'd rather revert it (or discard after 1.6.2).\n> \n> I never got a chance to look closely at this patch series;\n\nSorry, me neither. Generally, I am all for pushing as much as possible\ninto git, and was also happy to see a recent patch making it possible to\nlaunch an editor. Especially, since tig would then benefit if a better\nheuristic comes along. Unfortunately, I won't be able to offer to do\nwhat I think is a request for someone to polish it off.\n\n> So a blame implementation might help other callers, but I don't think\n> there is much motivation from tig's point of view.\n\nYeah, tig will be stuck with (falling back to) diff-tree anyway.\n\n-- \nJonas Fonseca\n"},{"id":"105237","messageId":"200902180029.29344.jnareb@gmail.com","threadId":"17843","inReplyTo":"7v1vtw6h84.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-02-17T23:29:26Z","receivedAt":"2009-02-17T23:29:26Z","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>>> [Stalled and may need help and prodding to go forward]\n>>> \n>>> * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits\n>>>  + blame: show \"previous\" information in --porcelain/--incremental\n>>>    format\n>>>  + git-blame: refactor code to emit \"porcelain format\" output\n>>>\n>> It would be nice to have for gitweb... especially if it is a merge\n>> commit that gets the blame (which I guess should happen only for 'evil\n>> merge' case).\n> \n> Will then move to \"perhaps 'master' after 1.6.2\" list, but the line number\n> logic needs to be revisited, especially taking into account what was said\n> in a recent discussion thread.\n\nWell, even without 'line number logic', i.e. having line number for\nversion of given line _before_ current version (which might be not\nsolvable anyway, only approximated), having parents from git-blame,\nwithout need to run at least 'git cat-file --batch', would be nice\nenhancement.  If merge is blamed, then we can offer user more than\none parent to choose from to go to...\n \n>>> * db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits\n>>>  - Support fetching from foreign VCSes\n>>>  - Add specification of git-vcs helpers\n>>>  - Add \"vcs\" config option in remotes\n>>> \n>>> The \"spec\" did not seem quite well cooked yet, but in the longer term I\n>>> think something like this to allow interoperating with other SCMs as if\n>>> the other end is a native git repository is a very worthy goal.\n>>\n>> I wonder what are the limitations: I guess that importer has to be\n>> incremental (and probably store additional info, or at least cache\n>> it).  IIRC the example was for Perforce; much more interesting would\n>> be to have example for Subversion, I guess.\n> \n> We have a working git-svn.  As a demonstration, a one that works with git\n> would be more interesting.\n\nHmmm... I wonder then how hard would be to reuse git-svn (which is not\nfast-import importer) for foreign-scm feature...\n \n>>> * cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits\n>>>  - builtin-replace: use \"usage_msg_opt\" to give better error messages\n>>>  - parse-options: add new function \"usage_msg_opt\"\n>>>  - builtin-replace: teach \"git replace\" to actually replace\n>>>  - Add new \"git replace\" command\n>>>  - environment: add global variable to disable replacement\n>>>  - mktag: call \"check_sha1_signature\" with the replacement sha1\n>>>  - replace_object: add a test case\n>>>  - object: call \"check_sha1_signature\" with the replacement sha1\n>>>  - sha1_file: add a \"read_sha1_file_repl\" function\n>>>  - replace_object: add mechanism to replace objects found in\n>>>    \"refs/replace/\"\n>>>  - refs: add a \"for_each_replace_ref\" function\n>>> \n>>> I think the code is much cleaner than the first round, but I am not\n>>> convinced it is doing the right thing in the connectivity traverser.  \n>>> Independent review sorely needed.\n>>\n>> This is certainly something that it would be nice to have.\n> \n> \"Nice to have\" we probably all know (otherwise it would not have been\n> queued).  Independent review is sorely needed.\n\nPerhaps I would take a look, then... Not that I know anything about\nthis area of code ;-)\n\n-- \nJakub Narebski\nPoland\n"},{"id":"105294","messageId":"alpine.DEB.1.00.0902181304590.6274@intel-tinevez-2-302","threadId":"17843","inReplyTo":"7vfxid8phr.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #05; Mon, 16)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-02-18T12:05:29Z","receivedAt":"2009-02-18T12:05:29Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 16 Feb 2009, Junio C Hamano wrote:\n\n> * js/notes (Sat Feb 14 21:23:25 2009 +0100) 13 commits\n>  - notes: refuse to edit notes outside refs/notes/\n>  - t3301: use test_must_fail instead of !\n>  - t3301: fix confusing quoting in test for valid notes ref\n>  - notes: use GIT_EDITOR and core.editor over VISUAL/EDITOR\n>  - notes: only clean up message file when editing\n>  - handle empty notes gracefully\n>  + git notes show: test empty notes\n>  + git-notes: fix printing of multi-line notes\n>  + notes: fix core.notesRef documentation\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> \n> Earlier part was merged to master and then reverted there.  I probably\n> should rebase this after 1.6.2 to keep my sanity.\n\nYes, please.\n\nCiao,\nDscho\n"}]}