]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2012/07 #01)
authorJunio C Hamano <gitster@pobox.com>
Tue, 3 Jul 2012 23:05:21 +0000 (16:05 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 3 Jul 2012 23:16:09 +0000 (16:16 -0700)
whats-cooking.txt

index 22abfc6c151fd93d5abe2c24a7e22206a27e1c34..6fc9bee8c51290684a17ba3752e19211d089ba91 100644 (file)
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (Jun 2012, #08; Thu, 28)
-X-master-at: e7b44f182bc1b2ac32eadbc477a76a185f49ac88
-X-next-at: ce5f79f7997da38c414b6b9006eda871419ecfe7
+Subject: What's cooking in git.git (Jul 2012, #01; Tue, 3)
+X-master-at: b12905140a8239ac687450ad43f18b5f0bcfb62e
+X-next-at: c7ed6b9aeb316c5c29cc1de761d47bbd184a3884
 
-What's cooking in git.git (Jun 2012, #08; Thu, 28)
+What's cooking in git.git (Jul 2012, #01; Tue, 3)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with '-' are
 only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.
 
-The third batch of topics have graduated to 'master', and a handful
-of topics have entered 'next' for developer testing.
-
 You can find the changes described here in the integration branches of the
 repositories listed at
 
     http://git-blame.blogspot.com/p/git-public-repositories.html
 
 --------------------------------------------------
-[Graduated to "master"]
-
-* fc/git-prompt-script (2012-06-19) 7 commits
-  (merged to 'next' on 2012-06-25 at e690a02)
- + completion: respect $GIT_DIR
- + completion: warn people about duplicated function
- + completion: split __git_ps1 into a separate script
- + completion: remove executable mode
- + Merge branch 'fc/git-complete-helper' into fc/git-prompt-script
- + tests: add tests for the bash prompt functions in the completion script
- + tests: move code to run tests under bash into a helper library
-
-Split a rather heavy-ish "git completion" script out to create a
-separate "git prompting" script, to help lazy-autoloading of the
-completion part while making prompting part always available.
-
-* hv/submodule-update-nuke-submodules (2012-06-11) 1 commit
-  (merged to 'next' on 2012-06-25 at bbfcd02)
- + update-index: allow overwriting existing submodule index entries
-
-"git add" allows adding a regular file to the path where a submodule
-used to exist, but "git update-index" does not allow an equivalent
-operation to Porcelain writers.
-
-* jc/rev-list-simplify-merges-first-parent (2012-06-13) 3 commits
-  (merged to 'next' on 2012-06-25 at 4c5ffbe)
- + revision: ignore side parents while running simplify-merges
- + revision: note the lack of free() in simplify_merges()
- + revision: "simplify" options imply topo-order sort
-
-When "git log" is given "--simplify-merges/by-decoration" together
-with "--first-parent", the combination of these options makes the
-simplification logic to use in-core commit objects that haven't been
-examined for relevance, either producing incorrect result or taking
-too long to produce any output.  Teach the simplification logic to
-ignore commits that the first-parent traversal logic ignored when
-both are in effect to work around the issue.
-
-* jk/diff-no-index-pager (2012-06-15) 2 commits
-  (merged to 'next' on 2012-06-21 at e2a2562)
- + do not run pager with diff --no-index --quiet
- + fix pager.diff with diff --no-index
-
-"git diff --no-index" did not work with pagers correctly.
-
-* js/submodule-relative (2012-06-14) 5 commits
-  (merged to 'next' on 2012-06-25 at 310ed77)
- + t7400: avoid path mangling issues
- + submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar
- + submodule: fix sync handling of some relative superproject origin URLs
- + submodule: document failure to handle relative superproject origin URLs
- + submodule: additional regression tests for relative URLs
-
-Teach "git submodule" deal with nested submodule structure where a
-module is contained within a module whose origin is specified as a
-relative URL to its superproject's origin.
-
-* lk/more-helpful-status-hints (2012-06-14) 4 commits
-  (merged to 'next' on 2012-06-25 at 6502d4b)
- + status: better advices when splitting a commit (during rebase -i)
- + status: don't suggest "git rm" or "git add" if not appropriate
- + t7512-status-help.sh: better advices for git status
- + wt-status.*: better advices for git status added
-
-Give finer classification to various states of paths in conflicted
-state and offer advice messages in the "git status" output.
-
-* lk/rebase-i-x (2012-06-13) 1 commit
-  (merged to 'next' on 2012-06-25 at 8252da2)
- + rebase -i: teach "--exec <cmd>"
-
-Teach "-x <cmd>" to "rebase -i" to insert "exec <cmd>" after each
-commit in the resulting history.
-
-* mm/verify-filename-fix (2012-06-18) 2 commits
-  (merged to 'next' on 2012-06-21 at d03dace)
- + verify_filename(): ask the caller to chose the kind of diagnosis
- + sha1_name: do not trigger detailed diagnosis for file arguments
-
-"git diff COPYING HEAD:COPYING" gave a nonsense error message that
-claimed that the treeish HEAD did not have COPYING in it.
-
-* nd/exclude-workaround-top-heavy (2012-06-07) 3 commits
-  (merged to 'next' on 2012-06-25 at 08429bb)
- + exclude: do strcmp as much as possible before fnmatch
- + dir.c: get rid of the wildcard symbol set in no_wildcard()
- + Unindent excluded_from_list()
-
-Attempt to optimize matching with an exclude pattern with a deep
-directory hierarchy by taking the part that specifies leading path
-without wildcard literally.
-
-* nd/stream-index-pack (2012-05-24) 4 commits
-  (merged to 'next' on 2012-06-25 at 3084674)
- + index-pack: use streaming interface for collision test on large blobs
- + index-pack: factor out unpack core from get_data_from_pack
- + index-pack: use streaming interface on large blobs (most of the time)
- + index-pack: hash non-delta objects while reading from stream
-
-Use streaming API to read from the object store to avoid having to hold
-a large blob object in-core while running index-pack.
-
-* nd/stream-pack-objects (2012-05-29) 1 commit
-  (merged to 'next' on 2012-06-25 at fa91345)
- + pack-objects: use streaming interface for reading large loose blobs
-
-"pack-objects" learned to read large loose blobs using the streaming API,
-without the need to hold everything in core at once.
+[New Topics]
+
+* jc/maint-blame-unique-abbrev (2012-07-02) 1 commit
+  (merged to 'next' on 2012-07-03 at c7ed6b9)
+ + blame: compute abbreviation width that ensures uniqueness
+
+"git blame" did not try to make sure the abbreviated commit object
+names in its output are unique.
+
+* jk/push-delete-ref-error-message (2012-07-03) 1 commit
+ - push: don't guess at qualifying remote refs on deletion
+
+The error message from "git push $there :bogo" mentioned we tried
+and failed to guess what ref is being deleted based on the LHS of
+the refspec, which we don't.
 
 --------------------------------------------------
-[New Topics]
+[Stalled]
+
+* db/vcs-svn (2012-06-01) 6 commits
+ - vcs-svn: drop no-op reset methods
+ - vcs-svn: fix signedness warnings
+ - vcs-svn: prefer strstr over memmem
+ - vcs-svn: prefer constcmp to prefixcmp
+ - vcs-svn: simplify cleanup in apply_one_window()
+ - vcs-svn: fix clang-analyzer error
+
+Waiting for Jonathan's clean-up offered earlier.
+
+* jc/apply-3way (2012-06-13) 19 commits
+ - apply --3way: tests
+ - apply: document --3way option
+ - apply: allow rerere() upon --3way results
+ - apply: register conflicted stages to the index
+ - apply: --3way with add/add conflict
+ - apply: move verify_index_match() higher
+ - apply: plug the three-way merge logic in
+ - apply: fall back on three-way merge
+ - apply: accept -3/--3way command line option
+ - apply: move "already exists" logic to check_to_create()
+ - apply: move check_to_create_blob() closer to its sole caller
+ - apply: further split load_preimage()
+ - apply: refactor "previous patch" logic
+ - apply: split load_preimage() helper function out
+ - apply: factor out checkout_target() helper function
+ - apply: refactor read_file_or_gitlink()
+ - apply: clear_image() clears things a bit more
+ - apply: a bit more comments on PATH_TO_BE_DELETED
+ - apply: fix an incomplete comment in check_patch()
+
+"git apply" learns to wiggle the base version and perform three-way merge
+when a patch does not exactly apply to the version you have.
+
+Will merge to 'next' after reading it over once again.
+
+* jc/maint-push-refs-all (2012-05-04) 2 commits
+ - get_fetch_map(): tighten checks on dest refs
+ - fetch/push: allow refs/*:refs/*
+
+Allows pushing and fetching refs/stash.
+There still seem to be other bugs hiding (e.g. try pushing twice).
+
+Not ready.
+
+* jc/split-blob (2012-04-03) 6 commits
+ - chunked-object: streaming checkout
+ - chunked-object: fallback checkout codepaths
+ - bulk-checkin: support chunked-object encoding
+ - bulk-checkin: allow the same data to be multiply hashed
+ - new representation types in the packstream
+ - packfile: use varint functions
+
+Not ready.
+
+I finished the streaming checkout codepath, but as explained in
+127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
+these are still early steps of a long and painful journey. At least
+pack-objects and fsck need to learn the new encoding for the series
+to be usable locally, and then index-pack/unpack-objects needs to
+learn it to be used remotely.
 
-* tb/sanitize-decomposed-utf-8-pathname (2012-06-25) 1 commit
+Given that I heard a lot of noise that people want large files, and
+that I was asked by somebody at GitTogether'11 privately for an
+advice on how to pay developers (not me) to help adding necessary
+support, I am somewhat dissapointed that the original patch series
+that was sent almost two months ago still remains here without much
+comments and updates from the developer community. I even made the
+interface to the logic that decides where to split chunks easily
+replaceable, and I deliberately made the logic in the original patch
+extremely stupid to entice others, especially the "bup" fanboys, to
+come up with a better logic, thinking that giving people an easy
+target to shoot for, they may be encouraged to help out. The plan is
+not working :-(.
+
+--------------------------------------------------
+[Cooking]
+
+* tb/sanitize-decomposed-utf-8-pathname (2012-07-02) 1 commit
  - git on Mac OS and precomposed unicode
 
 Teaches git to normalize pathnames read from readdir(3) and all
@@ -139,75 +121,71 @@ that they come as decomposed UTF-8) to work around issues on Mac OS.
 
 I think there still are other places that need conversion
 (e.g. paths that are read from stdin for some commands), but this
-should be a step in the right direction.
+should be a good first step in the right direction.
 
 Will merge to 'next'.
 
 * cw/no-detaching-an-unborn (2012-06-26) 1 commit
- - git-checkout: disallow --detach on unborn branch
+  (merged to 'next' on 2012-07-03 at 552c5ca)
+ + git-checkout: disallow --detach on unborn branch
 
-"git checkout --detach" when you are still on an unborn branch
+"git checkout --detach", when you are still on an unborn branch,
 should be forbidden, but it wasn't.
 
-Will merge to 'next'.
-
 * cw/rebase-i-root (2012-06-26) 2 commits
- - Add tests for rebase -i --root without --onto
- - rebase -i: support --root without --onto
+  (merged to 'next' on 2012-07-03 at 231c0a4)
+ + Add tests for rebase -i --root without --onto
+ + rebase -i: support --root without --onto
 
 "git rebase [-i] --root $tip" can now be used to rewrite all the
 history down to the root.
 
-Will merge to 'next'.
-
 * js/fast-export-paths-with-spaces (2012-06-27) 1 commit
- - fast-export: quote paths with spaces
+  (merged to 'next' on 2012-07-03 at f9c23e9)
+ + fast-export: quote paths with spaces
 
 "git fast-export" produced an input stream for fast-import without
 properly quoting pathnames when they contain SPs in them.
 
-Will merge to 'next'.
-
 * mm/mediawiki-file-attachments (2012-06-27) 5 commits
- - git-remote-mediawiki: import "File:" attachments
- - git-remote-mediawiki: split get_mw_pages into smaller functions
- - git-remote-mediawiki: send "File:" attachments to a remote wiki
- - git-remote-mediawiki: don't "use encoding 'utf8';"
- - git-remote-mediawiki: don't compute the diff when getting commit message
+  (merged to 'next' on 2012-07-03 at 90f2f45)
+ + git-remote-mediawiki: import "File:" attachments
+ + git-remote-mediawiki: split get_mw_pages into smaller functions
+ + git-remote-mediawiki: send "File:" attachments to a remote wiki
+ + git-remote-mediawiki: don't "use encoding 'utf8';"
+ + git-remote-mediawiki: don't compute the diff when getting commit message
  (this branch uses mm/credential-plumbing.)
 
 "mediawiki" remote helper (in contrib/) learned to handle file
 attachments.
 
-Will merge to 'next'.
-
 * mz/rebase-no-mbox (2012-06-26) 4 commits
- - am: don't call mailinfo if $rebasing
- - am --rebasing: get patch body from commit, not from mailbox
- - rebase --root: print usage on too many args
- - rebase: don't source git-sh-setup twice
+  (merged to 'next' on 2012-07-03 at 5bf5c12)
+ + am: don't call mailinfo if $rebasing
+ + am --rebasing: get patch body from commit, not from mailbox
+ + rebase --root: print usage on too many args
+ + rebase: don't source git-sh-setup twice
 
 Teach "am --rebasing" codepath to grab authorship, log message and
-the patch text directly out of existing commits.
-
-Will merge to 'next'.
+the patch text directly out of existing commits.  This will help
+rebasing commits that have confusing "diff" output in their log
+messages.
 
 * pw/git-p4-tests (2012-06-27) 10 commits
- - git p4 test: fix badp4dir test
- - git p4 test: split up big t9800 test
- - git p4 test: cleanup_git should make a new $git
- - git p4 test: copy source indeterminate
- - git p4 test: check for error message in failed test
- - git p4 test: rename some "git-p4 command" strings
- - git p4 test: never create default test repo
- - git p4 test: simplify quoting involving TRASH_DIRECTORY
- - git p4 test: use real_path to resolve p4 client symlinks
- - git p4 test: wait longer for p4d to start and test its pid
+  (merged to 'next' on 2012-07-03 at 9bd9cda)
+ + git p4 test: fix badp4dir test
+ + git p4 test: split up big t9800 test
+ + git p4 test: cleanup_git should make a new $git
+ + git p4 test: copy source indeterminate
+ + git p4 test: check for error message in failed test
+ + git p4 test: rename some "git-p4 command" strings
+ + git p4 test: never create default test repo
+ + git p4 test: simplify quoting involving TRASH_DIRECTORY
+ + git p4 test: use real_path to resolve p4 client symlinks
+ + git p4 test: wait longer for p4d to start and test its pid
 
 More "git p4" tests.
 
-Will merge to 'next'.
-
 * rj/platform-pread-may-be-thread-unsafe (2012-06-26) 1 commit
   (merged to 'next' on 2012-06-28 at ce5f79f)
  + index-pack: Disable threading on cygwin
@@ -232,14 +210,15 @@ diff operation.
 Will merge to 'next', and later down to older maintenance releases.
 
 * mz/empty-rebase-test (2012-06-27) 1 commit
- - add test case for rebase of empty commit
-
+  (merged to 'next' on 2012-07-03 at 1e7de3f)
+ + add test case for rebase of empty commit
 We did not have test to make sure "git rebase" without extra options
 filters out an empty commit in the original history.
 
 * cw/help-over-network (2012-06-28) 2 commits
- - Allow help.htmlpath to be a URL prefix
- - Add config variable to set HTML path for git-help --web
+  (merged to 'next' on 2012-07-03 at 99e8d28)
+ + Allow help.htmlpath to be a URL prefix
+ + Add config variable to set HTML path for git-help --web
 
 "git help -w $cmd" can show HTML version of documentation for
 "git-$cmd" by setting help.htmlpath to somewhere other than the
@@ -269,87 +248,6 @@ one of its early operations.
 Needs to be eyeballed by people who run tests with exotic options
 like valgrind, --root=/dev/shm/somewhere, etc.
 
---------------------------------------------------
-[Stalled]
-
-* db/vcs-svn (2012-06-01) 6 commits
- - vcs-svn: drop no-op reset methods
- - vcs-svn: fix signedness warnings
- - vcs-svn: prefer strstr over memmem
- - vcs-svn: prefer constcmp to prefixcmp
- - vcs-svn: simplify cleanup in apply_one_window()
- - vcs-svn: fix clang-analyzer error
-
-Waiting for Jonathan's clean-up offered earlier.
-
-* jc/apply-3way (2012-06-13) 19 commits
- - apply --3way: tests
- - apply: document --3way option
- - apply: allow rerere() upon --3way results
- - apply: register conflicted stages to the index
- - apply: --3way with add/add conflict
- - apply: move verify_index_match() higher
- - apply: plug the three-way merge logic in
- - apply: fall back on three-way merge
- - apply: accept -3/--3way command line option
- - apply: move "already exists" logic to check_to_create()
- - apply: move check_to_create_blob() closer to its sole caller
- - apply: further split load_preimage()
- - apply: refactor "previous patch" logic
- - apply: split load_preimage() helper function out
- - apply: factor out checkout_target() helper function
- - apply: refactor read_file_or_gitlink()
- - apply: clear_image() clears things a bit more
- - apply: a bit more comments on PATH_TO_BE_DELETED
- - apply: fix an incomplete comment in check_patch()
-
-"git apply" learns to wiggle the base version and perform three-way merge
-when a patch does not exactly apply to the version you have.
-
-Will merge to 'next' after reading it over once again.
-
-* jc/maint-push-refs-all (2012-05-04) 2 commits
- - get_fetch_map(): tighten checks on dest refs
- - fetch/push: allow refs/*:refs/*
-
-Allows pushing and fetching refs/stash.
-There still seem to be other bugs hiding (e.g. try pushing twice).
-
-Not ready.
-
-* jc/split-blob (2012-04-03) 6 commits
- - chunked-object: streaming checkout
- - chunked-object: fallback checkout codepaths
- - bulk-checkin: support chunked-object encoding
- - bulk-checkin: allow the same data to be multiply hashed
- - new representation types in the packstream
- - packfile: use varint functions
-
-Not ready.
-
-I finished the streaming checkout codepath, but as explained in
-127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
-these are still early steps of a long and painful journey. At least
-pack-objects and fsck need to learn the new encoding for the series
-to be usable locally, and then index-pack/unpack-objects needs to
-learn it to be used remotely.
-
-Given that I heard a lot of noise that people want large files, and
-that I was asked by somebody at GitTogether'11 privately for an
-advice on how to pay developers (not me) to help adding necessary
-support, I am somewhat dissapointed that the original patch series
-that was sent almost two months ago still remains here without much
-comments and updates from the developer community. I even made the
-interface to the logic that decides where to split chunks easily
-replaceable, and I deliberately made the logic in the original patch
-extremely stupid to entice others, especially the "bup" fanboys, to
-come up with a better logic, thinking that giving people an easy
-target to shoot for, they may be encouraged to help out. The plan is
-not working :-(.
-
---------------------------------------------------
-[Cooking]
-
 * mm/config-xdg (2012-06-25) 4 commits
   (merged to 'next' on 2012-06-28 at 57049d1)
  + config: write to $XDG_CONFIG_HOME/git/config file when appropriate
@@ -360,8 +258,6 @@ not working :-(.
 Teach git to read various information from $XDG_CONFIG_HOME/git/ to allow
 the user to avoid cluttering $HOME.
 
-Will merge to 'next'.
-
 * mm/credential-plumbing (2012-06-25) 3 commits
   (merged to 'next' on 2012-06-28 at 6e6fe9f)
  + git-remote-mediawiki: add credential support
@@ -371,8 +267,6 @@ Will merge to 'next'.
 
 Expose the credential API to scripted Porcelain writers.
 
-Will merge to 'next'.
-
 * th/diff-no-index-fixes (2012-06-22) 2 commits
   (merged to 'next' on 2012-06-26 at 450e781)
  + diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes
@@ -393,10 +287,11 @@ the cloning to the specified branch.
 Will merge to 'master'.
 
 * vr/use-our-perl-in-tests (2012-06-24) 4 commits
- - t/README: add a bit more Don'ts
- - tests: enclose $PERL_PATH in double quotes
- - t/test-lib.sh: export PERL_PATH for use in scripts
- - t: Replace 'perl' by $PERL_PATH
+  (merged to 'next' on 2012-07-03 at 90dfcf0)
+ + t/README: add a bit more Don'ts
+ + tests: enclose $PERL_PATH in double quotes
+ + t/test-lib.sh: export PERL_PATH for use in scripts
+ + t: Replace 'perl' by $PERL_PATH
  (this branch is used by jc/test-lib-source-build-options-early.)
 
 Some implementations of Perl terminates "lines" with CRLF even when
@@ -404,25 +299,37 @@ the script is operating on just a sequence of bytes.  Make sure to
 use "$PERL_PATH", the version of Perl the user told Git to use, in
 our tests to avoid unnecessary breakages in tests.
 
-* jc/sha1-name-more (2012-06-23) 9 commits
+* jc/sha1-name-more (2012-07-03) 25 commits
+ - rev-parse --disambiguate=<prefix>
+ - rev-parse: A and B in "rev-parse A..B" refer to committish
+ - reset: the command takes committish
+ - commit-tree: the command wants a tree and commits
+ - apply: --build-fake-ancestor expects blobs
+ - sha1_name.c: add support for disambiguating other types
+ - revision.c: the "log" family, except for "show", takes committish
+ - revision.c: allow handle_revision_arg() to take other flags
+ - sha1_name.c: introduce get_sha1_committish()
+ - sha1_name.c: teach lookup context to get_sha1_with_context()
+ - sha1_name.c: many short names can only be committish
+ - sha1_name.c: get_sha1_1() takes lookup flags
  - sha1_name.c: get_describe_name() by definition groks only commits
  - sha1_name.c: teach get_short_sha1() a commit-only option
  - sha1_name.c: allow get_short_sha1() to take other flags
+ - get_sha1(): fix error status regression
  - sha1_name.c: restructure disambiguation of short names
  - sha1_name.c: correct misnamed "canonical" and "res"
  - sha1_name.c: refactor find_short_packed_object()
  - sha1_name.c: rename "now" to "current"
  - sha1_name.c: clarify what "fake" is for in find_short_object_filename()
+ - sha1_name.c: get rid of get_sha1_with_mode()
+ - sha1_name.c: get rid of get_sha1_with_mode_1()
+ - sha1_name.c: hide get_sha1_with_context_1() ugliness
  - sha1_name.c: indentation fix
 
-Teaches the object name parser that a "git describe" output is
-always a commit object, to prolong the lifetime of abbreviated
-object name in it.
-
-It has a handful of tests that expect failure and show directions
-for a couple of enhancement ideas.
-
-Will merge to 'next'.
+Teaches the object name parser things like a "git describe" output
+is always a commit object, "A" in "git log A" must be a committish,
+and "A" and "B" in "git log A...B" both must be committish, etc., to
+prolong the lifetime of abbreviated object names.
 
 * jk/version-string-dependency (2012-06-20) 11 commits
  - Makefile: move GIT-VERSION-FILE dependencies closer to use
@@ -437,10 +344,11 @@ Will merge to 'next'.
  - Makefile: fold MISC_H into LIB_H
  - Makefile: sort LIB_H list
 
-Will keep in 'pu' to give Peff and Jonathan to work out improvements
-for a week or so.
+Will keep in 'pu' to give Peff and Jonathan to work out improvements.
 
-* jn/perl-makemaker-leading-paths (2012-06-15) 1 commit
+* jn/perl-makemaker-leading-paths (2012-06-29) 2 commits
+  (merged to 'next' on 2012-06-29 at 0f17059)
+ + perl/Makefile: Fix a missing double-quote
   (merged to 'next' on 2012-06-28 at 286d854)
  + perl/Makefile: move "mkdir -p" to module installation loop for maintainability