{"thread":{"id":"17799","subject":"What's cooking in git.git (Feb 2009, #04; Sun, 15)","startedAt":"2009-02-15T10:40:19Z","lastAt":"2009-02-16T16:44:45Z","messageCount":4,"participants":["Junio C Hamano","Jakub Narebski","Sebastien Cevey"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"104756","messageId":"7v1vu0nfu4.fsf@gitster.siamese.dyndns.org","threadId":"17799","inReplyTo":null,"subject":"What's cooking in git.git (Feb 2009, #04; Sun, 15)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-02-15T10:40:19Z","receivedAt":"2009-02-15T10:40:19Z","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 will be tagged as 1.6.2-rc1 by the end of the long\nweekend.\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).\n\n----------------------------------------------------------------\n[New Topics]\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* fc/config-editor (Sat Feb 7 23:53:00 2009 +0200) 1 commit\n - config: Add new option to open an editor.\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* 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* 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\nAll of the above are probably ready for 'next'.\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.\n\n* sg/rerere-cleanup (Sat Feb 14 23:21:04 2009 +0100) 1 commit\n - rerere: remove duplicated functions\n\n* ns/stash-keep (Thu Feb 12 06:25:14 2009 +0900) 1 commit\n - stash: --keep option just saves\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----------------------------------------------------------------\n[Stalled and may need help and prodding to go forward]\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\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* 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[Actively cooking]\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\nShould be ready for 'next'.\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* 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 8 15:34:31 2009 +0100) 5 commits\n + Move mailmap documentation into separate file\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----------------------------------------------------------------\n[On Hold]\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 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":"104759","messageId":"m3ocx4t0mv.fsf@localhost.localdomain","threadId":"17799","inReplyTo":"7v1vu0nfu4.fsf@gitster.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Feb 2009, #04; Sun, 15)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-02-15T11:12:17Z","receivedAt":"2009-02-15T11:12:17Z","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> * 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 have changed signature of new git_get_file_or_project_config in\nfirst patch in series from $variable_name, $repo_path to reverse\norder, i.e. $repo_path, $variable_name to make it easier to extend it\nfurther in the future if needed (for example have config variable name\nbe different from name of file in $GIT_DIR).  BTW. commit message\nshould mention what for this refactoring is preparing.\n\nBut I am bit stalled at second patch in the series, which extract\n_printing_ the rows in separate function... while it should IMHO also\nrefactor _filtering_ projects list, and not have \"filtering as we\nprint\" current code uses... which would be night incompatibile with\ndividing projects list into pages.\n\nI think this patch series is definitely for after 1.6.2\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"104956","messageId":"1234798042.499985da2915e@mail.nimag.net","threadId":"17799","inReplyTo":"m3ocx4t0mv.fsf@localhost.localdomain","subject":"Re: What's cooking in git.git (Feb 2009, #04; Sun, 15)","fromName":"Sebastien Cevey","fromEmail":"seb@cine7.net","sentAt":"2009-02-16T15:27:22Z","receivedAt":"2009-02-16T15:27:22Z","isPatch":false,"sender":{"key":"seb@cine7.net","avatar":"https://avatars.githubusercontent.com/u/36964?v=4"},"body":"Selon Jakub Narebski <jnareb@gmail.com>:\n\nHello Jakub,\n\n> Junio C Hamano <gitster@pobox.com> writes:\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> But I am bit stalled at second patch in the series, which extract\n> _printing_ the rows in separate function... while it should IMHO also\n> refactor _filtering_ projects list, and not have \"filtering as we\n> print\" current code uses... which would be night incompatibile with\n> dividing projects list into pages.\n> \n> I think this patch series is definitely for after 1.6.2\n\nOkay, I am sorry but I'm going to give up at this point. This patch has been in\nthe pipeline since July 27, 2008. I understand the iterative review process to\nensure a certain code quality and acknowledge that these patches weren't\nperfect\n(and probably still aren't), but it's a bit too much of extra rewrite to\nsupport\nfeatures that didn't exist and still don't exist yet AFAIK (page splitting of\nprojects page?). Feel free to take over and do the changes you have in mind,\nit'd probably be faster than trying to guide me through it; I still believe\nit'd\nbe a welcome feature, and we've been waiting for it to be merged upstream for\nquite a while to activate it on the XMMS2 gitweb.\n\nI have to admit I'm not particularly fond of hacking Perl, but the effort to\nget\nthis rather simple and isolated feature merged don't make it very attractive.\n\nIt's a single 6300+ line Perl script we're talking about after all.\n\nRegards,\n\n-- \nSebastien Cevey - inso.cc\n"},{"id":"104971","messageId":"200902161744.46450.jnareb@gmail.com","threadId":"17799","inReplyTo":"1234798042.499985da2915e@mail.nimag.net","subject":"Re: What's cooking in git.git (Feb 2009, #04; Sun, 15)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-02-16T16:44:45Z","receivedAt":"2009-02-16T16:44:45Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Mon, 16 Feb 2009, Sebastien Cevey wrote:\n> Selon Jakub Narebski <jnareb@gmail.com>:\n> > Junio C Hamano <gitster@pobox.com> writes:\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> > But I am bit stalled at second patch in the series, which extract\n> > _printing_ the rows in separate function... while it should IMHO also\n> > refactor _filtering_ projects list, and not have \"filtering as we\n> > print\" current code uses... which would be night incompatibile with\n> > dividing projects list into pages.\n> > \n> > I think this patch series is definitely for after 1.6.2\n> \n> Okay, I am sorry but I'm going to give up at this point. This patch has been in\n> the pipeline since July 27, 2008.\n\nI am sorry to hear about that.\n\nA bit of it is a bad timing (hitting feature freeze before release of\nnext major version of git), some of it is my fault not reviewing\npatches fast enough.  Some of it bad communication: me not writing\nreview (and you not prodding), you not resending patches (and me not\nprodding.)\n\n> I understand the iterative review process to \n> ensure a certain code quality and acknowledge that these patches weren't\n> perfect (and probably still aren't), but it's a bit too much of extra rewrite to\n> support features that didn't exist and still don't exist yet AFAIK (page splitting of\n> projects page?).\n\nYou are right, and I am sorry about that. That was a bit of overeager\noverengineering on my part.\n\nIf we skip this unnecessary future-proofing the code, two things that\nare left to be corrected is mentioned in this thread changing order of\nparameters and better commit message for 1st patch, and IIRC removing\nunnecessary sorting in 3rd patch in series.\n\n> Feel free to take over and do the changes you have in mind, \n> it'd probably be faster than trying to guide me through it; I still believe\n> it'd be a welcome feature, and we've been waiting for it to be merged upstream for\n> quite a while to activate it on the XMMS2 gitweb.\n\nI have those patches in my clone of git, and I would tinker with them\nif you don't want to spend more time on them.\n\n> \n> I have to admit I'm not particularly fond of hacking Perl, but the effort to\n> get this rather simple and isolated feature merged don't make it very attractive.\n\nOTOH there were many features and improvements to git and gitweb that\nwere send, and resend, and still aren't there (e.g. AJAX-y blame in\ngitweb, vcs-* microformat in gitweb, sparse checkout in git, refs/replace\nin git, etc.).\n\n> \n> It's a single 6300+ line Perl script we're talking about after all.\n\ngitk has 10000+ lines... in Tcl/Tk...\ngit-svn has 5300+ lines, not much less...\n\n-- \nJakub Narebski\nPoland\n"}]}