What's cooking in git.git (Mar 2010, #02; Sun, 07) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. Let's start quieting things down on 'next' front. -------------------------------------------------- [Graduated to "master"] * mw/maint-gcc-warns-unused-write (2010-01-30) 1 commit (merged to 'next' on 2010-03-04 at 17716c0) + run-command.c: fix build warnings on Ubuntu * gb/maint-submodule-env (2010-02-25) 5 commits (merged to 'next' on 2010-02-25 at 8c22d03) + is_submodule_modified(): clear environment properly + submodules: ensure clean environment when operating in a submodule + shell setup: clear_local_git_env() function + rev-parse: --local-env-vars option + Refactor list of of repo-local env vars (this branch is used by jl/submodule-diff-dirtiness.) * jc/fetch-param (2010-02-24) 3 commits (merged to 'next' on 2010-02-25 at e95e252) + fetch --all/--multiple: keep all the fetched branch information + builtin-fetch --all/--multi: propagate options correctly + t5521: fix and modernize * jk/maint-push-tracking-wo-remote (2010-02-24) 1 commit (merged to 'next' on 2010-02-25 at da946ba) + push: fix segfault for odd config * mb/shortlog-nongit-stdin (2010-02-24) 1 commit (merged to 'next' on 2010-02-25 at d17bb74) + shortlog: warn the user when there is no input * fn/maint-mkdtemp-compat (2010-02-25) 1 commit (merged to 'next' on 2010-02-25 at 2899a47) + Fix gitmkdtemp: correct test for mktemp() return value * ml/maint-grep-doc (2010-02-25) 4 commits (merged to 'next' on 2010-03-02 at a75dfe0) + grep docs: document --no-index option (merged to 'next' on 2010-02-25 at ec1faf8) + grep docs: --cached and <tree>... are incompatible + grep docs: use AsciiDoc literals consistently + grep docs: pluralize "Example" section * as/maint-expire (2010-02-26) 2 commits (merged to 'next' on 2010-03-02 at 4015ae4) + reflog: honor gc.reflogexpire=never + prune: honor --expire=never * il/loosen-remote-helper-names (2010-02-23) 1 commit (merged to 'next' on 2010-02-25 at 5c22a39) + Allow '+', '-' and '.' in remote helper names * jk/maint-add--interactive-delete (2010-02-22) 1 commit (merged to 'next' on 2010-02-24 at 908cef8) + add-interactive: fix bogus diff header line ordering * js/runtime-prefix-trace-not-warn (2010-02-23) 1 commit (merged to 'next' on 2010-02-24 at 8d9d305) + Print RUNTIME_PREFIX warning only when GIT_TRACE is set * jc/maint-fix-mailinfo-strip (2010-02-19) 1 commit (merged to 'next' on 2010-02-24 at 621fa3d) + mailinfo: do not strip leading spaces even for a header line * ne/pack-local-doc (2010-02-24) 3 commits (merged to 'next' on 2010-02-25 at 75cfba5) + pack-objects documentation: Fix --honor-pack-keep as well. + pack-objects documentation: reword "objects that appear in the standard input" + Documentation: pack-objects: Clarify --local's semantics. * mm/mkstemps-mode-for-packfiles (2010-02-22) 6 commits (merged to 'next' on 2010-02-24 at 31b5903) + Use git_mkstemp_mode instead of plain mkstemp to create object files + git_mkstemps_mode: don't set errno to EINVAL on exit. + Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later. + git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument. + Move gitmkstemps to path.c + Add a testcase for ACL with restrictive umask. * nd/root-git (2010-02-14) 5 commits (merged to 'next' on 2010-02-25 at bff4955) + Add test for using Git at root of file system + Support working directory located at root + Move offset_1st_component() to path.c + init-db, rev-parse --git-dir: do not append redundant slash + make_absolute_path(): Do not append redundant slash -------------------------------------------------- [New Topics] * jl/submodule-diff-dirtiness (2010-03-05) 2 commits - git status: Show detailed dirty status of submodules in long format (merged to 'next' on 2010-03-04 at 58b2645) + git diff --submodule: Show detailed dirty status of submodules The tip one may want to use flag bits from places different from "format", but otherwise I found the basic idea reasonably sound. * cc/cherry-pick-ff (2010-03-06) 7 commits (merged to 'next' on 2010-03-07 at 5589b26) + rebase -i: use new --ff cherry-pick option + cherry-pick: add a no-op --no-ff option to future proof scripts + Documentation: describe new cherry-pick --ff option + cherry-pick: add tests for new --ff option + revert: add --ff option to allow fast forward when cherry-picking + builtin/merge: make checkout_fast_forward() non static + parse-options: add parse_options_concat() to concat options * js/async-thread (2010-03-06) 6 commits - Dying in an async procedure should only exit the thread, not the process. - Reimplement async procedures using pthreads - Windows: more pthreads functions - Fix signature of fcntl() compatibility dummy - Make report() from usage.c public as vreportf() and use it. - Modernize t5530-upload-pack-error. Perhaps later we would want to enable async-by-thread on all threading capable platforms, if only to make sure we use the same code on major platforms to reduce chances of platform specific bugs. * nd/setup (2010-03-07) 18 commits - merge-file: use RUN_SETUP_GENTLY - var: use RUN_SETUP_GENTLY - ls-remote: use RUN_SETUP_GENTLY - help: use RUN_SETUP_GENTLY - diff: use RUN_SETUP_GENTLY - bundle: use RUN_SETUP_GENTLY - apply: use RUN_SETUP_GENTLY - verify-pack: use RUN_SETUP_GENTLY - check-ref-format: use RUN_SETUP_GENTLY - mailinfo: use RUN_SETUP_GENTLY - archive: use RUN_SETUP_GENTLY - builtin: USE_PAGER should not be used without RUN_SETUP* - grep: use RUN_SETUP_GENTLY - shortlog: use RUN_SETUP_GENTLY - hash-object: use RUN_SETUP_GENTLY - config: use RUN_SETUP_GENTLY - builtin: Support RUN_SETUP_GENTLY to set up repository early if found - builtin: introduce startup_info struct (this branch uses lt/deepen-builtin-source.) -------------------------------------------------- [Stalled] * sd/log-decorate (2010-02-17) 3 commits - log.decorate: usability fixes - Add `log.decorate' configuration variable. - git_config_maybe_bool() Probably ready for 'next', except that people need to be warned about having to update their scripts to explicitly pass --no-decorate to keep them working. A good idea to disable this when --pretty was given, just like notes are disabled by default, was floated. * pb/log-first-parent-p-m (2010-02-10) 1 commit (merged to 'next' on 2010-02-17 at 2f8e5ae) + git log -p -m: document -m and honor --first-parent Needs tests but otherwise looked fine. We might want to teach "-m trumps implicit --cc" to "git show", but that is a totally separate topic. I actually care about this "log -p --first-parent" very much, but if Pasky is counting on that and procrastinating until I write the tests myself, he is in for a disappointment. I don't have that much free time these days. Help is appreciated. * js/rebase-origin-x (2010-02-05) 1 commit - [RFC w/o test and incomplete] rebase: add -x option to record original commit name I retract my objection against the idea of -x; needs polishing before moving forward. -------------------------------------------------- [Cooking] * sd/format-patch-to (2010-02-17) 1 commit (merged to 'next' on 2010-03-07 at ef7a18d) + Add 'git format-patch --to=' option and 'format.to' configuration variable. Squashed tests by Stephen in; it seems we will have updates to add --no-{cc,to,...} to both format-patch and send-email but that is more or less independent clean-up. * bg/apply-fix-blank-at-eof (2010-03-06) 5 commits (merged to 'next' on 2010-03-07 at daec679) + t3417: Add test cases for "rebase --whitespace=fix" + t4124: Add additional tests of --whitespace=fix + apply: Allow blank context lines to match beyond EOF + apply: Remove the quick rejection test + apply: Don't unnecessarily update line lengths in the preimage * sg/bash-completion (2010-02-23) 4 commits - bash: completion for gitk aliases - bash: support user-supplied completion scripts for aliases - bash: support user-supplied completion scripts for user's git commands - bash: improve aliased command recognition Perhaps rename _git_frotz -> _git_complete_frotz? I dunno. * fl/askpass (2010-03-04) 2 commits (merged to 'next' on 2010-03-07 at 5ab370a) + git-core: Support retrieving passwords with GIT_ASKPASS + git-svn: Support retrieving passwords with GIT_ASKPASS * jc/color-attrs (2010-02-27) 1 commit - color: allow multiple attributes As the output we generate is bounded, there is no need for checking overflows as long as we count the maximum correctly. * jc/maint-add-ignored-dir (2010-02-28) 3 commits - builtin-add: fix exclude handling - tests for "git add ignored-dir/file" without -f - t0050: mark non-working test as such Not quite happy, but will merge to 'next' anyway. * ml/color-grep (2010-03-07) 3 commits - grep: Colorize selected, context, and function lines - grep: Colorize filename, line number, and separator - Add GIT_COLOR_BOLD_* and GIT_COLOR_BG_* Perhaps unoptimize the "reset" bit? Other than that looked Ok. * sb/notes-parse-opt (2010-02-27) 1 commit - notes: rework subcommands and parse options (this branch uses early parts of jh/notes and tr/notes-display.) * sh/am-keep-cr (2010-02-27) 4 commits (merged to 'next' on 2010-03-02 at ffe3c5e) + git-am: Add tests for `--keep-cr`, `--no-keep-cr` and `am.keepcr` + git-am: Add am.keepcr and --no-keep-cr to override it + git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit + documentation: 'git-mailsplit --keep-cr' is not hidden anymore * bw/union-merge-refactor (2010-03-01) 4 commits - merge-file: add option to select union merge favor - merge-file: add option to specify the marker size (merged to 'next' on 2010-03-07 at 9d1eff6) + refactor merge flags into xmparam_t + make union merge an xdl merge favor * mg/test-svn-info (2010-03-03) 2 commits - t9119-git-svn-info.sh: test with svn 1.6.* as well - git-svn: req_svn when needed * jh/maint-submodule-status-in-void (2010-03-03) 1 commit - submodule summary: do not fail before the first commit * ld/push-porcelain (2010-02-26) 4 commits (merged to 'next' on 2010-03-02 at d15bb1e) + git-push: add tests for git push --porcelain + git-push: make git push --porcelain print "Done" + git-push: send "To <remoteurl>" messages to the standard output in --porcelain mode + git-push: fix an advice message so it goes to stderr * sd/init-template (2010-03-02) 5 commits (merged to 'next' on 2010-03-02 at 2d87e3f) + wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR + t/t0001-init.sh: add test for 'init with init.templatedir set' + init: having keywords without value is not a global error. + Add a "TEMPLATE DIRECTORY" section to git-init[1]. + Add `init.templatedir` configuration variable. * lt/deepen-builtin-source (2010-02-22) 1 commit (merged to 'next' on 2010-02-25 at 320aa74) + Move 'builtin-*' into a 'builtin/' subdirectory (this branch is used by nd/setup.) This is a painful one to keep out of 'master' for a long time, as any topic with new builtin commands will need evil merges to adjust to it. * tc/http-cleanup (2010-03-02) 7 commits (merged to 'next' on 2010-03-07 at e92db25) + remote-curl: init walker only when needed + remote-curl: use http_fetch_ref() instead of walker wrapper + http: init and cleanup separately from http-walker + http-walker: cleanup more thoroughly + http-push: remove "|| 1" to enable verbose check + t554[01]-http-push: refactor, add non-ff tests + t5541-http-push: check that ref is unchanged for non-ff test * tr/notes-display (2010-02-23) 11 commits - notes: add shorthand --ref to override GIT_NOTES_REF - commit --amend: copy notes to the new commit - rebase: support automatic notes copying - notes: implement helpers needed for note copying during rewrite - notes: implement 'git notes copy --stdin' - rebase -i: invoke post-rewrite hook - rebase: invoke post-rewrite hook - commit --amend: invoke post-rewrite hook - Documentation: document post-rewrite hook - Support showing notes from more than one notes tree - test-lib: unset GIT_NOTES_REF to stop it from influencing tests (this branch uses early parts of jh/notes; is used by sb/notes-parse-opt.) Re-roll planned. * cw/test-lib-relicense (2010-02-22) 1 commit . test-lib.sh: Add explicit license detail, with change from GPLv2 to GPLv2+. Ack-collection stopped at the last three names. I am hoping Carl can take it from there without my keeping an eye on it? * tc/transport-verbosity (2010-02-24) 10 commits (merged to 'next' on 2010-03-07 at 898d6dd) + transport: update flags to be in running order + fetch and pull: learn --progress + push: learn --progress + transport->progress: use flag authoritatively + clone: support multiple levels of verbosity + push: support multiple levels of verbosity + fetch: refactor verbosity option handling into transport.[ch] + Documentation/git-push: put --quiet before --verbose + Documentation/git-pull: put verbosity options before merge/fetch ones + Documentation/git-clone: mention progress in -v * cp/add-u-pathspec (2010-02-09) 2 commits (merged to 'next' on 2010-02-24 at 2f3f2bc) + test for add with non-existent pathspec + git add -u: die on unmatched pathspec Not quite happy, but will merge to 'master' shortly anyway. * jh/notes (2010-03-04) 33 commits (merged to 'next' on 2010-03-04 at 3bb921f) + Documentation: fix a few typos in git-notes.txt (merged to 'next' on 2010-02-24 at c88263d) + notes: fix malformed tree entry + builtin-notes: Minor (mostly parse_options-related) fixes (merged to 'next' on 2010-02-21 at 75fc451) + builtin-notes: Add "copy" subcommand for copying notes between objects + builtin-notes: Misc. refactoring of argc and exit value handling + builtin-notes: Add -c/-C options for reusing notes + builtin-notes: Refactor handling of -F option to allow combining -m and -F + builtin-notes: Deprecate the -m/-F options for "git notes edit" + builtin-notes: Add "append" subcommand for appending to note objects + builtin-notes: Add "add" subcommand for adding notes to objects + builtin-notes: Add --message/--file aliases for -m/-F options + builtin-notes: Add "list" subcommand for listing note objects + Documentation: Generalize git-notes docs to 'objects' instead of 'commits' + builtin-notes: Add "prune" subcommand for removing notes for missing objects + Notes API: prune_notes(): Prune notes that belong to non-existing objects + t3305: Verify that removing notes triggers automatic fanout consolidation + builtin-notes: Add "remove" subcommand for removing existing notes + Teach builtin-notes to remove empty notes + Teach notes code to properly preserve non-notes in the notes tree + t3305: Verify that adding many notes with git-notes triggers increased fanout + t3301: Verify successful annotation of non-commits + Builtin-ify git-notes + Refactor notes concatenation into a flexible interface for combining notes + Notes API: Allow multiple concurrent notes trees with new struct notes_tree + Notes API: write_notes_tree(): Store the notes tree in the database + Notes API: for_each_note(): Traverse the entire notes tree with a callback + Notes API: get_note(): Return the note annotating the given object + Notes API: remove_note(): Remove note objects from the notes tree structure + Notes API: add_note(): Add note objects to the internal notes tree structure + Notes API: init_notes(): Initialize the notes tree from the given notes ref + Add tests for checking correct handling of $GIT_NOTES_REF and core.notesRef + Notes API: get_commit_notes() -> format_note() + remove the commit restriction + Minor cosmetic fixes to notes.c (this branch shares commits with sb/notes-parse-opt and tr/notes-display.) Ready for 'master'. * cc/reset-keep (2010-01-19) 5 commits (merged to 'next' on 2010-03-07 at 5237d8e) + reset: disallow using --keep when there are unmerged entries + reset: disallow "reset --keep" outside a work tree + Documentation: reset: describe new "--keep" option + reset: add test cases for "--keep" option + reset: add option "--keep" to "git reset" -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html