{"thread":{"id":"17637","subject":"What's cooking in git.git (Feb 2009, #03; Sat, 07)","startedAt":"2009-02-07T21:54:58Z","lastAt":"2009-02-08T12:58:53Z","messageCount":4,"participants":["Junio C Hamano","Jakub Narebski","Sébastien Cevey"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"103663","messageId":"7vk581syj1.fsf@gitster.siamese.dyndns.org","threadId":"17637","inReplyTo":null,"subject":"What's cooking in git.git (Feb 2009, #03; Sat, 07)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-07T21:54:58Z","receivedAt":"2009-02-07T21:54:58Z","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 at -rc0 now.\n\nTraditionally, rc freeze, especially post -rc1, meant that I stop paying\nattention to whatever topic that did not graduate to 'master', and not\nqueuing further updates to 'next' to encourage people to concentrate on\n'master' bugfixes by discouraging them from tinkering the topics that\nwon't be in the next release.\n\nI do not think that approach has worked well in practice, so let's try\nsomething slightly different.\n\nI'll try to leave 'next' open during this freeze, but the new topics and\ntopics that hasn't cooked to maturity by -rc1 will not be in 1.6.2.  That\nis what a freeze means, so it may not be necessary to say so, but I am\njust trying to make it clear.\n\n----------------------------------------------------------------\n[New Topics]\n\n* jn/gitweb-committag (Fri Feb 6 10:12:41 2009 +0100) 1 commit\n + gitweb: Better regexp for SHA-1 committag match\n\n* js/maint-1.6.0-path-normalize (Sat Feb 7 16:08:31 2009 +0100) 5 commits\n + Remove unused normalize_absolute_path()\n + Test and fix normalize_path_copy()\n + Fix GIT_CEILING_DIRECTORIES on Windows\n + Move sanitary_path_copy() to path.c and rename it to\n   normalize_path_copy()\n + Make test-path-utils more robust against incorrect use\n\nReplaces one from René that was queued earlier.\n\n* js/git-submodule-trailing-slash (Sat Feb 7 14:43:15 2009 +0100) 2 commits\n + submodule: warn about non-submodules\n + Let ls-files strip trailing slashes in submodules' paths\n\n* ms/mailmap (Thu Feb 5 09:06:41 2009 +0100) 4 commits\n - Change current mailmap usage to do matching on both name and email\n   of author/committer.\n - Add map_user() and clear_mailmap() to mailmap\n - Add find_insert_index, insert_at_index and clear_func functions to\n   string_list\n - Add log.mailmap as configurational option for mailmap location\n\n* ff/submodule-no-fetch (Thu Feb 5 20:18:32 2009 -0200) 1 commit\n - submodule: add --no-fetch parameter to update command\n\n* mc/setup-cd-p (Fri Feb 6 19:24:28 2009 -0800) 1 commit\n - git-sh-setup: Use \"cd\" option, not /bin/pwd, for symlinked work\n   tree\n\n* js/rebase-error-a-bit-more-verbose (Sat Feb 7 18:20:09 2009 +0100) 1 commit\n + rebase: explain why when the HEAD could not be detached\n\nAll of these looked sensible, and I think many deserve to be in 1.6.2.\nThey are not in -rc0 only because I started the release engineering before\nthey arrived.\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\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\nRecent tig discussion may blow new life into it.  Let's see.\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.  \nI'd like to keep this out of 1.6.2.\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.\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* 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[Actively cooking]\n\n* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 2 commits\n - archive.c: add support for --submodules[=(all|checkedout)]\n + tree.c: allow read_tree_recursive() to traverse gitlink entries\n\nI think the first one is Ok to have in 1.6.2 but I didn't audit all the\nr-t-r callback functions myself to make sure they do not return\nREAD_TREE_RECURSIVE when they shouldn't.  Perhaps somebody else should\ndouble check.\n\n* kb/checkout-optim (Wed Feb 4 13:53:20 2009 +0100) 8 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(): 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\nI thought it looked fine, but Kjetil asks to cook this a bit longer.\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[Graduated to \"master\"]\n\n* js/maint-remote-remove-mirror (Wed Feb 4 11:06:07 2009 -0500) 2 commits\n + builtin-remote: make rm operation safer in mirrored repository\n + builtin-remote: make rm() use properly named variable to hold\n   return value\n\n* ek/maint-filter-branch-bare (Tue Feb 3 13:27:03 2009 -0500) 1 commit\n + filter-branch: Fix fatal error on bare repositories\n\n* tr/add-p-single (Fri Feb 6 20:30:01 2009 +0100) 3 commits\n + add -p: import Term::ReadKey with 'require'\n + add -p: print errors in separate color\n + add -p: prompt for single characters\n\n* js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits\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* gt/utf8-width (Fri Jan 30 04:41:29 2009 -0500) 2 commits\n + builtin-blame.c: Use utf8_strwidth for author's names\n + utf8: add utf8_strwidth()\n\nI replaced the bottom one with a cheesy \"if it does not look like\nutf8, give strlen back\" to make the result behave sensibly for legacy\nencodings.  It does improve \"git blame git-stash.sh\" output (especially\nif you remove .mailmap).\n\n* jk/head-symref (Thu Jan 29 03:33:02 2009 -0500) 2 commits\n + symbolic ref: refuse non-ref targets in HEAD\n + validate_headref: tighten ref-matching to just branches\n\n* rc/http-push (Tue Feb 3 20:39:00 2009 +0800) 4 commits\n + http-push: wrap signature of get_remote_object_url\n + http-push: add back underscore separator before lock token\n + http-push.c: get_remote_object_url() is only used under\n   USE_CURL_MULTI\n + http-push: refactor request url creation\n\n* jc/refuse-push-to-current (Sat Jan 31 17:34:05 2009 -0800) 1 commit\n + receive-pack: explain what to do when push updates the current\n   branch\n\n* cb/mergetool (Fri Jan 30 23:20:11 2009 +0000) 3 commits\n + mergetool: fix running mergetool in sub-directories\n + mergetool: Add a test for running mergetool in a sub-directory\n + mergetool: respect autocrlf by using checkout-index\n\n----------------------------------------------------------------\n[On Hold]\n\n* jc/refuse-push-to-current-1.7.0 (Sat Jan 31 17:34:05 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 is 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* 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":"103671","messageId":"m3iqnlvm29.fsf@localhost.localdomain","threadId":"17637","inReplyTo":"7vk581syj1.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #03; Sat, 07)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-02-07T23:54:54Z","receivedAt":"2009-02-07T23:54:54Z","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> * jn/gitweb-committag (Fri Feb 6 10:12:41 2009 +0100) 1 commit\n>  + gitweb: Better regexp for SHA-1 committag match\n\nThe v1, with adding word boundary only, isn't it?\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> Recent tig discussion may blow new life into it.  Let's see.\n\nI think that in gitweb we can simply relax admissible (valid) values\nfor 'h'/'hb'/'hbp' parameters (currently checked by validate_refname)\nand allow combination of ^, ^<n>, and ~<n> suffixes, and simply resolve\nthem only if user click on the link (perhaps using redirect like for\ngeneric 'object' view).\n\nThe \"previous\" information doesn't solve the problem what was\nthe line number of line before change... but it might help tig.\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.\n\nI tried to redo the patches, but 2nd do not apply using \"git am -3\"\nbecause of changes in gitweb.  Sebastien, could you resend this series,\nmarking it as [PATCHv3 n/3 (resend)] or something like that (unless you\nwould modify them)?\n \n> ----------------------------------------------------------------\n> [Actively cooking]\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\nThis would help finding bugs in feature freeze, wouldn't it?\n\n> ----------------------------------------------------------------\n> [Graduated to \"master\"]\n> \n> * js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits\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\nNice!\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"103729","messageId":"87vdrlp4gy.wl%seb@cine7.net","threadId":"17637","inReplyTo":"m3iqnlvm29.fsf@localhost.localdomain","subject":"Re: What's cooking in git.git (Feb 2009, #03; Sat, 07)","fromName":"Sébastien Cevey","fromEmail":"seb@cine7.net","sentAt":"2009-02-08T11:12:29Z","receivedAt":"2009-02-08T11:12:29Z","isPatch":false,"sender":{"key":"seb@cine7.net","avatar":"https://avatars.githubusercontent.com/u/36964?v=4"},"body":"At Sat, 07 Feb 2009 15:54:54 -0800 (PST), Jakub Narebski wrote:\n\nHi,\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.\n> \n> I tried to redo the patches, but 2nd do not apply using \"git am -3\"\n> because of changes in gitweb.  Sebastien, could you resend this series,\n> marking it as [PATCHv3 n/3 (resend)] or something like that (unless you\n> would modify them)?\n\nI just sent them again, let me know if there is any more problems with\nthat. They are rebased onto the current git master HEAD, so hopefully\nit should be fine?\n\ncheers,\n\n-- \nSébastien Cevey / inso.cc\n"},{"id":"103742","messageId":"200902081358.53914.jnareb@gmail.com","threadId":"17637","inReplyTo":"87vdrlp4gy.wl%seb@cine7.net","subject":"Re: What's cooking in git.git (Feb 2009, #03; Sat, 07)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-02-08T12:58:53Z","receivedAt":"2009-02-08T12:58:53Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Sébastien Cevey wrote:\n> At Sat, 07 Feb 2009 15:54:54 -0800 (PST), Jakub Narebski wrote:\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.\n>> \n>> I tried to redo the patches, but 2nd do not apply using \"git am -3\"\n>> because of changes in gitweb.  Sebastien, could you resend this series,\n>> marking it as [PATCHv3 n/3 (resend)] or something like that (unless you\n>> would modify them)?\n> \n> I just sent them again, let me know if there is any more problems with\n> that. They are rebased onto the current git master HEAD, so hopefully\n> it should be fine?\n\nYes, they apply just fine. Thanks.\n\nI'll try to review them soon, but I think that they would be for after\n1.6.2, as currently there is rc0 phase.\n-- \nJakub Narebski\nPoland\n"}]}