{"thread":{"id":"33294","subject":"What's cooking in git.git (Mar 2013, #07; Tue, 26)","startedAt":"2013-03-26T22:40:00Z","lastAt":"2013-03-28T21:40:46Z","messageCount":12,"participants":["Junio C Hamano","Jeff King","Thomas Rast","John Keeping","Jonathan Nieder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"212354","messageId":"7v620dss3j.fsf@alter.siamese.dyndns.org","threadId":"33294","inReplyTo":null,"subject":"What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-03-26T22:40:00Z","receivedAt":"2013-03-26T22:40:00Z","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\n'-' are only in 'pu' (proposed updates) while commits prefixed with\n'+' are in 'next'.\n\nYou can find the changes described here in the integration branches\nof the repositories listed at\n\n    http://git-blame.blogspot.com/p/git-public-repositories.html\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* ap/maint-diff-rename-avoid-overlap (2013-03-06) 3 commits\n  (merged to 'next' on 2013-03-19 at c3276cf)\n + tests: make sure rename pretty print works\n + diff: prevent pprint_rename from underrunning input\n + diff: Fix rename pretty-print when suffix and prefix overlap\n\n Originally merged to 'next' on 2013-03-06\n\n The logic used by \"git diff -M --stat\" to shorten the names of\n files before and after a rename did not work correctly when the\n common prefix and suffix between the two filenames overlapped.\n\n\n* jc/describe (2013-02-28) 1 commit\n  (merged to 'next' on 2013-03-19 at 89e6e47)\n + describe: --match=<pattern> must limit the refs even when used with --all\n\n Originally merged to 'next' on 2013-03-05\n\n The \"--match=<pattern>\" option of \"git describe\", when used with\n \"--all\" to allow refs that are not annotated tags to be used as a\n base of description, did not restrict the output from the command\n to those that match the given pattern.\n\n We may want to have a looser matching that does not restrict to tags,\n but that can be done as a follow-up topic; this step is purely a bugfix.\n\n\n* jc/maint-reflog-expire-clean-mark-typofix (2013-03-05) 1 commit\n  (merged to 'next' on 2013-03-19 at a4f9eac)\n + reflog: fix typo in \"reflog expire\" clean-up codepath\n\n Originally merged to 'next' on 2013-03-07\n\n In \"git reflog expire\", REACHABLE bit was not cleared from the\n correct objects.\n\n\n* jc/push-follow-tag (2013-03-05) 4 commits\n  (merged to 'next' on 2013-03-19 at d302a10)\n + push: --follow-tags\n + commit.c: use clear_commit_marks_many() in in_merge_bases_many()\n + commit.c: add in_merge_bases_many()\n + commit.c: add clear_commit_marks_many()\n\n Originally merged to 'next' on 2013-03-09\n\n The new \"--follow-tags\" option tells \"git push\" to push relevant\n annotated tags when pushing branches out.\n\n\n* jc/reflog-reverse-walk (2013-03-23) 4 commits\n  (merged to 'next' on 2013-03-25 at 1bcc1c4)\n + refs.c: fix fread error handling\n  (merged to 'next' on 2013-03-19 at 25beb2a)\n + reflog: add for_each_reflog_ent_reverse() API\n + for_each_recent_reflog_ent(): simplify opening of a reflog file\n + for_each_reflog_ent(): extract a helper to process a single entry\n (this branch is tangled with nd/branch-show-rebase-bisect-state.)\n\n An internal function used to implement \"git checkout @{-1}\" was\n hard to use correctly.\n\n\n* jk/alias-in-bare (2013-03-08) 3 commits\n  (merged to 'next' on 2013-03-19 at d2b4227)\n + setup: suppress implicit \".\" work-tree for bare repos\n + environment: add GIT_PREFIX to local_repo_env\n + cache.h: drop LOCAL_REPO_ENV_SIZE\n\n Originally merged to 'next' on 2013-03-09\n\n An aliased command spawned from a bare repository that does not say\n it is bare with \"core.bare = yes\" is treated as non-bare by mistake.\n\n\n* jk/empty-archive (2013-03-10) 2 commits\n  (merged to 'next' on 2013-03-19 at bb4eb61)\n + archive: handle commits with an empty tree\n + test-lib: factor out $GIT_UNZIP setup\n\n Originally merged to 'next' on 2013-03-12\n\n \"git archive\" reports a failure when asked to create an archive out\n of an empty tree.  It would be more intuitive to give an empty\n archive back in such a case.\n\n\n* jk/fast-export-object-lookup (2013-03-17) 2 commits\n  (merged to 'next' on 2013-03-19 at 026ac3d)\n + fast-export: do not load blob objects twice\n + fast-export: rename handle_object function\n\n Originally merged to 'next' on 2013-03-18\n\n\n* jk/fully-peeled-packed-ref (2013-03-18) 4 commits\n  (merged to 'next' on 2013-03-19 at fa92bc7)\n + pack-refs: add fully-peeled trait\n + pack-refs: write peeled entry for non-tags\n + use parse_object_or_die instead of die(\"bad object\")\n + avoid segfaults on parse_object failure\n\n Originally merged to 'next' on 2013-03-18\n\n Not that we do not actively encourage having annotated tags outside\n refs/tags/ hierarchy, but they were not advertised correctly to the\n ls-remote and fetch with recent version of Git.\n\n\n* jk/peel-ref (2013-03-16) 3 commits\n  (merged to 'next' on 2013-03-19 at f0d4c16)\n + upload-pack: load non-tip \"want\" objects from disk\n + upload-pack: make sure \"want\" objects are parsed\n + upload-pack: drop lookup-before-parse optimization\n\n Originally merged to 'next' on 2013-03-18\n\n Recent optimization broke shallow clones.\n\n\n* jk/suppress-clang-warning (2013-02-25) 1 commit\n  (merged to 'next' on 2013-03-19 at 1fd6858)\n + fix clang -Wtautological-compare with unsigned enum\n\n Originally merged to 'next' on 2013-03-14\n\n\n* jl/submodule-deinit (2013-03-04) 1 commit\n  (merged to 'next' on 2013-03-19 at d8367c5)\n + submodule: add 'deinit' command\n\n Originally merged to 'next' on 2013-03-05\n\n There was no Porcelain way to say \"I no longer am interested in\n this submodule\", once you express your interest in a submodule with\n \"submodule init\".  \"submodule deinit\" is the way to do so.\n\n\n* kb/p4merge (2013-03-25) 6 commits\n  (merged to 'next' on 2013-03-25 at 4db939e)\n + merge-one-file: force content conflict for \"both sides added\" case\n + git-merge-one-file: send \"ERROR:\" messages to stderr\n + git-merge-one-file: style cleanup\n + merge-one-file: remove stale comment\n  (merged to 'next' on 2013-03-19 at 43cc599)\n + mergetools/p4merge: create a base if none available\n + mergetools/p4merge: swap LOCAL and REMOTE\n\n Originally merged to 'next' on 2013-03-14\n\n Adjust the order mergetools feeds the files to the p4merge backend\n to match the p4 convention.\n\n\n* ks/rfc2047-one-char-at-a-time (2013-03-09) 1 commit\n  (merged to 'next' on 2013-03-19 at 577ddf2)\n + format-patch: RFC 2047 says multi-octet character may not be split\n\n Originally merged to 'next' on 2013-03-09\n\n When \"format-patch\" quoted a non-ascii strings on the header files,\n it incorrectly applied rfc2047 and chopped a single character in\n the middle of it.\n\n\n* lf/setup-prefix-pathspec (2013-03-14) 2 commits\n  (merged to 'next' on 2013-03-19 at 0017e9e)\n + setup.c: check that the pathspec magic ends with \")\"\n + setup.c: stop prefix_pathspec() from looping past the end of string\n\n Originally merged to 'next' on 2013-03-14\n\n \"git cmd -- ':(top'\" was not diagnosed as an invalid syntax, and\n instead the parser kept reading beyond the end of the string.\n\n\n* mg/unsigned-time-t (2013-02-25) 2 commits\n  (merged to 'next' on 2013-03-19 at 1fc1ad6)\n + Fix time offset calculation in case of unsigned time_t\n + date.c: fix unsigned time_t comparison\n\n Originally merged to 'next' on 2013-03-14\n\n A few workarounds for systems with unsigned time_t.\n\n\n* pe/pull-rebase-v-q (2013-03-16) 1 commit\n  (merged to 'next' on 2013-03-19 at 10b311c)\n + pull: Apply -q and -v options to rebase mode as well\n\n Originally merged to 'next' on 2013-03-18\n\n Teach \"git pull --rebase\" to pass \"-v/-q\" command line options to\n underlying \"git rebase\".\n\n\n* ph/tag-force-no-warn-on-creation (2013-03-13) 1 commit\n  (merged to 'next' on 2013-03-19 at b273fd3)\n + tag: --force does not have to warn when creating tags\n\n Originally merged to 'next' on 2013-03-14\n\n \"git tag -f <tag>\" always said \"Updated tag '<tag>'\" even when\n creating a new tag (i.e. not overwriting nor updating).\n\n\n* pw/p4-symlinked-root (2013-03-11) 3 commits\n  (merged to 'next' on 2013-03-19 at 9127e82)\n + git p4: avoid expanding client paths in chdir\n + git p4 test: should honor symlink in p4 client root\n + git p4 test: make sure P4CONFIG relative path works\n\n Originally merged to 'next' on 2013-03-12\n\n \"git p4\" did not behave well when the path to the root of the P4\n client was not its real path.\n\n--------------------------------------------------\n[New Topics]\n\n* jc/apply-ws-fix-tab-in-indent (2013-03-22) 1 commit\n - apply --whitespace=fix: avoid running over the postimage buffer\n\n\n* jk/no-more-self-assignment (2013-03-25) 2 commits\n  (merged to 'next' on 2013-03-26 at 31ec9ac)\n + match-trees: simplify score_trees() using tree_entry()\n + submodule: clarify logic in show_submodule_summary\n\n This started as a topic to reduce \"type var = var\" self assignment\n tricks that were used to squelch \"variable used uninitialized perhaps?\"\n warning from some compilers, but resulted in rewriting logic with\n a version that is simpler and easier to understand for humans.\n\n\n* jk/t7800-modernize (2013-03-23) 3 commits\n - t7800: run --dir-diff tests with and without symlinks\n - t7800: fix tests when difftool uses --no-symlinks\n - t7800: don't hide grep output\n\n Looked reasonable standalone; conflicts with other topics in flight\n needs to be resolved carefully, though.\n\n\n* kk/revwalk-slop-too-many-commit-within-a-second (2013-03-22) 1 commit\n  (merged to 'next' on 2013-03-26 at ea90e75)\n + Fix revision walk for commits with the same dates\n\n Allow the revision \"slop\" code to look deeper while commits with\n exactly the same timestamps come next to each other (which can\n often happen after a large \"am\" and \"rebase\" session).\n\n\n* yd/use-test-config-unconfig (2013-03-25) 12 commits\n - t7600: use test_config to set/unset git config variables\n - t7502: remove clear_config\n - t7502: use test_config to set/unset git config variables\n - t9500: use test_config to set/unset git config variables\n - t7508: use test_config to set/unset git config variables\n - t7500: use test_config to set/unset git config variables\n - t5541: use test_config to set/unset git config variables\n - t5520: use test_config to set/unset git config variables\n - t4202: use test_config/test_unconfig to set/unset git config variables\n - t4034: use test_config/test_unconfig to set/unset git config variables\n - t4304: use test_config to set/unset git config variables\n - t3400: use test_config to set/unset git config variables\n\n Bulk-update of the test suite.\n\n\n* ap/combine-diff-coalesce-lost (2013-03-25) 1 commit\n - combine-diff: coalesce lost lines optimally\n (this branch uses ap/combine-diff-ignore-whitespace.)\n\n Attempts to minimize \"diff -c/--cc\" output by coalescing the same\n lines removed from the parents better, but with an O(n^2)\n complexity.  I wonder\n\n\n* bk/document-commit-tree-S (2013-03-25) 1 commit\n  (merged to 'next' on 2013-03-26 at 8ee205f)\n + commit-tree: document -S option consistently\n\n Will merge to 'master'.\n\n\n* jk/check-corrupt-objects-carefully (2013-03-25) 9 commits\n - clone: run check_everything_connected\n - clone: die on errors from unpack_trees\n - add tests for cloning corrupted repositories\n - streaming_write_entry: propagate streaming errors\n - add test for streaming corrupt blobs\n - avoid infinite loop in read_istream_loose\n - read_istream_filtered: propagate read error from upstream\n - check_sha1_signature: check return value from read_istream\n - stream_blob_to_fd: detect errors reading from stream\n\n Have the streaming interface and other codepaths more carefully\n examine for corrupt objects.\n\n\n* js/iterm-is-on-osx (2013-03-25) 1 commit\n - git-web--browse: recognize iTerm as a GUI terminal on OS X\n\n Add more logic to detect graphic environment of OS X.\n\n\n* tb/cygwin-shared-repository (2013-03-25) 2 commits\n - optimize set_shared_perm()\n - Make core.sharedRepository work under cygwin 1.7\n\n Cygwin port has a faster-but-lying lstat(2) emulation whose\n incorrectness does not matter in practice except for a few\n codepaths, and setting permission bits to directories is a codepath\n that needs to use a more correct one.\n\n\n* jc/directory-attrs-regression-fix (2013-03-26) 4 commits\n - make sure a pattern without trailing slash matches a directory\n - attr.c::path_matches(): special case paths that end with a slash\n - dir.c::match_basename(): pay attention to the length of string parameters\n - attr.c::path_matches(): the basename is part of the pathname\n\n Fix 1.8.1.x regression that stopped matching \"dir\" (without\n trailing slash) to a directory \"dir\".\n\n\n* nd/checkout-paths-reduce-match-pathspec-calls (2013-03-26) 1 commit\n - [NEEDSTEST] checkout: avoid unnecessary match_pathspec calls\n\n--------------------------------------------------\n[Stalled]\n\n* jc/format-patch (2013-02-21) 2 commits\n - format-patch: --inline-single\n - format-patch: rename \"no_inline\" field\n\n A new option to send a single patch to the standard output to be\n appended at the bottom of a message.  I personally have no need for\n this, but it was easy enough to cobble together.  Tests, docs and\n stripping out more MIMEy stuff are left as exercises to interested\n parties.\n\n Not ready for inclusion.\n\n\n* mg/qnx6 (2013-02-25) 1 commit\n - QNX: newer QNX 6.x.x is not so crippled\n\n Not ready for inclusion.\n\n\n* po/help-guides (2013-03-03) 5 commits\n - help doc: include --guide option description\n - help.c: add list_common_guides_help() function\n - help.c: add --guide option\n - help.c: use OPT_COUNTUP\n - show 'git help <guide>' usage, with examples\n\n Give more visibility to \"concept guides\" to help \"git help\" users.\n\n Expecting a reroll.\n $gmane/217384\n\n\n* hv/config-from-strbuf (2013-03-10) 4 commits\n - teach config parsing to read from strbuf\n - config: make parsing stack struct independent from actual data source\n - config: drop file pointer validity check in get_next_char()\n - config: factor out config file stack management\n\n Expecting a reroll.\n $gmane/217811\n\n\n* mb/gitweb-highlight-link-target (2012-12-20) 1 commit\n - Highlight the link target line in Gitweb using CSS\n\n Expecting a reroll.\n $gmane/211935\n\n\n* mb/remote-default-nn-origin (2012-07-11) 6 commits\n - Teach get_default_remote to respect remote.default.\n - Test that plain \"git fetch\" uses remote.default when on a detached HEAD.\n - Teach clone to set remote.default.\n - Teach \"git remote\" about remote.default.\n - Teach remote.c about the remote.default configuration setting.\n - Rename remote.c's default_remote_name static variables.\n\n When the user does not specify what remote to interact with, we\n often attempt to use 'origin'.  This can now be customized via a\n configuration variable.\n\n Expecting a reroll.\n $gmane/210151\n\n \"The first remote becomes the default\" bit is better done as a\n separate step.\n\n--------------------------------------------------\n[Cooking]\n\n* jc/merge-tag-object (2013-03-19) 1 commit\n - merge: a random object may not necssarily be a commit\n\n \"git merge $(git rev-parse v1.8.2)\" behaved quite differently from\n \"git merge v1.8.2\" as if v1.8.2 were written as v1.8.2^0 and did\n not pay much attention to the annotated tag payload.\n\n This makes the code notice the type of the tag object, in addition\n to the dwim_ref() based classification the current code uses\n (i.e. the name appears in refs/tags/) to decide when to special\n case merging of tags.\n\n We may actually want to call the current behaviour a feature,\n though.  After all, the user went to great length to feed something\n different from the normal \"v1.8.2\" to the command.\n\n\n* jk/index-pack-correct-depth-fix (2013-03-20) 1 commit\n - index-pack: always zero-initialize object_entry list\n\n \"index-pack --fix-thin\" used uninitialize value to compute delta\n depths of objects it appends to the resulting pack.\n\n\n* jn/push-tests (2013-03-19) 3 commits\n - push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'\n - push test: simplify check of push result\n - push test: use test_config when appropriate\n\n Update t5516 with style fixes.\n\n\n* nd/index-pack-threaded-fixes (2013-03-19) 2 commits\n - index-pack: guard nr_resolved_deltas reads by lock\n - index-pack: protect deepest_delta in multithread code\n\n \"index-pack --verify-stat\" used a few counters outside protection\n of mutex, possibly showing incorrect numbers.\n\n\n* kb/status-ignored-optim (2013-03-19) 8 commits\n - dir.c: git-status: avoid is_excluded checks for tracked files\n - dir.c: replace is_path_excluded with now equivalent is_excluded API\n - dir.c: unify is_excluded and is_path_excluded APIs\n - dir.c: move prep_exclude and factor out parts of last_exclude_matching\n - dir.c: git-status --ignored: don't list empty directories as ignored\n - dir.c: git-status --ignored: don't list empty ignored directories\n - dir.c: git-status --ignored: don't list files in ignored directories\n - dir.c: git-status --ignored: don't drop ignored directories\n\n \"git status --ignored\" had many corner case bugs.  Also the command\n has been optimized by taking advantage of the fact that paths that\n are already known to the index do not have to be checked against\n the .gitignore mechanism most of the time.\n\n Expecting a review from others; this codepath is used not only by\n status but also in add and clean, so a bug in it can result in lost\n data.\n\n\n* rr/tests-dedup-test-config (2013-03-19) 1 commit\n  (merged to 'next' on 2013-03-26 at d314299)\n + t4018,7810,7811: remove test_config() redefinition\n\n Will merge to 'master'.\n\n\n* jn/add-2.0-u-A-sans-pathspec (2013-03-20) 5 commits\n - git add: -u/-A now affects the entire working tree\n - add -A: only show pathless 'add -A' warning when changes exist outside cwd\n - add -u: only show pathless 'add -u' warning when changes exist outside cwd\n - add: make warn_pathless_add() a no-op after first call\n - add: make pathless 'add [-u|-A]' warning a file-global function\n\n Replaces jc/add-2.0-u-A-sans-pathspec topic by not warning against\n \"add -u/-A\" that is ran without pathspec when there is no change\n outside the current directory.\n\n\n* rr/test-3200-style (2013-03-20) 1 commit\n  (merged to 'next' on 2013-03-26 at 1214287)\n + t3200 (branch): modernize style\n\n Churns.\n\n Will merge to 'master'.\n\n\n* tr/packed-object-info-wo-recursion (2013-03-25) 3 commits\n - sha1_file: remove recursion in unpack_entry\n - Refactor parts of in_delta_base_cache/cache_or_unpack_entry\n - sha1_file: remove recursion in packed_object_info\n\n Attempts to reduce the stack footprint of sha1_object_info()\n and unpack_entry() codepaths.\n\n\n* sr/am-show-final-message-in-applying-indicator (2013-03-21) 1 commit\n  (merged to 'next' on 2013-03-26 at 9ecb143)\n + git-am: show the final log message on \"Applying:\" indicator\n\n In addition to the case where the user edits the log message with\n the \"e)dit\" option of \"am -i\", replace the \"Applying: this patch\"\n message with the final log message contents after applymsg hook\n munges it.\n\n Will merge to 'master'.\n\n\n* yd/doc-merge-annotated-tag (2013-03-21) 1 commit\n  (merged to 'next' on 2013-03-26 at a11162f)\n + Documentation: merging a tag is a special case\n\n Document the 1.7.9 feature to merge a signed tag and keep that in\n the mergetag header in the resulting commit better.\n\n Will merge to 'master'.\n\n\n* yd/doc-is-in-asciidoc (2013-03-21) 1 commit\n  (merged to 'next' on 2013-03-26 at a980af2)\n + CodingGuidelines: our documents are in AsciiDoc\n\n Will merge to 'master'.\n\n\n* ap/combine-diff-ignore-whitespace (2013-03-14) 1 commit\n  (merged to 'next' on 2013-03-19 at dfb2c98)\n + Allow combined diff to ignore white-spaces\n (this branch is used by ap/combine-diff-coalesce-lost.)\n\n Originally merged to 'next' on 2013-03-18\n\n Teach \"diff --cc\" output to honor options to ignore various forms\n of whitespace changes.\n\n Will merge to 'master' in the 4th batch (Safe).\n\n\n* jk/checkout-attribute-lookup (2013-03-20) 3 commits\n  (merged to 'next' on 2013-03-20 at 43a89e8)\n + t2003: work around path mangling issue on Windows\n  (merged to 'next' on 2013-03-19 at b063a55)\n + entry: fix filter lookup\n + t2003: modernize style\n\n Codepath to stream blob object contents directly from the object\n store to filesystem did not use the correct path to find conversion\n filters when writing to temporary files.\n\n Will merge to 'master' in the 4th batch (Safe).\n\n\n* jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits\n  (merged to 'next' on 2013-03-19 at e68014a)\n + difftool --dir-diff: symlink all files matching the working tree\n + difftool: avoid double slashes in symlink targets\n + git-difftool(1): fix formatting of --symlink description\n\n Originally merged to 'next' on 2013-03-15\n\n \"git difftool --dir-diff\" made symlinks to working tree files when\n preparing a temporary directory structure, so that accidental edits\n of these files in the difftool are reflected back to the working\n tree, but the logic to decide when to do so was not quite right.\n\n Will merge to 'master' in the 4th batch (Safe).\n\n\n* nd/magic-pathspecs (2013-03-22) 46 commits\n - fixup\n - Rename field \"raw\" to \"_raw\" in struct pathspec\n - pathspec: support :(glob) syntax\n - pathspec: make --literal-pathspecs disable pathspec magic\n - pathspec: support :(literal) syntax for noglob pathspec\n - Kill limit_pathspec_to_literal() as it's only used by parse_pathspec()\n - parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN\n - parse_pathspec: make sure the prefix part is wildcard-free\n - tree-diff: remove the use of pathspec's raw[] in follow-rename codepath\n - Remove match_pathspec() in favor of match_pathspec_depth()\n - Remove init_pathspec() in favor of parse_pathspec()\n - Remove diff_tree_{setup,release}_paths\n - Convert common_prefix() to use struct pathspec\n - Convert add_files_to_cache to take struct pathspec\n - Convert {read,fill}_directory to take struct pathspec\n - Convert refresh_index to take struct pathspec\n - Convert report_path_error to take struct pathspec\n - checkout: convert read_tree_some to take struct pathspec\n - Convert unmerge_cache to take struct pathspec\n - Convert run_add_interactive to use struct pathspec\n - Convert read_cache_preload() to take struct pathspec\n - reset: convert to use parse_pathspec\n - add: convert to use parse_pathspec\n - check-ignore: convert to use parse_pathspec\n - archive: convert to use parse_pathspec\n - ls-files: convert to use parse_pathspec\n - rm: convert to use parse_pathspec\n - checkout: convert to use parse_pathspec\n - rerere: convert to use parse_pathspec\n - status: convert to use parse_pathspec\n - commit: convert to use parse_pathspec\n - clean: convert to use parse_pathspec\n - Guard against new pathspec magic in pathspec matching code\n - parse_pathspec: support prefixing original patterns\n - parse_pathspec: support stripping/checking submodule paths\n - parse_pathspec: support stripping submodule trailing slashes\n - parse_pathspec: a special flag for max_depth feature\n - Convert some get_pathspec() calls to parse_pathspec()\n - parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL}\n - parse_pathspec: save original pathspec for reporting\n - Add parse_pathspec() that converts cmdline args to struct pathspec\n - pathspec: add copy_pathspec\n - pathspec: i18n-ize error strings in pathspec parsing code\n - Move struct pathspec and related functions to pathspec.[ch]\n - clean: remove unused variable \"seen\"\n - setup.c: check that the pathspec magic ends with \")\"\n\n Migrate the rest of codebase to use \"struct pathspec\" more.\n\n Haven't picked up the reroll yet.\n\n\n* rs/archive-zip-raw-compression (2013-03-16) 1 commit\n  (merged to 'next' on 2013-03-19 at 8cc1cb3)\n + archive-zip: use deflateInit2() to ask for raw compressed data\n\n Originally merged to 'next' on 2013-03-18\n\n Will merge to 'master' in the 4th batch (Safe).\n\n\n* sw/safe-create-leading-dir-race (2013-03-17) 2 commits\n - SQUASH???\n - safe_create_leading_directories: fix race that could give a false negative\n\n Will merge to 'next' after squashing in the fix.\n\n\n* nd/branch-show-rebase-bisect-state (2013-03-23) 7 commits\n - status, branch: fix the misleading \"bisecting\" message\n - branch: show more information when HEAD is detached\n - status: show more info than \"currently not on any branch\"\n - wt-status: move wt_status_get_state() out to wt_status_print()\n - wt-status: split wt_status_state parsing function out\n - wt-status: move strbuf into read_and_strip_branch()\n - Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state\n\n Will merge to 'next'.\n\n\n* jc/add-2.0-delete-default (2013-03-08) 3 commits\n - git add <pathspec>... defaults to \"-A\"\n - git add: start preparing for \"git add <pathspec>...\" to default to \"-A\"\n - builtin/add.c: simplify boolean variables\n\n \"git add dir/\" updated modified files and added new files, but does\n not notice removed files, which may be \"Huh?\" to some users.  They\n can of course use \"git add -A dir/\", but why should they?\n\n There seemed to be some interest in this topic, so resurrected and\n rebased on top of recent documentation updates to propose a\n possible transition plan.\n\n Will cook in 'next' until Git 2.0.\n\n\n* jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit\n - match_push_refs(): nobody sets src->peer_ref anymore\n\n Dead code removal.\n\n Even though I think this change is correct, please report\n immediately if you find any unintended side effect.\n\n Will merge to 'master' in the 4th batch (Risky).\n\n\n* kb/name-hash (2013-02-27) 1 commit\n - name-hash.c: fix endless loop with core.ignorecase=true\n\n The code to keep track of what directory names are known to Git on\n platforms with case insensitive filesystems can get confused upon\n a hash collision between these pathnames and looped forever.\n\n Even though I think this change is correct, please report\n immediately if you find any unintended side effect.\n\n Will merge to 'master' in the 4th batch (Risky).\n\n\n* tr/line-log (2013-03-23) 6 commits\n - Speed up log -L... -M\n - log -L: :pattern:file syntax to find by funcname\n - Implement line-history search (git log -L)\n - Export rewrite_parents() for 'log -L'\n - fixup\n - Refactor parse_loc\n\n Rerolled; collides with nd/magic-pathspecs.\n\n\n* jk/common-make-variables-export-safety (2013-02-25) 1 commit\n - Makefile: make mandir, htmldir and infodir absolute\n\n Make the three variables safer to be exported to submakes by\n ensuring that they are full paths so that they can be used as\n installation location.\n\n Even though I think this change is correct, please report\n immediately if you find any unintended side effect.\n\n Will merge to 'master' in the 4th batch (Risky).\n\n\n* jk/pkt-line-cleanup (2013-03-21) 20 commits\n - do not use GIT_TRACE_PACKET=3 in tests\n - remote-curl: always parse incoming refs\n - remote-curl: move ref-parsing code up in file\n - remote-curl: pass buffer straight to get_remote_heads\n - teach get_remote_heads to read from a memory buffer\n - pkt-line: share buffer/descriptor reading implementation\n - pkt-line: provide a LARGE_PACKET_MAX static buffer\n - pkt-line: move LARGE_PACKET_MAX definition from sideband\n - pkt-line: teach packet_read_line to chomp newlines\n - pkt-line: provide a generic reading function with options\n - pkt-line: drop safe_write function\n - pkt-line: move a misplaced comment\n - write_or_die: raise SIGPIPE when we get EPIPE\n - upload-archive: use argv_array to store client arguments\n - upload-archive: do not copy repo name\n - send-pack: prefer prefixcmp over memcmp in receive_status\n - fetch-pack: fix out-of-bounds buffer offset in get_ack\n - upload-pack: remove packet debugging harness\n - upload-pack: do not add duplicate objects to shallow list\n - upload-pack: use get_sha1_hex to parse \"shallow\" lines\n\n Cleans up pkt-line API, implementation and its callers to make them\n more robust.  Even though I think this change is correct, please\n report immediately if you find any unintended side effect.\n\n Will merge to 'master' in the 3rd batch (Risky).\n\n\n* jc/remove-export-from-config-mak-in (2013-03-05) 3 commits\n - Fix `make install` when configured with autoconf\n - Makefile: do not export mandir/htmldir/infodir\n - config.mak.in: remove unused definitions\n\n config.mak.in template had an \"export\" line to cause a few\n common makefile variables to be exported; if they need to be\n expoted for autoconf/configure users, they should also be exported\n for people who write config.mak the same way.  Move the \"export\" to\n the main Makefile.  Also, stop exporting mandir that used to be\n exported (only) when config.mak.autogen was used.  It would have\n broken installation of manpages (but not other documentation\n formats).\n\n Even though I think this change is correct, please report\n immediately if you find any unintended side effect.\n\n Will merge to 'master' in the 4th batch (Risky).\n\n\n* jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit\n - simplify-merges: drop merge from irrelevant side branch\n\n The --simplify-merges logic did not cull irrelevant parents from a\n merge that is otherwise not interesting with respect to the paths\n we are following.\n\n This touches a fairly core part of the revision traversal\n infrastructure; even though I think this change is correct, please\n report immediately if you find any unintended side effect.\n\n Will merge to 'master' in the 2nd batch (Risky).\n\n\n* jc/push-2.0-default-to-simple (2013-03-18) 15 commits\n - advice: Remove unused advice_push_non_ff_default\n - t5570: do not assume the \"matching\" push is the default\n - t5551: do not assume the \"matching\" push is the default\n - t5550: do not assume the \"matching\" push is the default\n - doc: push.default is no longer \"matching\"\n - push: switch default from \"matching\" to \"simple\"\n - t9401: do not assume the \"matching\" push is the default\n - t9400: do not assume the \"matching\" push is the default\n - t7406: do not assume the \"matching\" push is the default\n - t5531: do not assume the \"matching\" push is the default\n - t5519: do not assume the \"matching\" push is the default\n - t5517: do not assume the \"matching\" push is the default\n - t5516: do not assume the \"matching\" push is the default\n - t5505: do not assume the \"matching\" push is the default\n - t5404: do not assume the \"matching\" push is the default\n\n Will cook in 'next' until Git 2.0.\n\n\n* bc/append-signed-off-by (2013-02-23) 13 commits\n - git-commit: populate the edit buffer with 2 blank lines before s-o-b\n - Unify appending signoff in format-patch, commit and sequencer\n - format-patch: update append_signoff prototype\n - t4014: more tests about appending s-o-b lines\n - sequencer.c: teach append_signoff to avoid adding a duplicate newline\n - sequencer.c: teach append_signoff how to detect duplicate s-o-b\n - sequencer.c: always separate \"(cherry picked from\" from commit body\n - sequencer.c: require a conforming footer to be preceded by a blank line\n - sequencer.c: recognize \"(cherry picked from ...\" as part of s-o-b footer\n - t/t3511: add some tests of 'cherry-pick -s' functionality\n - t/test-lib-functions.sh: allow to specify the tag name to test_commit\n - commit, cherry-pick -s: remove broken support for multiline rfc2822 fields\n - sequencer.c: rework search for start of footer to improve clarity\n\n Consolidates codepaths that inspect log-message-to-be and decide to\n add a new Signed-off-by line in various commands.  I think there is\n no negative behaviour change in this series, but please report any\n iffy behaviour change immediately if you notice one.\n\n Will merge to 'master' in the 3rd batch (Risky).\n\n--------------------------------------------------\n[Discarded]\n\n* nd/read-directory-recursive-optim (2013-02-17) 1 commit\n . read_directory: avoid invoking exclude machinery on tracked files\n\n \"git status\" has been optimized by taking advantage of the fact\n that paths that are already known to the index do not have to be\n checked against the .gitignore mechanism under some conditions.\n Even though I think this change is correct, please report\n immediately if you find any unintended side effect.\n\n kb/status-ignored-optim may supersede this.\n\n\n* jc/add-2.0-u-A-sans-pathspec (2013-03-14) 1 commit\n . git add: -u/-A now affects the entire working tree\n\n \"git add -u/-A\" without pathspec has traditonally limited its\n operation to the current directory and its subdirectories, but in\n Git 1.8.2 we started encouraging users to be more explicit to\n specify \".\" when they mean it (and use \":/\" to make it affect the\n entire working tree).  With this, we finally change the behaviour\n and make it affect the entire working tree in Git 2.0.\n\n\n--------------------------------------------------\n[Discarded]\n\n* ja/directory-attrs (2013-03-20) 1 commit\n . trailing slash required in .gitattributes\n\n Now part of jc/directory-attrs-regression-fix.\n"},{"id":"212453","messageId":"20130327203535.GA5220@sigill.intra.peff.net","threadId":"33294","inReplyTo":"7v620dss3j.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2013-03-27T20:35:35Z","receivedAt":"2013-03-27T20:35:35Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Mar 26, 2013 at 03:40:00PM -0700, Junio C Hamano wrote:\n\n> [Cooking]\n> [...]\n> * jk/index-pack-correct-depth-fix (2013-03-20) 1 commit\n>  - index-pack: always zero-initialize object_entry list\n> \n>  \"index-pack --fix-thin\" used uninitialize value to compute delta\n>  depths of objects it appends to the resulting pack.\n\nAny reason this is still in pu? I'd have expected it to be fairly\nuncontroversial and slated for maint.\n\n> * jk/pkt-line-cleanup (2013-03-21) 20 commits\n>  - do not use GIT_TRACE_PACKET=3 in tests\n>  - remote-curl: always parse incoming refs\n>  - remote-curl: move ref-parsing code up in file\n>  - remote-curl: pass buffer straight to get_remote_heads\n>  - teach get_remote_heads to read from a memory buffer\n>  - pkt-line: share buffer/descriptor reading implementation\n>  - pkt-line: provide a LARGE_PACKET_MAX static buffer\n>  - pkt-line: move LARGE_PACKET_MAX definition from sideband\n>  - pkt-line: teach packet_read_line to chomp newlines\n>  - pkt-line: provide a generic reading function with options\n>  - pkt-line: drop safe_write function\n>  - pkt-line: move a misplaced comment\n>  - write_or_die: raise SIGPIPE when we get EPIPE\n>  - upload-archive: use argv_array to store client arguments\n>  - upload-archive: do not copy repo name\n>  - send-pack: prefer prefixcmp over memcmp in receive_status\n>  - fetch-pack: fix out-of-bounds buffer offset in get_ack\n>  - upload-pack: remove packet debugging harness\n>  - upload-pack: do not add duplicate objects to shallow list\n>  - upload-pack: use get_sha1_hex to parse \"shallow\" lines\n> \n>  Cleans up pkt-line API, implementation and its callers to make them\n>  more robust.  Even though I think this change is correct, please\n>  report immediately if you find any unintended side effect.\n> \n>  Will merge to 'master' in the 3rd batch (Risky).\n\nI was kind of surprised to see this still in pu, too. I thought it was\nsupposed to cook in next for a while to shake out any interoperability\nbugs (and it was in next previously). Did it get ejected after the\nrelease and then never put back?\n\n-Peff\n\nPS I notice John Keeping has become quite active these days, and has\n   stolen my initials. It makes searching for my topics in \"What's\n   Cooking\" much harder (I read it linearly, but I take special notice\n   of the \"jk\" topics).\n"},{"id":"212455","messageId":"7vd2uklg8a.fsf@alter.siamese.dyndns.org","threadId":"33294","inReplyTo":"20130327203535.GA5220@sigill.intra.peff.net","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-03-27T20:50:29Z","receivedAt":"2013-03-27T20:50:29Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> I was kind of surprised to see this still in pu, too. I thought it was\n> supposed to cook in next for a while to shake out any interoperability\n> bugs (and it was in next previously). Did it get ejected after the\n> release and then never put back?\n\nYes, I've been trying to concentrate on flushing safer and older\nones first to 'master', and I _think_ I am more or less finished\nwith that as of last night.  Many will come back to 'next' in\ntoday's integration run.\n\n>\n> -Peff\n>\n> PS I notice John Keeping has become quite active these days, and has\n>    stolen my initials. It makes searching for my topics in \"What's\n>    Cooking\" much harder (I read it linearly, but I take special notice\n>    of the \"jk\" topics).\n"},{"id":"212456","messageId":"878v58worp.fsf@linux-k42r.v.cablecom.net","threadId":"33294","inReplyTo":"20130327203535.GA5220@sigill.intra.peff.net","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2013-03-27T20:50:34Z","receivedAt":"2013-03-27T20:50:34Z","isPatch":false,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Tue, Mar 26, 2013 at 03:40:00PM -0700, Junio C Hamano wrote:\n>\n>> [Cooking]\n>> [...]\n>> * jk/index-pack-correct-depth-fix (2013-03-20) 1 commit\n>>  - index-pack: always zero-initialize object_entry list\n>> \n>>  \"index-pack --fix-thin\" used uninitialize value to compute delta\n>>  depths of objects it appends to the resulting pack.\n>\n> Any reason this is still in pu? I'd have expected it to be fairly\n> uncontroversial and slated for maint.\n\nMe too, along with the other two we found in the same topic:\n\n> * nd/index-pack-threaded-fixes (2013-03-19) 2 commits\n>  - index-pack: guard nr_resolved_deltas reads by lock\n>  - index-pack: protect deepest_delta in multithread code\n>\n>  \"index-pack --verify-stat\" used a few counters outside protection\n>  of mutex, possibly showing incorrect numbers.\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"212457","messageId":"20130327205247.GA8613@sigill.intra.peff.net","threadId":"33294","inReplyTo":"7vd2uklg8a.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2013-03-27T20:52:47Z","receivedAt":"2013-03-27T20:52:47Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Mar 27, 2013 at 01:50:29PM -0700, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> > I was kind of surprised to see this still in pu, too. I thought it was\n> > supposed to cook in next for a while to shake out any interoperability\n> > bugs (and it was in next previously). Did it get ejected after the\n> > release and then never put back?\n> \n> Yes, I've been trying to concentrate on flushing safer and older\n> ones first to 'master', and I _think_ I am more or less finished\n> with that as of last night.  Many will come back to 'next' in\n> today's integration run.\n\nThanks, I figured it was something like that, but was puzzled.\n\n-Peff\n"},{"id":"212461","messageId":"7vy5d8jz0y.fsf@alter.siamese.dyndns.org","threadId":"33294","inReplyTo":"878v58worp.fsf@linux-k42r.v.cablecom.net","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-03-27T21:47:25Z","receivedAt":"2013-03-27T21:47:25Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thomas Rast <trast@student.ethz.ch> writes:\n\n> Jeff King <peff@peff.net> writes:\n>\n>> On Tue, Mar 26, 2013 at 03:40:00PM -0700, Junio C Hamano wrote:\n>>\n>>> [Cooking]\n>>> [...]\n>>> * jk/index-pack-correct-depth-fix (2013-03-20) 1 commit\n>>>  - index-pack: always zero-initialize object_entry list\n>>> \n>>>  \"index-pack --fix-thin\" used uninitialize value to compute delta\n>>>  depths of objects it appends to the resulting pack.\n>>\n>> Any reason this is still in pu? I'd have expected it to be fairly\n>> uncontroversial and slated for maint.\n>\n> Me too, along with the other two we found in the same topic:\n>\n>> * nd/index-pack-threaded-fixes (2013-03-19) 2 commits\n>>  - index-pack: guard nr_resolved_deltas reads by lock\n>>  - index-pack: protect deepest_delta in multithread code\n>>\n>>  \"index-pack --verify-stat\" used a few counters outside protection\n>>  of mutex, possibly showing incorrect numbers.\n\nYes.\n\nSpeaking of which... (cc'ed various people involved in the topics\nlisted below)\n\n> [Stalled]\n\nIt may be time to discard all the stalled topics (without\nprejudice), except for some.\n\n> * jc/format-patch (2013-02-21) 2 commits\n>  - format-patch: --inline-single\n>  - format-patch: rename \"no_inline\" field\n>\n>  A new option to send a single patch to the standard output to be\n>  appended at the bottom of a message.  I personally have no need for\n>  this, but it was easy enough to cobble together.  Tests, docs and\n>  stripping out more MIMEy stuff are left as exercises to interested\n>  parties.\n>\n>  Not ready for inclusion.\n\nSomebody may want to pick this up to give it finishing touches.\n\nI am reasonably sure that some MIMEy stuff are still leaked to the\noutput.  From the UI point of view, this does not let you say\n\n    git format-patch --inline-single [<commit>]\n\nwith omitted <commit> defalting to HEAD (instead you have to say \"-1\").\n\n> * po/help-guides (2013-03-03) 5 commits\n\nI know Philip said a reroll is planned, so if it comes, it can be\nrequeued.\n\n> * mb/gitweb-highlight-link-target (2012-12-20) 1 commit\n>  - Highlight the link target line in Gitweb using CSS\n>\n>  Expecting a reroll.\n>  $gmane/211935\n\nHighlighting was cute but the anchor was not.\n\n> [Cooking]\n>\n> * jc/merge-tag-object (2013-03-19) 1 commit\n>  - merge: a random object may not necssarily be a commit\n\nProbably we should eventually merge this as a bugfix to maintenance\ntrack.\n\n> * jk/index-pack-correct-depth-fix (2013-03-20) 1 commit\n>  - index-pack: always zero-initialize object_entry list\n\nThis is in the same class as the ones you two were wondering about,\nI think.\n\n> * jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits\n>   (merged to 'next' on 2013-03-19 at e68014a)\n>  + difftool --dir-diff: symlink all files matching the working tree\n>  + difftool: avoid double slashes in symlink targets\n>  + git-difftool(1): fix formatting of --symlink description\n\nI lost track of various discussions on \"difftool\" and its \"symlink\nso that the user can edit working tree files in the tool\".\n\n> * tr/line-log (2013-03-23) 6 commits\n>  - Speed up log -L... -M\n>  - log -L: :pattern:file syntax to find by funcname\n>  - Implement line-history search (git log -L)\n>  - Export rewrite_parents() for 'log -L'\n>  - fixup\n>  - Refactor parse_loc\n>\n>  Rerolled; collides with nd/magic-pathspecs.\n\nHonestly I am not sure what to make of this one.  I'd say we should\nmerge this down as-is to 'master', expecting that in some future we\nwould fix \"log --follow\" to keep the refspecs per history traversal\npath, so that this can be more naturally reimplemented.  Objections?\n\n\n> * jc/push-2.0-default-to-simple (2013-03-18) 15 commits\n>  - advice: Remove unused advice_push_non_ff_default\n>  - t5570: do not assume the \"matching\" push is the default\n>  - t5551: do not assume the \"matching\" push is the default\n>  - t5550: do not assume the \"matching\" push is the default\n>  - doc: push.default is no longer \"matching\"\n>  - push: switch default from \"matching\" to \"simple\"\n>  - t9401: do not assume the \"matching\" push is the default\n>  - t9400: do not assume the \"matching\" push is the default\n>  - t7406: do not assume the \"matching\" push is the default\n>  - t5531: do not assume the \"matching\" push is the default\n>  - t5519: do not assume the \"matching\" push is the default\n>  - t5517: do not assume the \"matching\" push is the default\n>  - t5516: do not assume the \"matching\" push is the default\n>  - t5505: do not assume the \"matching\" push is the default\n>  - t5404: do not assume the \"matching\" push is the default\n>\n>  Will cook in 'next' until Git 2.0.\n\nAt least we should reorder the three test patches near the tip to\ncome before the \"switch the default\", and perhaps squash the tip\none and \"doc\" patch to \"switch the default\" one, but other than\nthat, are we ready to commit to this?\n\n> * jn/add-2.0-u-A-sans-pathspec (2013-03-20) 5 commits\n>  - git add: -u/-A now affects the entire working tree\n>  - add -A: only show pathless 'add -A' warning when changes exist outside cwd\n>  - add -u: only show pathless 'add -u' warning when changes exist outside cwd\n>  - add: make warn_pathless_add() a no-op after first call\n>  - add: make pathless 'add [-u|-A]' warning a file-global function\n>\n>  Replaces jc/add-2.0-u-A-sans-pathspec topic by not warning against\n>  \"add -u/-A\" that is ran without pathspec when there is no change\n>  outside the current directory.\n\nI recall we had a lengthy discussion on this, but how committed are\nwe on the progression of this series?  Are the bottom four ready to\nbe merged to 1.8.3, or do they need more polishing?\n\n> * jc/add-2.0-delete-default (2013-03-08) 3 commits\n>  - git add <pathspec>... defaults to \"-A\"\n>  - git add: start preparing for \"git add <pathspec>...\" to default to \"-A\"\n>  - builtin/add.c: simplify boolean variables\n>\n>  \"git add dir/\" updated modified files and added new files, but does\n>  not notice removed files, which may be \"Huh?\" to some users.  They\n>  can of course use \"git add -A dir/\", but why should they?\n>\n>  There seemed to be some interest in this topic, so resurrected and\n>  rebased on top of recent documentation updates to propose a\n>  possible transition plan.\n>\n>  Will cook in 'next' until Git 2.0.\n\nThe other day I saw somebody at work did \"git add .\"  (it could have\nbeen \"git add dir/\") to mark the resolution of a conflicting merge,\nwhen one of the paths should be removed.  It made me wish we had\nthis already.\n\nI think we discussed this topic in the past a few times, and it is\nuncontroversial enough to be in Git 2.0.\n\nIs there any other \"we have already well discussed it, we already\nknow how the implementation would look like if we were to do this,\nand we have at least a rough sketch of how the transition may look\nlike\" change we would want to start preparing for Git 2.0?  I am not\nasking for pie-in-the-sky proposals (I know you two I am responding\nto know this---I am just clarifying for others).\n\nThanks.\n"},{"id":"212463","messageId":"20130327220723.GR2286@serenity.lan","threadId":"33294","inReplyTo":"7vy5d8jz0y.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2013-03-27T22:07:23Z","receivedAt":"2013-03-27T22:07:23Z","isPatch":false,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"On Wed, Mar 27, 2013 at 02:47:25PM -0700, Junio C Hamano wrote:\n> > * jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits\n> >   (merged to 'next' on 2013-03-19 at e68014a)\n> >  + difftool --dir-diff: symlink all files matching the working tree\n> >  + difftool: avoid double slashes in symlink targets\n> >  + git-difftool(1): fix formatting of --symlink description\n> \n> I lost track of various discussions on \"difftool\" and its \"symlink\n> so that the user can edit working tree files in the tool\".\n\nWould it be easiest if I send a new series incorporating\njk/difftool-dirr-diff-edit-fix and the proposed change to not overwrite\nmodified working tree files, built on top of t7800-modernize?\n\nThe \"overwrite modified working tree files\" issue isn't new, but\njk/difftool-dir-diff-edit-fix makes it more likely to happen so it might\nbe best to include those in one topic, and building on\njk/t7800-modernize will avoid conflicts in the tests.\n"},{"id":"212465","messageId":"7vobe4jxpr.fsf@alter.siamese.dyndns.org","threadId":"33294","inReplyTo":"20130327220723.GR2286@serenity.lan","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-03-27T22:15:44Z","receivedAt":"2013-03-27T22:15:44Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Keeping <john@keeping.me.uk> writes:\n\n> On Wed, Mar 27, 2013 at 02:47:25PM -0700, Junio C Hamano wrote:\n>> > * jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits\n>> >   (merged to 'next' on 2013-03-19 at e68014a)\n>> >  + difftool --dir-diff: symlink all files matching the working tree\n>> >  + difftool: avoid double slashes in symlink targets\n>> >  + git-difftool(1): fix formatting of --symlink description\n>> \n>> I lost track of various discussions on \"difftool\" and its \"symlink\n>> so that the user can edit working tree files in the tool\".\n>\n> Would it be easiest if I send a new series incorporating\n> jk/difftool-dirr-diff-edit-fix and the proposed change to not overwrite\n> modified working tree files, built on top of t7800-modernize?\n\nI am somewhat reluctant to rewind a topic that has been cooking in\n'next' for over a week (the above says 19th).  Rebuilding the\nstyle-fixes on top of the above is fine---that topic is much\nyounger.\n"},{"id":"212467","messageId":"20130327222516.GI28148@google.com","threadId":"33294","inReplyTo":"7vy5d8jz0y.fsf@alter.siamese.dyndns.org","subject":"jn/add-2.0-u-A-sans-pathspec (Re: What's cooking in git.git (Mar 2013, #07; Tue, 26))","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-03-27T22:25:16Z","receivedAt":"2013-03-27T22:25:16Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Junio C Hamano wrote:\n> On Tue, Mar 26, 2013 at 03:40:00PM -0700, Junio C Hamano wrote:\n\n>> * jn/add-2.0-u-A-sans-pathspec (2013-03-20) 5 commits\n>>  - git add: -u/-A now affects the entire working tree\n>>  - add -A: only show pathless 'add -A' warning when changes exist outside cwd\n>>  - add -u: only show pathless 'add -u' warning when changes exist outside cwd\n>>  - add: make warn_pathless_add() a no-op after first call\n>>  - add: make pathless 'add [-u|-A]' warning a file-global function\n>>\n>>  Replaces jc/add-2.0-u-A-sans-pathspec topic by not warning against\n>>  \"add -u/-A\" that is ran without pathspec when there is no change\n>>  outside the current directory.\n>\n> I recall we had a lengthy discussion on this, but how committed are\n> we on the progression of this series?  Are the bottom four ready to\n> be merged to 1.8.3, or do they need more polishing?\n\nI wanted to add tests and then other tasks took over.  Sorry.  Probably\nbest to get the bottom four in \"next\" and add tests on top later.\n\nI have the following squashed in locally.\n\n-- >8 --\nSubject: fixup! add -u: only show pathless 'add -u' warning when changes exist outside cwd\n\nDefine ADD_CACHE_IMPLICIT_DOT in cache.h alongside the other add_to_index\nflags.  This way, authors of patches adding new flags that might want to\nuse the same bit can know to be careful.\n\nRequested-by: Jeff King <peff@peff.net>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nThanks,\nJonathan\n\n builtin/add.c | 1 -\n cache.h       | 1 +\n 2 files changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/builtin/add.c b/builtin/add.c\nindex ad59182..9f35df7 100644\n--- a/builtin/add.c\n+++ b/builtin/add.c\n@@ -139,7 +139,6 @@ static void update_callback(struct diff_queue_struct *q,\n \t}\n }\n \n-#define ADD_CACHE_IMPLICIT_DOT 32\n int add_files_to_cache(const char *prefix, const char **pathspec, int flags)\n {\n \tstruct update_callback_data data;\ndiff --git a/cache.h b/cache.h\nindex e493563..5de3480 100644\n--- a/cache.h\n+++ b/cache.h\n@@ -459,6 +459,7 @@ extern int remove_file_from_index(struct index_state *, const char *path);\n #define ADD_CACHE_IGNORE_ERRORS\t4\n #define ADD_CACHE_IGNORE_REMOVAL 8\n #define ADD_CACHE_INTENT 16\n+#define ADD_CACHE_IMPLICIT_DOT 32\t/* internal to \"git add -u/-A\" */\n extern int add_to_index(struct index_state *, const char *path, struct stat *, int flags);\n extern int add_file_to_index(struct index_state *, const char *path, int flags);\n extern struct cache_entry *make_cache_entry(unsigned int mode, const unsigned char *sha1, const char *path, int stage, int refresh);\n-- \n1.8.2.rc3\n"},{"id":"212473","messageId":"20130327225215.GS2286@serenity.lan","threadId":"33294","inReplyTo":"7vobe4jxpr.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2013-03-27T22:52:15Z","receivedAt":"2013-03-27T22:52:15Z","isPatch":false,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"On Wed, Mar 27, 2013 at 03:15:44PM -0700, Junio C Hamano wrote:\n> John Keeping <john@keeping.me.uk> writes:\n> \n> > On Wed, Mar 27, 2013 at 02:47:25PM -0700, Junio C Hamano wrote:\n> >> > * jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits\n> >> >   (merged to 'next' on 2013-03-19 at e68014a)\n> >> >  + difftool --dir-diff: symlink all files matching the working tree\n> >> >  + difftool: avoid double slashes in symlink targets\n> >> >  + git-difftool(1): fix formatting of --symlink description\n> >> \n> >> I lost track of various discussions on \"difftool\" and its \"symlink\n> >> so that the user can edit working tree files in the tool\".\n> >\n> > Would it be easiest if I send a new series incorporating\n> > jk/difftool-dirr-diff-edit-fix and the proposed change to not overwrite\n> > modified working tree files, built on top of t7800-modernize?\n> \n> I am somewhat reluctant to rewind a topic that has been cooking in\n> 'next' for over a week (the above says 19th).  Rebuilding the\n> style-fixes on top of the above is fine---that topic is much\n> younger.\n\nSadly that's easier said than done, since it just introduces further\nconflicts as jk/difftool-dir-diff-edit-fix doesn't include\nda/difftool-fixes (now in master).\n\nSo I think the best thing may be to:\n\n    1) take only the middle patch from jk/t7800-modernize for now (which\n       fixes a test failure on Windows and shouldn't conflict with\n       anything else) and discard the other two patches there, to be\n       re-sent after other topics in flight graduate\n\n    2) add the \"don't overwrite modified working tree files\" patch built\n       on top of jk/difftool-dir-diff-edit-fix (presumably as a new\n       topic)\n"},{"id":"212492","messageId":"87ehf0uf72.fsf@linux-k42r.v.cablecom.net","threadId":"33294","inReplyTo":"7vy5d8jz0y.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2013-03-28T08:00:17Z","receivedAt":"2013-03-28T08:00:17Z","isPatch":false,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n>> * tr/line-log (2013-03-23) 6 commits\n>>  - Speed up log -L... -M\n>>  - log -L: :pattern:file syntax to find by funcname\n>>  - Implement line-history search (git log -L)\n>>  - Export rewrite_parents() for 'log -L'\n>>  - fixup\n>>  - Refactor parse_loc\n>>\n>>  Rerolled; collides with nd/magic-pathspecs.\n>\n> Honestly I am not sure what to make of this one.  I'd say we should\n> merge this down as-is to 'master', expecting that in some future we\n> would fix \"log --follow\" to keep the refspecs per history traversal\n> path, so that this can be more naturally reimplemented.  Objections?\n\nI was really hoping for something like that to happen :-) but I need to\nlook into at least one segfault bug in the option parser, noticed by\nAntoine Pelisse.  Expect a (final?) reroll soon.\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"212581","messageId":"7vobe3ryn5.fsf@alter.siamese.dyndns.org","threadId":"33294","inReplyTo":"20130327225215.GS2286@serenity.lan","subject":"Re: What's cooking in git.git (Mar 2013, #07; Tue, 26)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-03-28T21:40:46Z","receivedAt":"2013-03-28T21:40:46Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Keeping <john@keeping.me.uk> writes:\n\n> On Wed, Mar 27, 2013 at 03:15:44PM -0700, Junio C Hamano wrote:\n>> John Keeping <john@keeping.me.uk> writes:\n>> \n>> > On Wed, Mar 27, 2013 at 02:47:25PM -0700, Junio C Hamano wrote:\n>> >> > * jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits\n>> >> >   (merged to 'next' on 2013-03-19 at e68014a)\n>> >> >  + difftool --dir-diff: symlink all files matching the working tree\n>> >> >  + difftool: avoid double slashes in symlink targets\n>> >> >  + git-difftool(1): fix formatting of --symlink description\n>> >> \n>> >> I lost track of various discussions on \"difftool\" and its \"symlink\n>> >> so that the user can edit working tree files in the tool\".\n>> >\n>> > Would it be easiest if I send a new series incorporating\n>> > jk/difftool-dirr-diff-edit-fix and the proposed change to not overwrite\n>> > modified working tree files, built on top of t7800-modernize?\n>> \n>> I am somewhat reluctant to rewind a topic that has been cooking in\n>> 'next' for over a week (the above says 19th).  Rebuilding the\n>> style-fixes on top of the above is fine---that topic is much\n>> younger.\n>\n> Sadly that's easier said than done, since it just introduces further\n> conflicts as jk/difftool-dir-diff-edit-fix doesn't include\n> da/difftool-fixes (now in master).\n\nOK, let's make it simpler then by merging jk/difftool-dir-diff-edit-fix\nto 'master'.  The test tweaks and other work can then built on top.\n"}]}