{"thread":{"id":"27739","subject":"What's cooking in git.git (Jun 2011, #05; Thu, 30)","startedAt":"2011-06-30T23:26:37Z","lastAt":"2011-07-04T21:35:44Z","messageCount":5,"participants":["Junio C Hamano","Elijah Newren","Ævar Arnfjörð Bjarmason","Jens Lehmann"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"170733","messageId":"7viprmq4sy.fsf@alter.siamese.dyndns.org","threadId":"27739","inReplyTo":null,"subject":"What's cooking in git.git (Jun 2011, #05; Thu, 30)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-06-30T23:26:37Z","receivedAt":"2011-06-30T23:26: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'.\n\nNow that 1.7.6 is out, 'next' has been rewound and rebuilt to make its\nhistory appear a bit cleaner.\n\nAlso I updated the order of topics in 'pu' to have the ones that are\nscheduled for 'next' early in the sequence (and fixes and documentation\nupdates come earlier than new features), and pushing the stalled ones down\nto the very end.\n\nThe tip of 'pu' is broken with respect to t7610 as of today.\n\n--------------------------------------------------\n[New Topics]\n\n* bc/submodule-foreach-stdin-fix-1.7.4 (2011-06-29) 2 commits\n - git-submodule.sh: preserve stdin for the command spawned by foreach\n - t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin\n\nWill merge to 'next'.\n\n* dc/stash-con-untracked (2011-06-26) 1 commit\n - stash: Add --include-untracked option to stash and remove all untracked files\n\n* jn/doc-dashdash (2011-06-29) 2 commits\n - Documentation/i18n: quote double-dash for AsciiDoc\n - Merge branch 'jn/maint-doc-dashdash' into jn/doc-dashdash\n (this branch uses jn/maint-doc-dashdash.)\n\nWill merge to 'next'.\n\n* jn/maint-doc-dashdash (2011-06-29) 1 commit\n - Documentation: quote double-dash for AsciiDoc\n (this branch is used by jn/doc-dashdash.)\n\nWill merge to 'next'.\n\n* js/rebase-typo-branch-squelch-usage (2011-06-29) 1 commit\n - rebase: do not print lots of usage hints after an obvious error message\n\nWill merge to 'next'.\n\n* nk/ref-doc (2011-06-23) 7 commits\n - glossary: clarify description of HEAD\n - glossary: update description of head and ref\n - glossary: update description of \"tag\"\n - git.txt: de-emphasize the implementation detail of a ref\n - check-ref-format doc: de-emphasize the implementation detail of a ref\n - git-remote.txt: avoid sounding as if loose refs are the only ones in the world\n - git-remote.txt: fix wrong remote refspec\n\nWill merge to 'next'.\n\n* jc/submodule-sync-no-auto-vivify (2011-06-26) 2 commits\n - submodule add: always initialize .git/config entry\n - submodule sync: do not auto-vivify uninteresting submodule\n\n* jn/gitweb-search (2011-06-22) 4 commits\n - gitweb: Make git_search_* subroutines render whole pages\n - gitweb: Clean up code in git_search_* subroutines\n - gitweb: Split body of git_search into subroutines\n - gitweb: Check permissions first in git_search\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* db/http-cookies (2011-06-03) 1 commit\n  (merged to 'next' on 2011-06-06 at 90d736a)\n + http: pass http.cookiefile using CURLOPT_COOKIEFILE\n\n* ef/maint-win-verify-path (2011-06-08) 5 commits\n + verify_dotfile(): do not assume '/' is the path seperator\n  (merged to 'next' on 2011-06-07 at b418e05)\n + verify_path(): simplify check at the directory boundary\n  (merged to 'next' on 2011-06-01 at f316f68)\n + verify_path: consider dos drive prefix\n + real_path: do not assume '/' is the path seperator\n + A Windows path starting with a backslash is absolute\n\n* jc/advice-about-to-lose-commit (2011-05-24) 1 commit\n  (merged to 'next' on 2011-05-30 at 42385cc)\n + checkout: make advice when reattaching the HEAD less loud\n\n* jc/diff-index-quick-exit-early (2011-05-31) 2 commits\n  (merged to 'next' on 2011-06-01 at 79d868a)\n + diff-index --quiet: learn the \"stop feeding the backend early\" logic\n + Merge remote-tracking branch 'ko/maint' into jc/diff-index-quick-exit-early\n\n* jc/maint-1.7.3-checkout-describe (2011-06-05) 1 commit\n  (merged to 'next' on 2011-06-06 at 6a59bb7)\n + checkout -b <name>: correctly detect existing branch\n\n* jk/combine-diff-binary-etc (2011-05-24) 5 commits\n  (merged to 'next' on 2011-05-24 at 07cf180)\n + combine-diff: respect textconv attributes\n + refactor get_textconv to not require diff_filespec\n + combine-diff: handle binary files as binary\n + combine-diff: calculate mode_differs earlier\n + combine-diff: split header printing into its own function\n\n* jk/maint-1.7.2-status-ignored (2011-06-02) 2 commits\n  (merged to 'next' on 2011-06-02 at 8626cc6)\n + git status --ignored: tests and docs\n + status: fix bug with missing --ignore files\n\n* js/i18n-windows (2011-06-06) 3 commits\n  (merged to 'next' on 2011-06-06 at d8c4ba3)\n + Windows: teach getenv to do a case-sensitive search\n + mingw.c: move definition of mingw_getenv down\n + sh-i18n--envsubst: do not crash when no arguments are given\n\n* mg/diff-stat-count (2011-05-27) 4 commits\n  (merged to 'next' on 2011-06-01 at 5cdb776)\n + diff --stat-count: finishing touches\n + diff-options.txt: describe --stat-{width,name-width,count}\n + diff: introduce --stat-lines to limit the stat lines\n + diff.c: omit hidden entries from namelen calculation with --stat\n\n* rs/grep-color (2011-06-05) 3 commits\n  (merged to 'next' on 2011-06-06 at fd6bae1)\n + grep: add --heading\n + grep: add --break\n + grep: fix coloring of hunk marks between files\n\n--------------------------------------------------\n[Stalled]\n\n* jh/receive-count-limit (2011-05-23) 10 commits\n - receive-pack: Allow server to refuse pushes with too many objects\n - pack-objects: Estimate pack size; abort early if pack size limit is exceeded\n - send-pack/receive-pack: Allow server to refuse pushing too large packs\n - pack-objects: Allow --max-pack-size to be used together with --stdout\n - send-pack/receive-pack: Allow server to refuse pushes with too many commits\n - pack-objects: Teach new option --max-commit-count, limiting #commits in pack\n - receive-pack: Prepare for addition of the new 'limit-*' family of capabilities\n - Tighten rules for matching server capabilities in server_supports()\n - send-pack: Attempt to retrieve remote status even if pack-objects fails\n - Update technical docs to reflect side-band-64k capability in receive-pack\n\nWould need another round to separate per-pack and per-session limits.\nNot urgent. Will not merge before 1.7.6.\n\n* sr/transport-helper-fix (2011-06-19) 20 commits\n - transport-helper: implement marks location as capability\n - transport-helper: Use capname for gitdir capability too\n - transport-helper: export is no longer always the last command\n - transport-helper: change import semantics\n - transport-helper: update ref status after push with export\n - transport-helper: use the new done feature where possible\n - transport-helper: check status code of finish_command\n - transport-helper: factor out push_update_refs_status\n - fast-export: support done feature\n - fast-import: introduce 'done' command\n - git-remote-testgit: fix error handling\n - git-remote-testgit: only push for non-local repositories\n - remote-curl: accept empty line as terminator\n - git_remote_helpers: push all refs during a non-local export\n - transport-helper: don't feed bogus refs to export push\n - teach remote-testgit to import non-HEAD refs\n - t5800: document some non-functional parts of remote helpers\n - t5800: use skip_all instead of prereq\n - t5800: factor out some ref tests\n - transport-helper: fix minor leak in push_refs_with_export\n\nAt least Patch 10/20 (git-remote-testgit: fix error handling) and Patch\n15/20 (transport-helper: use the new done feature where possible) need a\nreroll.\n\n* jm/mergetool-pathspec (2011-06-22) 2 commits\n - mergetool: Don't assume paths are unmerged\n - mergetool: Add tests for filename with whitespace\n\nI think this is a good idea, but it probably needs a re-roll.\n\n--------------------------------------------------\n[Cooking]\n\n* ak/gcc46-profile-feedback (2011-06-20) 3 commits\n - Add explanation of the profile feedback build to the README\n - Add profile feedback build to git\n - Add option to disable NORETURN\n\nWill merge to 'next'.\n\n* jc/maint-cygwin-trust-executable-bit-default (2011-06-20) 1 commit\n - cygwin: trust executable bit by default\n\nFix for an ancient regression.\nWill merge to 'next'.\n\n* jk/tag-list-multiple-patterns (2011-06-20) 1 commit\n - tag: accept multiple patterns for --list\n\nWill merge to 'next' later.\n\n* jl/maint-fetch-recursive-fix (2011-06-20) 1 commit\n - fetch: Also fetch submodules in subdirectories in on-demand mode\n\nWill merge to 'next'.\n\n* rr/revert-cherry-pick-continue (2011-06-21) 13 commits\n - revert: Introduce --continue to continue the operation\n - revert: Introduce skip-all to cleanup sequencer data\n - revert: Introduce a layer of indirection over pick_commits\n - revert: Persist data for continuation\n - revert: Catch incompatible command-line options early\n - revert: Separate cmdline parsing from functional code\n - revert: Introduce struct to keep command-line options\n - revert: Rename no_replay to record_origin\n - revert: Eliminate global \"commit\" variable\n - revert: Propogate errors upwards from do_pick_commit\n - revert: Don't check lone argument in get_encoding\n - revert: Factor out add_message_to_msg function\n - advice: Introduce error_resolve_conflict\n\nUnder discussion, just queued here so that it is not lost.\n\n* fk/relink-upon-ldflags-update (2011-06-22) 1 commit\n - Makefile: Track changes to LDFLAGS and relink when necessary\n\nWill merge to 'next'.\n\n* jk/maint-config-param (2011-06-22) 6 commits\n - config: use strbuf_split_str instead of a temporary strbuf\n - strbuf: allow strbuf_split to work on non-strbufs\n - config: avoid segfault when parsing command-line config\n - config: die on error in command-line config\n - fix \"git -c\" parsing of values with equals signs\n - strbuf_split: add a max parameter\n (this branch is used by jk/clone-cmdline-config.)\n\nSeparated earlier parts of jk/clone-cmdline-config for maint.\nWill merge to 'next' later.\n\n* jn/gitweb-split-header-html (2011-06-22) 1 commit\n - gitweb: Refactor git_header_html\n\nWill merge to 'next' later.\n\n* aw/rebase-i-p (2011-06-19) 1 commit\n - rebase -i -p: include non-first-parent commits in todo list\n\nRerolled with a minor tweak.\nWill merge to 'next'.\n\n* en/merge-recursive (2011-06-13) 49 commits\n - t3030: fix accidental success in symlink rename\n - merge-recursive: Fix working copy handling for rename/rename/add/add\n - merge-recursive: add handling for rename/rename/add-dest/add-dest\n - merge-recursive: Have conflict_rename_delete reuse modify/delete code\n - merge-recursive: Make modify/delete handling code reusable\n - merge-recursive: Consider modifications in rename/rename(2to1) conflicts\n - merge-recursive: Create function for merging with branchname:file markers\n - merge-recursive: Record more data needed for merging with dual renames\n - merge-recursive: Defer rename/rename(2to1) handling until process_entry\n - merge-recursive: Small cleanups for conflict_rename_rename_1to2\n - merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base\n - merge-recursive: Introduce a merge_file convenience function\n - merge-recursive: Fix modify/delete resolution in the recursive case\n - merge-recursive: Provide more info in conflict markers with file renames\n - merge-recursive: Cleanup and consolidation of rename_conflict_info\n - merge-recursive: Consolidate process_entry() and process_df_entry()\n - merge-recursive: Improve handling of rename target vs. directory addition\n - merge-recursive: Add comments about handling rename/add-source cases\n - merge-recursive: Make dead code for rename/rename(2to1) conflicts undead\n - merge-recursive: Fix deletion of untracked file in rename/delete conflicts\n - merge-recursive: When we detect we can skip an update, actually skip it\n - merge-recursive: Split update_stages_and_entry; only update stages at end\n - merge-recursive: Consolidate different update_stages functions\n - merge-recursive: Allow make_room_for_path() to remove D/F entries\n - merge-recursive: Split was_tracked() out of would_lose_untracked()\n - merge-recursive: Save D/F conflict filenames instead of unlinking them\n - merge-recursive: Fix code checking for D/F conflicts still being present\n - merge-recursive: Fix sorting order and directory change assumptions\n - merge-recursive: Fix recursive case with D/F conflict via add/add conflict\n - merge-recursive: Avoid working directory changes during recursive case\n - merge-recursive: Remember to free generated unique path names\n - merge-recursive: Mark some diff_filespec struct arguments const\n - merge-recursive: Correct a comment\n - merge-recursive: Make BUG message more legible by adding a newline\n - t6022: Add testcase for merging a renamed file with a simple change\n - t6022: New tests checking for unnecessary updates of files\n - t6022: Remove unnecessary untracked files to make test cleaner\n - t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify\n - t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify\n - t6036: tests for criss-cross merges with various directory/file conflicts\n - t6036: criss-cross with weird content can fool git into clean merge\n - t6036: Add differently resolved modify/delete conflict in criss-cross test\n - t6042: Ensure rename/rename conflicts leave index and workdir in sane state\n - t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts\n - t6042: Add tests for content issues with modify/rename/directory conflicts\n - t6042: Add a testcase where undetected rename causes silent file deletion\n - t6042: Add a pair of cases where undetected renames cause issues\n - t6042: Add failing testcase for rename/modify/add-source conflict\n - t6042: Add a testcase where git deletes an untracked file\n\nHaven't looked at the whole series yet.\n\n* fg/submodule-keep-updating (2011-06-13) 3 commits\n - git-submodule.sh: clarify the \"should we die now\" logic\n - submodule update: continue when a checkout fails\n - git-sh-setup: add die_with_status\n\nWill merge to 'next'.\n\n* jc/no-gitweb-test-without-cgi-etc (2011-06-15) 1 commit\n - t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met\n\nWill merge to 'next'.\n\n* jn/mime-type-with-params (2011-06-30) 2 commits\n - gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss\n - gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss\n\nWill merge to 'next' later.\n\n* ln/gitweb-mime-types-split-at-blank (2011-06-15) 1 commit\n - gitweb: allow space as delimiter in mime.types\n\nWill merge to 'next'.\n\n* md/interix-update (2011-06-15) 1 commit\n - Update the Interix default build configuration.\n\nWill merge to 'next'.\n\n* rj/config-cygwin (2011-06-16) 3 commits\n - config.c: Make git_config() work correctly when called recursively\n - t1301-*.sh: Fix the 'forced modes' test on cygwin\n - help.c: Fix detection of custom merge strategy on cygwin\n\nWill merge to 'next'.\n\n* jk/archive-tar-filter (2011-06-22) 9 commits\n - upload-archive: allow user to turn off filters\n - archive: provide builtin .tar.gz filter\n - archive: implement configurable tar filters\n - archive: refactor file extension format-guessing\n - archive: move file extension format-guessing lower\n - archive: pass archiver struct to write_archive callback\n - archive: refactor list of archive formats\n - archive-tar: don't reload default config options\n - archive: reorder option parsing and config reading\n\nRerolled.\nWill merge to 'next' later.\n\n* jc/index-pack (2011-06-05) 9 commits\n - verify-pack: use index-pack --verify\n - index-pack: show histogram when emulating \"verify-pack -v\"\n - index-pack: start learning to emulate \"verify-pack -v\"\n - index-pack: a miniscule refactor\n - index-pack --verify: read anomalous offsets from v2 idx file\n - write_idx_file: need_large_offset() helper function\n - index-pack: --verify\n - write_idx_file: introduce a struct to hold idx customization options\n - index-pack: group the delta-base array entries also by type\n\nKilled \"verify-pack\" ;-) The next will be to update fsck, which would be a\nbigger task.\n\nWill merge to 'next' later.\n\n* an/shallow-doc (2011-06-08) 2 commits\n - Document the underlying protocol used by shallow repositories and --depth commands.\n - Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.\n\nWill merge to 'next'.\n\n* jc/legacy-loose-object (2011-06-08) 1 commit\n - sha1_file.c: \"legacy\" is really the current format\n\nWill merge to 'next'.\n\n* jc/zlib-wrap (2011-06-10) 7 commits\n - zlib: allow feeding more than 4GB in one go\n - zlib: zlib can only process 4GB at a time\n - zlib: wrap deflateBound() too\n - zlib: wrap deflate side of the API\n - zlib: wrap inflateInit2 used to accept only for gzip format\n - zlib: wrap remaining calls to direct inflate/inflateEnd\n - zlib wrapper: refactor error message formatter\n\nThis replaces the earlier attempt to deal with the mismatch between our\nexpectation and what zlib API actually offers piecemeal.\n\nWill merge to 'next' later.\n\n* jk/clone-cmdline-config (2011-06-22) 4 commits\n - clone: accept config options on the command line\n - config: make git_config_parse_parameter a public function\n - remote: use new OPT_STRING_LIST\n - parse-options: add OPT_STRING_LIST helper\n (this branch uses jk/maint-config-param.)\n\nSeparated the earlier parts out to make it mergeable to the maintenance\ntrack.\n\nWill merge to 'next' later.\n\n* jk/tag-contains-ab (2011-06-30) 4 commits\n - git skew: a tool to find how big a clock skew exists in the history\n - default core.clockskew variable to one day\n - limit \"contains\" traversals based on commit timestamp\n - tag: speed up --contains calculation\n\nWill merge to 'next' later (at least the first three).\n\n* jk/clone-detached (2011-06-07) 4 commits\n - clone: always fetch remote HEAD\n - make copy_ref globally available\n - consider only branches in guess_remote_head\n - t: add tests for cloning remotes with detached HEAD\n\nSomewhat involved bugfix.\n\n* jl/submodule-add-relurl-wo-upstream (2011-06-06) 3 commits\n - submodule add: clean up duplicated code\n - submodule add: allow relative repository path even when no url is set\n - submodule add: test failure when url is not configured in superproject\n\nWhen merged to pu, it seems to break 7610.\n\n* jn/gitweb-js-blame (2011-05-27) 3 commits\n  (merged to 'next' on 2011-06-29 at cce347d)\n + gitweb.js: use setTimeout rather than setInterval in blame_incremental.js\n + gitweb.js: No need for loop in blame_incremental's handleResponse()\n + gitweb.js: No need for inProgress in blame_incremental.js\n\nOriginally merged to 'next' on 2011-06-01.\nWill merge to 'master'.\n\n* da/git-prefix-everywhere (2011-06-02) 4 commits\n  (merged to 'next' on 2011-06-29 at 4ed5461)\n + t/t7503-pre-commit-hook.sh: Add GIT_PREFIX tests\n + git-mergetool--lib: Make vimdiff retain the current directory\n + git: Remove handling for GIT_PREFIX\n + setup: Provide GIT_PREFIX to built-ins\n\nOriginally merged to 'next' on 2011-06-02.\nWill merge to 'master'.\n\n* jc/streaming-filter (2011-05-26) 8 commits\n  (merged to 'next' on 2011-06-29 at 9901923)\n + t0021: test application of both crlf and ident\n + t0021-conversion.sh: fix NoTerminatingSymbolAtEOF test\n + streaming: filter cascading\n + streaming filter: ident filter\n + Add LF-to-CRLF streaming conversion\n + stream filter: add \"no more input\" to the filters\n + Add streaming filter API\n + convert.h: move declarations for conversion from cache.h\n (this branch uses jc/streaming.)\n\nTrivial lf-to-crlf and ident conversions can be performed without reading\neverything in-core first.\n\nOriginally merged to 'next' on 2011-06-06.\nWill merge to 'master'.\n\n* jc/streaming (2011-05-26) 14 commits\n  (merged to 'next' on 2011-06-29 at 55ac692)\n + sha1_file: use the correct type (ssize_t, not size_t) for read-style function\n + streaming: read loose objects incrementally\n + sha1_file.c: expose helpers to read loose objects\n + streaming: read non-delta incrementally from a pack\n + streaming_write_entry(): support files with holes\n + convert: CRLF_INPUT is a no-op in the output codepath\n + streaming_write_entry(): use streaming API in write_entry()\n + streaming: a new API to read from the object store\n + write_entry(): separate two helper functions out\n + unpack_object_header(): make it public\n + sha1_object_info_extended(): hint about objects in delta-base cache\n + sha1_object_info_extended(): expose a bit more info\n + packed_object_info_detail(): do not return a string\n + Merge branches 'jc/convert', 'jc/bigfile' and 'jc/replacing' into jc/streaming\n (this branch is used by jc/streaming-filter.)\n\nOriginally merged to 'next' on 2011-05-26.\nWill merge to 'master'.\n\n* ab/i18n-scripts (2011-05-21) 48 commits\n  (merged to 'next' on 2011-06-29 at 61f4472)\n + i18n: git-bisect bisect_next_check \"You need to\" message\n + i18n: git-bisect [Y/n] messages\n + i18n: git-bisect bisect_replay + $1 messages\n + i18n: git-bisect bisect_reset + $1 messages\n + i18n: git-bisect bisect_run + $@ messages\n + i18n: git-bisect die + eval_gettext messages\n + i18n: git-bisect die + gettext messages\n + i18n: git-bisect echo + eval_gettext message\n + i18n: git-bisect echo + gettext messages\n + i18n: git-bisect gettext + echo message\n + i18n: git-bisect add git-sh-i18n\n + i18n: git-stash drop_stash say/die messages\n + i18n: git-stash \"unknown option\" message\n + i18n: git-stash die + eval_gettext $1 messages\n + i18n: git-stash die + eval_gettext $* messages\n + i18n: git-stash die + eval_gettext messages\n + i18n: git-stash die + gettext messages\n + i18n: git-stash say + gettext messages\n + i18n: git-stash echo + gettext message\n + i18n: git-stash add git-sh-i18n\n + i18n: git-submodule \"blob\" and \"submodule\" messages\n + i18n: git-submodule \"path not initialized\" message\n + i18n: git-submodule \"[...] path is ignored\" message\n + i18n: git-submodule \"Entering [...]\" message\n + i18n: git-submodule $errmsg messages\n + i18n: git-submodule \"Submodule change[...]\" messages\n + i18n: git-submodule \"cached cannot be used\" message\n + i18n: git-submodule $update_module say + die messages\n + i18n: git-submodule die + eval_gettext messages\n + i18n: git-submodule say + eval_gettext messages\n + i18n: git-submodule echo + eval_gettext messages\n + i18n: git-submodule add git-sh-i18n\n + i18n: git-pull eval_gettext + warning message\n + i18n: git-pull eval_gettext + die message\n + i18n: git-pull die messages\n + i18n: git-pull add git-sh-i18n\n + i18n: git-am printf(1) message to eval_gettext\n + i18n: git-am core say messages\n + i18n: git-am \"Falling back\" say message\n + i18n: git-am \"Apply?\" message\n + i18n: git-am clean_abort messages\n + i18n: git-am cannot_fallback messages\n + i18n: git-am die messages\n + i18n: git-am gettext + gettext to stderr message\n + i18n: git-am eval_gettext messages\n + i18n: git-am multi-line getttext $msg; echo\n + i18n: git-am one-line gettext $msg; echo\n + i18n: git-am add git-sh-i18n\n\nOriginally merged to 'next' on 2011-05-23.\nWill merge to 'master'.\n\n--------------------------------------------------\n[Discarded]\n\n* js/ref-namespaces (2011-06-07) 4 commits\n . ref namespaces: documentation\n . ref namespaces: support remote repositories via upload-pack and receive-pack\n . ref namespaces: infrastructure\n . Fix prefix handling in ref iteration functions\n\nFairly involved feature enhancement, and breaks tests when merged to 'pu'.\n\n* jk/transport-helper-fix (2011-06-07) 8 commits\n . git_remote_helpers: push all refs during a non-local export\n . transport-helper: don't feed bogus refs to export push\n . teach remote-testgit to import multiple refs\n . teach remote-testgit to import non-HEAD refs\n . t5800: document some non-functional parts of remote helpers\n . t5800: factor out some ref tests\n . git-remote-testgit: exit gracefully after push\n . transport-helper: fix minor leak in push_refs_with_export\n\nsr/transport-helper-fix is a superset of this.\n"},{"id":"170736","messageId":"BANLkTikeg+=QrxiRB7fxVByizDqy=qxNjQ@mail.gmail.com","threadId":"27739","inReplyTo":"7viprmq4sy.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jun 2011, #05; Thu, 30)","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2011-07-01T05:09:09Z","receivedAt":"2011-07-01T05:09:09Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"Hi,\n\nOn Thu, Jun 30, 2011 at 5:26 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> * en/merge-recursive (2011-06-13) 49 commits\n>  - t3030: fix accidental success in symlink rename\n>  - merge-recursive: Fix working copy handling for rename/rename/add/add\n>  - merge-recursive: add handling for rename/rename/add-dest/add-dest\n>  - merge-recursive: Have conflict_rename_delete reuse modify/delete code\n>  - merge-recursive: Make modify/delete handling code reusable\n>  - merge-recursive: Consider modifications in rename/rename(2to1) conflicts\n>  - merge-recursive: Create function for merging with branchname:file markers\n>  - merge-recursive: Record more data needed for merging with dual renames\n>  - merge-recursive: Defer rename/rename(2to1) handling until process_entry\n>  - merge-recursive: Small cleanups for conflict_rename_rename_1to2\n>  - merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base\n>  - merge-recursive: Introduce a merge_file convenience function\n>  - merge-recursive: Fix modify/delete resolution in the recursive case\n>  - merge-recursive: Provide more info in conflict markers with file renames\n>  - merge-recursive: Cleanup and consolidation of rename_conflict_info\n>  - merge-recursive: Consolidate process_entry() and process_df_entry()\n>  - merge-recursive: Improve handling of rename target vs. directory addition\n>  - merge-recursive: Add comments about handling rename/add-source cases\n>  - merge-recursive: Make dead code for rename/rename(2to1) conflicts undead\n>  - merge-recursive: Fix deletion of untracked file in rename/delete conflicts\n>  - merge-recursive: When we detect we can skip an update, actually skip it\n>  - merge-recursive: Split update_stages_and_entry; only update stages at end\n>  - merge-recursive: Consolidate different update_stages functions\n>  - merge-recursive: Allow make_room_for_path() to remove D/F entries\n>  - merge-recursive: Split was_tracked() out of would_lose_untracked()\n>  - merge-recursive: Save D/F conflict filenames instead of unlinking them\n>  - merge-recursive: Fix code checking for D/F conflicts still being present\n>  - merge-recursive: Fix sorting order and directory change assumptions\n>  - merge-recursive: Fix recursive case with D/F conflict via add/add conflict\n>  - merge-recursive: Avoid working directory changes during recursive case\n>  - merge-recursive: Remember to free generated unique path names\n>  - merge-recursive: Mark some diff_filespec struct arguments const\n>  - merge-recursive: Correct a comment\n>  - merge-recursive: Make BUG message more legible by adding a newline\n>  - t6022: Add testcase for merging a renamed file with a simple change\n>  - t6022: New tests checking for unnecessary updates of files\n>  - t6022: Remove unnecessary untracked files to make test cleaner\n>  - t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify\n>  - t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify\n>  - t6036: tests for criss-cross merges with various directory/file conflicts\n>  - t6036: criss-cross with weird content can fool git into clean merge\n>  - t6036: Add differently resolved modify/delete conflict in criss-cross test\n>  - t6042: Ensure rename/rename conflicts leave index and workdir in sane state\n>  - t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts\n>  - t6042: Add tests for content issues with modify/rename/directory conflicts\n>  - t6042: Add a testcase where undetected rename causes silent file deletion\n>  - t6042: Add a pair of cases where undetected renames cause issues\n>  - t6042: Add failing testcase for rename/modify/add-source conflict\n>  - t6042: Add a testcase where git deletes an untracked file\n>\n> Haven't looked at the whole series yet.\n\nThat's understandable; it's a pretty long series.  I've got this\nworry, though, that you're going to read it all soon and have lots of\nquestions and comments -- just after I leave on vacation for two weeks\nand am unplugged from email.  Anyway, just thought I'd send a heads up\nto avoid any problems in reviewing/advancing this series.  Let me know\nif there's anything in particular you'd like me to do (either the few\ndays before I leave or when I get back).  If you'd prefer to just wait\na few weeks to look at it, or are okay with me not responding to\nreviews for a couple weeks or whatever, that's fine.\n\nThanks\nElijah\n"},{"id":"170756","messageId":"BANLkTimwEuZrWkQjaZtfsCb1tGR4FLycLA@mail.gmail.com","threadId":"27739","inReplyTo":"7viprmq4sy.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jun 2011, #05; Thu, 30)","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-07-01T21:39:08Z","receivedAt":"2011-07-01T21:39:08Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, Jul 1, 2011 at 01:26, Junio C Hamano <gitster@pobox.com> wrote:\n\n> * ab/i18n-scripts (2011-05-21) 48 commits\n>  (merged to 'next' on 2011-06-29 at 61f4472)\n> Originally merged to 'next' on 2011-05-23.\n> [...]\n> Will merge to 'master'.\n\nI'll submit more parts of the i18n series after that's done. Thanks.\n"},{"id":"170781","messageId":"4E0F67A3.2030001@web.de","threadId":"27739","inReplyTo":"7viprmq4sy.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jun 2011, #05; Thu, 30)","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2011-07-02T18:46:59Z","receivedAt":"2011-07-02T18:46:59Z","isPatch":false,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Am 01.07.2011 01:26, schrieb Junio C Hamano:\n> * jl/submodule-add-relurl-wo-upstream (2011-06-06) 3 commits\n>  - submodule add: clean up duplicated code\n>  - submodule add: allow relative repository path even when no url is set\n>  - submodule add: test failure when url is not configured in superproject\n> \n> When merged to pu, it seems to break 7610.\n\nIt looks like the merge conflict resolution of the changes in\n\"submodule add: clean up duplicated code\" with those from\n\"submodule add: always initialize .git/config entry\" in the\njc/submodule-sync-no-auto-vivify branch dropped a variable change.\n\nWhen I apply this on top of pu, all tests run fine:\n\n------ 8< -----\n@@ -253,11 +253,11 @@ Use -f if you really want to add it.\" &&\n \t\t\t'') git checkout -f -q ;;\n \t\t\t?*) git checkout -f -q -B \"$branch\" \"origin/$branch\" ;;\n \t\t\tesac\n \t\t) || die \"$(eval_gettext \"Unable to checkout submodule '\\$path'\")\"\n \tfi\n-\tgit config submodule.\"$path\".url \"$url\"\n+\tgit config submodule.\"$path\".url \"$realrepo\"\n\n \tgit add $force \"$path\" ||\n \tdie \"$(eval_gettext \"Failed to add submodule '\\$path'\")\"\n\n \tgit config -f .gitmodules submodule.\"$path\".path \"$path\" &&\n"},{"id":"170822","messageId":"7v62nhohjj.fsf@alter.siamese.dyndns.org","threadId":"27739","inReplyTo":"4E0F67A3.2030001@web.de","subject":"Re: What's cooking in git.git (Jun 2011, #05; Thu, 30)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-07-04T21:35:44Z","receivedAt":"2011-07-04T21:35:44Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thanks for catching a mismerge before it hits 'next'.\n"}]}