{"thread":{"id":"17575","subject":"What's cooking in git.git (Feb 2009, #02; Wed, 04)","startedAt":"2009-02-05T01:32:37Z","lastAt":"2009-02-06T18:15:58Z","messageCount":3,"participants":["Junio C Hamano","Johannes Sixt","Lars Hjemli"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"103261","messageId":"7vr62dk6ru.fsf@gitster.siamese.dyndns.org","threadId":"17575","inReplyTo":null,"subject":"What's cooking in git.git (Feb 2009, #02; Wed, 04)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-05T01:32:37Z","receivedAt":"2009-02-05T01:32:37Z","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\nI was this close (shows thumb and index finger almost touching) to merge\njs/notes to master and declare 1.6.2-rc0 but decided against it, because I\nthought I need to at least have heard about somebody who used it before\ndoing so.  Perhaps I'll try it out myself to keep track of commits that\nhappened between 1.6.1 and master that need to be cherry-picked to maint,\nor something silly like that.  In any case, my prediction is that -rc0\nwould look like what 'next' tonight looks like, nothing more, not much\nless (I'd probably drop jc/blame).\n\n----------------------------------------------------------------\n[New Topics]\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* 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 (Wed Feb 4 21:12:39 2009 +0100) 2 commits\n - add -p: print errors in separate color\n - add -p: prompt for single characters\n\nWill move to 'next'; it may or may not mature in time for 1.6.2.\n\n----------------------------------------------------------------\n[Stalled and may need help and prodding to go forward]\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* 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\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* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 6 commits\n - archive.c: add support for --submodules[=(all|checkedout)]\n - tree.c: allow read_tree_recursive() to traverse gitlink entries\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\nSorry, but what's the status of this one?  I am not particularly\ninterested in this new feature myself, so unless I hear otherwise from\npeople, I'd like to keep this out of 1.6.2.  That would have the added\nbenefit of being able to discard the first four that is already in 'next'\nto get a fresh start post 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----------------------------------------------------------------\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----------------------------------------------------------------\n[Actively cooking]\n\n* jc/fsck (Fri Jan 30 02:44:13 2009 -0800) 5 commits\n - fsck: revert --quick to the default and introduce --medium\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\nI haven't heard anything positive nor negative about this series.  I think\nthe tip two commits should be squashed (and perhaps the option parser\ncleaned up as suggested on the list).\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\nShould be in 'next' soon.\n\n* js/valgrind (Wed Feb 4 00:26:31 2009 +0100) 8 commits\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\nShould be in 'next' soon.\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\nIt would be nice to hear a real world success story using the notes\nmechanism; Dscho says he also wants to make sure the current choice\nof the structure scales well before casting it in stone, but nothing\nhas happened since then.\n\n----------------------------------------------------------------\n[Graduated to \"master\"]\n\n* wp/add-patch-find (Thu Nov 27 04:08:03 2008 +0000) 3 commits\n + In add --patch, Handle K,k,J,j slightly more gracefully.\n + Add / command in add --patch\n + git-add -i/-p: Change prompt separater from slash to comma\n\n* jc/maint-add-u-remove-conflicted (Wed Jan 28 14:24:53 2009 -0800) 1 commit\n + add -u: do not fail to resolve a path as deleted\n\n* jk/maint-cleanup-after-exec-failure (Wed Jan 28 02:38:14 2009 -0500) 4 commits\n + git: use run_command() to execute dashed externals\n + run_command(): help callers distinguish errors\n + run_command(): handle missing command errors more gracefully\n + git: s/run_command/run_builtin/\n\n* ns/am-slacker (Sat Jan 24 10:18:02 2009 +0900) 2 commits\n + git-am: Add --ignore-date option\n + am: Add --committer-date-is-author-date option\n\n----------------------------------------------------------------\n[Will merge to \"master\" soon]\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\nLooked fine for 1.6.2.\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\nAs these are supposed to be only clean-ups without any functionality\nchange, let's flush it out before 1.6.2.\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\nThis prepares to finally switch the default for receive.denyCurrentBranch\nto \"refuse\".  The idea is to issue a big warning to people who push into\ncurrently checked out branch when the configuration is unset and we\ndefault to \"warn\", and explain in detail (1) why it is not likely to be\nwhat they want to do (to help new people), (2) if it is what they want,\nhow to squelch that annoyingly long message, and (3) the default will be\nchanged to \"refuse\" in a future release of git.\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/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* 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":"103318","messageId":"498AB471.1000609@viscovery.net","threadId":"17575","inReplyTo":"7vr62dk6ru.fsf@gitster.siamese.dyndns.org","subject":"Re: [fsck] What's cooking in git.git (Feb 2009, #02; Wed, 04)","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2009-02-05T09:42:09Z","receivedAt":"2009-02-05T09:42:09Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Junio C Hamano schrieb:\n> * jc/fsck (Fri Jan 30 02:44:13 2009 -0800) 5 commits\n>  - fsck: revert --quick to the default and introduce --medium\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> I haven't heard anything positive nor negative about this series.  I think\n> the tip two commits should be squashed (and perhaps the option parser\n> cleaned up as suggested on the list).\n\nIf you *do* squash the top two commits due to the surprisingly expensive\n--medium check level, what is the whole point of the series?\n\nThat is, if I can have a reasonably thorough check only by passing an\noption to 'git fsck', then why would I want to choose --medium when I can\nhave --full for only a 30% higher price (according to the timings you gave)?\n\n-- Hannes\n"},{"id":"103536","messageId":"8c5c35580902061015q557c4807odc747672c65cc153@mail.gmail.com","threadId":"17575","inReplyTo":"7vr62dk6ru.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #02; Wed, 04)","fromName":"Lars Hjemli","fromEmail":"hjemli@gmail.com","sentAt":"2009-02-06T18:15:58Z","receivedAt":"2009-02-06T18:15:58Z","isPatch":false,"sender":{"key":"hjemli@gmail.com","avatar":null},"body":"On Thu, Feb 5, 2009 at 02:32, Junio C Hamano <gitster@pobox.com> wrote:\n> * lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 6 commits\n>  - archive.c: add support for --submodules[=(all|checkedout)]\n>  - tree.c: allow read_tree_recursive() to traverse gitlink entries\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>\n> Sorry, but what's the status of this one? I am not particularly\n> interested in this new feature myself, so unless I hear otherwise from\n> people, I'd like to keep this out of 1.6.2.\n\nI'd like to see the first patch (tree.c: allow read_tree_recursive()\nto traverse gitlink entries) get into 1.6.2 (that would allow me to\nadd some nifty tree traversal to cgit). But the rest of the patches\nneeds more discussion/review before they're even 'next'-worthy; I'll\ntry to post an updated series during the weekend.\n\n--\nlarsh\n"}]}