To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Mar 2013, #07; Tue, 26)
-X-master-at: 2bba2f0e6542d541e9f27653d8c9d5fc8d0e679c
-X-next-at: 21b325ca9d683712f5399553f0472ba31ad5cf0f
+Subject: What's cooking in git.git (Mar 2013, #08; Fri, 29)
+X-master-at: 631bc94e67383b66da190550866566f09d32f299
+X-next-at: 26eb6e9fce877ff55db93fee605b878939872a5a
-What's cooking in git.git (Mar 2013, #07; Tue, 26)
+What's cooking in git.git (Mar 2013, #08; Fri, 29)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.
+A handful of topics that have been stalled for quite a while have
+been discarded; for those that are not superseded by something else,
+interested parties can still resubmit a reroll, but without any
+advances, we do not get any benefit from carrying them in my tree.
+
You can find the changes described here in the integration branches
of the repositories listed at
--------------------------------------------------
[Graduated to "master"]
-* ap/maint-diff-rename-avoid-overlap (2013-03-06) 3 commits
- (merged to 'next' on 2013-03-19 at c3276cf)
- + tests: make sure rename pretty print works
- + diff: prevent pprint_rename from underrunning input
- + diff: Fix rename pretty-print when suffix and prefix overlap
-
- Originally merged to 'next' on 2013-03-06
-
- The logic used by "git diff -M --stat" to shorten the names of
- files before and after a rename did not work correctly when the
- common prefix and suffix between the two filenames overlapped.
-
-
-* jc/describe (2013-02-28) 1 commit
- (merged to 'next' on 2013-03-19 at 89e6e47)
- + describe: --match=<pattern> must limit the refs even when used with --all
-
- Originally merged to 'next' on 2013-03-05
-
- The "--match=<pattern>" option of "git describe", when used with
- "--all" to allow refs that are not annotated tags to be used as a
- base of description, did not restrict the output from the command
- to those that match the given pattern.
-
- We may want to have a looser matching that does not restrict to tags,
- but that can be done as a follow-up topic; this step is purely a bugfix.
-
+* ap/combine-diff-ignore-whitespace (2013-03-14) 1 commit
+ (merged to 'next' on 2013-03-19 at dfb2c98)
+ + Allow combined diff to ignore white-spaces
+ (this branch is used by ap/combine-diff-coalesce-lost.)
-* jc/maint-reflog-expire-clean-mark-typofix (2013-03-05) 1 commit
- (merged to 'next' on 2013-03-19 at a4f9eac)
- + reflog: fix typo in "reflog expire" clean-up codepath
+ Originally merged to 'next' on 2013-03-18
- Originally merged to 'next' on 2013-03-07
+ Teach "diff --cc" output to honor options to ignore various forms
+ of whitespace changes.
- In "git reflog expire", REACHABLE bit was not cleared from the
- correct objects.
+* jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
+ (merged to 'next' on 2013-03-26 at 7999dbe)
+ + simplify-merges: drop merge from irrelevant side branch
-* jc/push-follow-tag (2013-03-05) 4 commits
- (merged to 'next' on 2013-03-19 at d302a10)
- + push: --follow-tags
- + commit.c: use clear_commit_marks_many() in in_merge_bases_many()
- + commit.c: add in_merge_bases_many()
- + commit.c: add clear_commit_marks_many()
+ The --simplify-merges logic did not cull irrelevant parents from a
+ merge that is otherwise not interesting with respect to the paths
+ we are following.
- Originally merged to 'next' on 2013-03-09
+ This touches a fairly core part of the revision traversal
+ infrastructure; even though I think this change is correct, please
+ report immediately if you find any unintended side effect.
- The new "--follow-tags" option tells "git push" to push relevant
- annotated tags when pushing branches out.
+* jk/checkout-attribute-lookup (2013-03-20) 3 commits
+ (merged to 'next' on 2013-03-20 at 43a89e8)
+ + t2003: work around path mangling issue on Windows
+ (merged to 'next' on 2013-03-19 at b063a55)
+ + entry: fix filter lookup
+ + t2003: modernize style
-* jc/reflog-reverse-walk (2013-03-23) 4 commits
- (merged to 'next' on 2013-03-25 at 1bcc1c4)
- + refs.c: fix fread error handling
- (merged to 'next' on 2013-03-19 at 25beb2a)
- + reflog: add for_each_reflog_ent_reverse() API
- + for_each_recent_reflog_ent(): simplify opening of a reflog file
- + for_each_reflog_ent(): extract a helper to process a single entry
- (this branch is tangled with nd/branch-show-rebase-bisect-state.)
+ Codepath to stream blob object contents directly from the object
+ store to filesystem did not use the correct path to find conversion
+ filters when writing to temporary files.
- An internal function used to implement "git checkout @{-1}" was
- hard to use correctly.
+* jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits
+ (merged to 'next' on 2013-03-19 at e68014a)
+ + difftool --dir-diff: symlink all files matching the working tree
+ + difftool: avoid double slashes in symlink targets
+ + git-difftool(1): fix formatting of --symlink description
-* jk/alias-in-bare (2013-03-08) 3 commits
- (merged to 'next' on 2013-03-19 at d2b4227)
- + setup: suppress implicit "." work-tree for bare repos
- + environment: add GIT_PREFIX to local_repo_env
- + cache.h: drop LOCAL_REPO_ENV_SIZE
+ Originally merged to 'next' on 2013-03-15
- Originally merged to 'next' on 2013-03-09
+ "git difftool --dir-diff" made symlinks to working tree files when
+ preparing a temporary directory structure, so that accidental edits
+ of these files in the difftool are reflected back to the working
+ tree, but the logic to decide when to do so was not quite right.
- An aliased command spawned from a bare repository that does not say
- it is bare with "core.bare = yes" is treated as non-bare by mistake.
+* kk/revwalk-slop-too-many-commit-within-a-second (2013-03-22) 1 commit
+ (merged to 'next' on 2013-03-26 at ea90e75)
+ + Fix revision walk for commits with the same dates
-* jk/empty-archive (2013-03-10) 2 commits
- (merged to 'next' on 2013-03-19 at bb4eb61)
- + archive: handle commits with an empty tree
- + test-lib: factor out $GIT_UNZIP setup
+ Allow the revision "slop" code to look deeper while commits with
+ exactly the same timestamps come next to each other (which can
+ often happen after a large "am" and "rebase" session).
- Originally merged to 'next' on 2013-03-12
- "git archive" reports a failure when asked to create an archive out
- of an empty tree. It would be more intuitive to give an empty
- archive back in such a case.
+* rr/tests-dedup-test-config (2013-03-19) 1 commit
+ (merged to 'next' on 2013-03-26 at d314299)
+ + t4018,7810,7811: remove test_config() redefinition
-* jk/fast-export-object-lookup (2013-03-17) 2 commits
- (merged to 'next' on 2013-03-19 at 026ac3d)
- + fast-export: do not load blob objects twice
- + fast-export: rename handle_object function
+* rs/archive-zip-raw-compression (2013-03-16) 1 commit
+ (merged to 'next' on 2013-03-19 at 8cc1cb3)
+ + archive-zip: use deflateInit2() to ask for raw compressed data
Originally merged to 'next' on 2013-03-18
-* jk/fully-peeled-packed-ref (2013-03-18) 4 commits
- (merged to 'next' on 2013-03-19 at fa92bc7)
- + pack-refs: add fully-peeled trait
- + pack-refs: write peeled entry for non-tags
- + use parse_object_or_die instead of die("bad object")
- + avoid segfaults on parse_object failure
+* yd/doc-is-in-asciidoc (2013-03-21) 1 commit
+ (merged to 'next' on 2013-03-26 at a980af2)
+ + CodingGuidelines: our documents are in AsciiDoc
- Originally merged to 'next' on 2013-03-18
- Not that we do not actively encourage having annotated tags outside
- refs/tags/ hierarchy, but they were not advertised correctly to the
- ls-remote and fetch with recent version of Git.
+* yd/doc-merge-annotated-tag (2013-03-21) 1 commit
+ (merged to 'next' on 2013-03-26 at a11162f)
+ + Documentation: merging a tag is a special case
+ Document the 1.7.9 feature to merge a signed tag and keep that in
+ the mergetag header in the resulting commit better.
-* jk/peel-ref (2013-03-16) 3 commits
- (merged to 'next' on 2013-03-19 at f0d4c16)
- + upload-pack: load non-tip "want" objects from disk
- + upload-pack: make sure "want" objects are parsed
- + upload-pack: drop lookup-before-parse optimization
- Originally merged to 'next' on 2013-03-18
+* yd/use-test-config-unconfig (2013-03-25) 12 commits
+ (merged to 'next' on 2013-03-26 at 55b69a9)
+ + t7600: use test_config to set/unset git config variables
+ + t7502: remove clear_config
+ + t7502: use test_config to set/unset git config variables
+ + t9500: use test_config to set/unset git config variables
+ + t7508: use test_config to set/unset git config variables
+ + t7500: use test_config to set/unset git config variables
+ + t5541: use test_config to set/unset git config variables
+ + t5520: use test_config to set/unset git config variables
+ + t4202: use test_config/test_unconfig to set/unset git config variables
+ + t4034: use test_config/test_unconfig to set/unset git config variables
+ + t4304: use test_config to set/unset git config variables
+ + t3400: use test_config to set/unset git config variables
- Recent optimization broke shallow clones.
+ Bulk-update of the test suite.
+--------------------------------------------------
+[New Topics]
-* jk/suppress-clang-warning (2013-02-25) 1 commit
- (merged to 'next' on 2013-03-19 at 1fd6858)
- + fix clang -Wtautological-compare with unsigned enum
+* js/log-gpg (2013-03-27) 1 commit
+ - log: read gpg settings for signed commit verification
- Originally merged to 'next' on 2013-03-14
+ Teach "show/log" honor gpg.program configuration just like other
+ parts of the code that use GnuPG.
+ Will merge to 'next'.
-* jl/submodule-deinit (2013-03-04) 1 commit
- (merged to 'next' on 2013-03-19 at d8367c5)
- + submodule: add 'deinit' command
- Originally merged to 'next' on 2013-03-05
+* jc/t5516-pushInsteadOf-vs-pushURL (2013-03-28) 1 commit
+ - t5516: test interaction between pushURL and pushInsteadOf correctly
- There was no Porcelain way to say "I no longer am interested in
- this submodule", once you express your interest in a submodule with
- "submodule init". "submodule deinit" is the way to do so.
+ Update a test to match the documented interaction between pushURL
+ and pushInsteadOf.
+ Will merge to 'next'.
-* kb/p4merge (2013-03-25) 6 commits
- (merged to 'next' on 2013-03-25 at 4db939e)
- + merge-one-file: force content conflict for "both sides added" case
- + git-merge-one-file: send "ERROR:" messages to stderr
- + git-merge-one-file: style cleanup
- + merge-one-file: remove stale comment
- (merged to 'next' on 2013-03-19 at 43cc599)
- + mergetools/p4merge: create a base if none available
- + mergetools/p4merge: swap LOCAL and REMOTE
- Originally merged to 'next' on 2013-03-14
+* jk/merge-tree-added-identically (2013-03-27) 1 commit
+ - merge-tree: fix "same file added in subdir"
- Adjust the order mergetools feeds the files to the p4merge backend
- to match the p4 convention.
+ We would most likely want to change things the other way around.
-* ks/rfc2047-one-char-at-a-time (2013-03-09) 1 commit
- (merged to 'next' on 2013-03-19 at 577ddf2)
- + format-patch: RFC 2047 says multi-octet character may not be split
+* rr/triangle (2013-03-28) 6 commits
+ - remote.c: introduce branch.<name>.pushremote
+ - remote.c: introduce remote.pushdefault
+ - remote.c: introduce a way to have different remotes for fetch/push
+ - t5516 (fetch-push): drop implicit arguments from helper functions
+ - t5516 (fetch-push): update test description
+ - remote.c: simplify a bit of code using git_config_string()
- Originally merged to 'next' on 2013-03-09
+ Support "pull from one place, push to another place" workflow
+ better by introducing remote.pushdefault (overrides the "origin"
+ thing) and branch.*.pushremote (overrides the branch.*.remote).
- When "format-patch" quoted a non-ascii strings on the header files,
- it incorrectly applied rfc2047 and chopped a single character in
- the middle of it.
+* sg/gpg-sig (2013-03-29) 5 commits
+ - pretty printing: extend %G? to include 'N' and 'U'
+ - merge/pull Check for untrusted good GPG signatures
+ - merge/pull: verify GPG signatures of commits being merged
+ - commit.c: also look at the first GPG status line
+ - Move commit GPG signature verification to commit.c
-* lf/setup-prefix-pathspec (2013-03-14) 2 commits
- (merged to 'next' on 2013-03-19 at 0017e9e)
- + setup.c: check that the pathspec magic ends with ")"
- + setup.c: stop prefix_pathspec() from looping past the end of string
+ Teach "merge/pull" to optionally verify and reject commits that are
+ not signed properly.
- Originally merged to 'next' on 2013-03-14
+ Will merge to 'next'.
- "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and
- instead the parser kept reading beyond the end of the string.
+* tr/log-tree-optim (2013-03-28) 1 commit
+ - Avoid loading commits twice in log with diffs
-* mg/unsigned-time-t (2013-02-25) 2 commits
- (merged to 'next' on 2013-03-19 at 1fc1ad6)
- + Fix time offset calculation in case of unsigned time_t
- + date.c: fix unsigned time_t comparison
+ Optimize "log" that shows the difference between the parent and the
+ child.
- Originally merged to 'next' on 2013-03-14
+ Will merge to 'next'.
- A few workarounds for systems with unsigned time_t.
+* jk/config-with-empty-section (2013-03-29) 1 commit
+ - t1300: document some aesthetic failures of the config editor
-* pe/pull-rebase-v-q (2013-03-16) 1 commit
- (merged to 'next' on 2013-03-19 at 10b311c)
- + pull: Apply -q and -v options to rebase mode as well
+ Document that "git config --unset" does not remove an empty section
+ head after removing the last variable in a section, and adding a
+ new variable does not try to reuse a leftover empty section head.
- Originally merged to 'next' on 2013-03-18
+ Will merge to 'next'.
- Teach "git pull --rebase" to pass "-v/-q" command line options to
- underlying "git rebase".
+* jk/difftool-no-overwrite-on-copyback (2013-03-29) 5 commits
+ - t7800: run --dir-diff tests with and without symlinks
+ - t7800: fix tests when difftool uses --no-symlinks
+ - t7800: don't hide grep output
+ - difftool: don't overwrite modified files
+ - t7800: move '--symlinks' specific test to the end
-* ph/tag-force-no-warn-on-creation (2013-03-13) 1 commit
- (merged to 'next' on 2013-03-19 at b273fd3)
- + tag: --force does not have to warn when creating tags
+ Try to be careful when difftool backend allows the user to write
+ into the temporary files being shown *and* the user makes changes
+ to the working tree at the same time. One of the changes has to be
+ lost in such a case, but at least tell the user what he did.
- Originally merged to 'next' on 2013-03-14
- "git tag -f <tag>" always said "Updated tag '<tag>'" even when
- creating a new tag (i.e. not overwriting nor updating).
+--------------------------------------------------
+[Stalled]
-* pw/p4-symlinked-root (2013-03-11) 3 commits
- (merged to 'next' on 2013-03-19 at 9127e82)
- + git p4: avoid expanding client paths in chdir
- + git p4 test: should honor symlink in p4 client root
- + git p4 test: make sure P4CONFIG relative path works
+* jc/format-patch (2013-02-21) 2 commits
+ - format-patch: --inline-single
+ - format-patch: rename "no_inline" field
- Originally merged to 'next' on 2013-03-12
+ A new option to send a single patch to the standard output to be
+ appended at the bottom of a message. I personally have no need for
+ this, but it was easy enough to cobble together. Tests, docs and
+ stripping out more MIMEy stuff are left as exercises to interested
+ parties.
- "git p4" did not behave well when the path to the root of the P4
- client was not its real path.
+ Not ready for inclusion.
--------------------------------------------------
-[New Topics]
+[Cooking]
+
+* jc/apply-ws-fix-tab-in-indent (2013-03-29) 2 commits
+ (merged to 'next' on 2013-03-29 at 26eb6e9)
+ + test: resurrect q_to_tab
+ (merged to 'next' on 2013-03-26 at 46c6bda)
+ + apply --whitespace=fix: avoid running over the postimage buffer
-* jc/apply-ws-fix-tab-in-indent (2013-03-22) 1 commit
- - apply --whitespace=fix: avoid running over the postimage buffer
+ "git apply --whitespace=fix" was not prepared to see a line getting
+ longer after fixing whitespaces (e.g. tab-in-indent aka Python).
+
+ Will merge to 'master'.
* jk/no-more-self-assignment (2013-03-25) 2 commits
warning from some compilers, but resulted in rewriting logic with
a version that is simpler and easier to understand for humans.
-
-* jk/t7800-modernize (2013-03-23) 3 commits
- - t7800: run --dir-diff tests with and without symlinks
- - t7800: fix tests when difftool uses --no-symlinks
- - t7800: don't hide grep output
-
- Looked reasonable standalone; conflicts with other topics in flight
- needs to be resolved carefully, though.
-
-
-* kk/revwalk-slop-too-many-commit-within-a-second (2013-03-22) 1 commit
- (merged to 'next' on 2013-03-26 at ea90e75)
- + Fix revision walk for commits with the same dates
-
- Allow the revision "slop" code to look deeper while commits with
- exactly the same timestamps come next to each other (which can
- often happen after a large "am" and "rebase" session).
-
-
-* yd/use-test-config-unconfig (2013-03-25) 12 commits
- - t7600: use test_config to set/unset git config variables
- - t7502: remove clear_config
- - t7502: use test_config to set/unset git config variables
- - t9500: use test_config to set/unset git config variables
- - t7508: use test_config to set/unset git config variables
- - t7500: use test_config to set/unset git config variables
- - t5541: use test_config to set/unset git config variables
- - t5520: use test_config to set/unset git config variables
- - t4202: use test_config/test_unconfig to set/unset git config variables
- - t4034: use test_config/test_unconfig to set/unset git config variables
- - t4304: use test_config to set/unset git config variables
- - t3400: use test_config to set/unset git config variables
-
- Bulk-update of the test suite.
+ Will merge to 'master'.
* ap/combine-diff-coalesce-lost (2013-03-25) 1 commit
- combine-diff: coalesce lost lines optimally
- (this branch uses ap/combine-diff-ignore-whitespace.)
Attempts to minimize "diff -c/--cc" output by coalescing the same
lines removed from the parents better, but with an O(n^2)
- complexity. I wonder
+ complexity.
+
+ Will merge to 'next' to see if people with real-world usage scream.
* bk/document-commit-tree-S (2013-03-25) 1 commit
Will merge to 'master'.
-* jk/check-corrupt-objects-carefully (2013-03-25) 9 commits
+* jk/check-corrupt-objects-carefully (2013-03-27) 10 commits
+ - clone: leave repo in place after checkout errors
- clone: run check_everything_connected
- clone: die on errors from unpack_trees
- add tests for cloning corrupted repositories
Have the streaming interface and other codepaths more carefully
examine for corrupt objects.
+ The message in the last one may want to be updated.
+ $gmane/219229
+
* js/iterm-is-on-osx (2013-03-25) 1 commit
- git-web--browse: recognize iTerm as a GUI terminal on OS X
Add more logic to detect graphic environment of OS X.
+ We may want to simplify it down to just "is there TERM_PROGRAM?",
+ but I am not an OS X user.
+
-* tb/cygwin-shared-repository (2013-03-25) 2 commits
- - optimize set_shared_perm()
+* tb/cygwin-shared-repository (2013-03-25) 1 commit
- Make core.sharedRepository work under cygwin 1.7
Cygwin port has a faster-but-lying lstat(2) emulation whose
codepaths, and setting permission bits to directories is a codepath
that needs to use a more correct one.
+ Will merge to 'next'.
-* jc/directory-attrs-regression-fix (2013-03-26) 4 commits
- - make sure a pattern without trailing slash matches a directory
- - attr.c::path_matches(): special case paths that end with a slash
+
+* jc/directory-attrs-regression-fix (2013-03-28) 6 commits
+ - t: check that a pattern without trailing slash matches a directory
+ - dir.c::match_pathname(): pay attention to the length of string parameters
+ - dir.c::match_pathname(): adjust patternlen when shifting pattern
- dir.c::match_basename(): pay attention to the length of string parameters
+ - attr.c::path_matches(): special case paths that end with a slash
- attr.c::path_matches(): the basename is part of the pathname
Fix 1.8.1.x regression that stopped matching "dir" (without
trailing slash) to a directory "dir".
+ Will merge to 'next'.
-* nd/checkout-paths-reduce-match-pathspec-calls (2013-03-26) 1 commit
- - [NEEDSTEST] checkout: avoid unnecessary match_pathspec calls
-
---------------------------------------------------
-[Stalled]
-
-* jc/format-patch (2013-02-21) 2 commits
- - format-patch: --inline-single
- - format-patch: rename "no_inline" field
-
- A new option to send a single patch to the standard output to be
- appended at the bottom of a message. I personally have no need for
- this, but it was easy enough to cobble together. Tests, docs and
- stripping out more MIMEy stuff are left as exercises to interested
- parties.
-
- Not ready for inclusion.
-
-
-* mg/qnx6 (2013-02-25) 1 commit
- - QNX: newer QNX 6.x.x is not so crippled
-
- Not ready for inclusion.
-
-
-* po/help-guides (2013-03-03) 5 commits
- - help doc: include --guide option description
- - help.c: add list_common_guides_help() function
- - help.c: add --guide option
- - help.c: use OPT_COUNTUP
- - show 'git help <guide>' usage, with examples
-
- Give more visibility to "concept guides" to help "git help" users.
-
- Expecting a reroll.
- $gmane/217384
-
-
-* hv/config-from-strbuf (2013-03-10) 4 commits
- - teach config parsing to read from strbuf
- - config: make parsing stack struct independent from actual data source
- - config: drop file pointer validity check in get_next_char()
- - config: factor out config file stack management
-
- Expecting a reroll.
- $gmane/217811
-
-
-* mb/gitweb-highlight-link-target (2012-12-20) 1 commit
- - Highlight the link target line in Gitweb using CSS
-
- Expecting a reroll.
- $gmane/211935
-
-
-* mb/remote-default-nn-origin (2012-07-11) 6 commits
- - Teach get_default_remote to respect remote.default.
- - Test that plain "git fetch" uses remote.default when on a detached HEAD.
- - Teach clone to set remote.default.
- - Teach "git remote" about remote.default.
- - Teach remote.c about the remote.default configuration setting.
- - Rename remote.c's default_remote_name static variables.
- When the user does not specify what remote to interact with, we
- often attempt to use 'origin'. This can now be customized via a
- configuration variable.
+* nd/checkout-paths-reduce-match-pathspec-calls (2013-03-27) 1 commit
+ - checkout: avoid unnecessary match_pathspec calls
- Expecting a reroll.
- $gmane/210151
+ Consolidate repeated pathspec matches on the same paths, while
+ fixing a bug in "git checkout dir/" code started from an unmerged
+ index.
- "The first remote becomes the default" bit is better done as a
- separate step.
+ Will merge to 'next'.
---------------------------------------------------
-[Cooking]
* jc/merge-tag-object (2013-03-19) 1 commit
- merge: a random object may not necssarily be a commit
though. After all, the user went to great length to feed something
different from the normal "v1.8.2" to the command.
+ Will merge to 'next'.
+
* jk/index-pack-correct-depth-fix (2013-03-20) 1 commit
- - index-pack: always zero-initialize object_entry list
+ (merged to 'next' on 2013-03-26 at c56e839)
+ + index-pack: always zero-initialize object_entry list
"index-pack --fix-thin" used uninitialize value to compute delta
depths of objects it appends to the resulting pack.
+ Will merge to 'master'.
+
* jn/push-tests (2013-03-19) 3 commits
- - push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
- - push test: simplify check of push result
- - push test: use test_config when appropriate
+ (merged to 'next' on 2013-03-26 at da891db)
+ + push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
+ + push test: simplify check of push result
+ + push test: use test_config when appropriate
Update t5516 with style fixes.
+ Will merge to 'master'.
+
* nd/index-pack-threaded-fixes (2013-03-19) 2 commits
- - index-pack: guard nr_resolved_deltas reads by lock
- - index-pack: protect deepest_delta in multithread code
+ (merged to 'next' on 2013-03-26 at e508c77)
+ + index-pack: guard nr_resolved_deltas reads by lock
+ + index-pack: protect deepest_delta in multithread code
"index-pack --verify-stat" used a few counters outside protection
of mutex, possibly showing incorrect numbers.
+ Will merge to 'master'.
+
* kb/status-ignored-optim (2013-03-19) 8 commits
- dir.c: git-status: avoid is_excluded checks for tracked files
data.
-* rr/tests-dedup-test-config (2013-03-19) 1 commit
- (merged to 'next' on 2013-03-26 at d314299)
- + t4018,7810,7811: remove test_config() redefinition
-
- Will merge to 'master'.
-
-
* jn/add-2.0-u-A-sans-pathspec (2013-03-20) 5 commits
- git add: -u/-A now affects the entire working tree
- add -A: only show pathless 'add -A' warning when changes exist outside cwd
"add -u/-A" that is ran without pathspec when there is no change
outside the current directory.
+ Expecting a reroll and then merge the bottom bits to 'next'.
+ $gmane/219342
+
* rr/test-3200-style (2013-03-20) 1 commit
(merged to 'next' on 2013-03-26 at 1214287)
Will merge to 'master'.
-* tr/packed-object-info-wo-recursion (2013-03-25) 3 commits
+* tr/packed-object-info-wo-recursion (2013-03-27) 3 commits
- sha1_file: remove recursion in unpack_entry
- Refactor parts of in_delta_base_cache/cache_or_unpack_entry
- sha1_file: remove recursion in packed_object_info
Attempts to reduce the stack footprint of sha1_object_info()
and unpack_entry() codepaths.
+ Will merge to 'next'.
+
* sr/am-show-final-message-in-applying-indicator (2013-03-21) 1 commit
(merged to 'next' on 2013-03-26 at 9ecb143)
Will merge to 'master'.
-* yd/doc-merge-annotated-tag (2013-03-21) 1 commit
- (merged to 'next' on 2013-03-26 at a11162f)
- + Documentation: merging a tag is a special case
-
- Document the 1.7.9 feature to merge a signed tag and keep that in
- the mergetag header in the resulting commit better.
-
- Will merge to 'master'.
-
-
-* yd/doc-is-in-asciidoc (2013-03-21) 1 commit
- (merged to 'next' on 2013-03-26 at a980af2)
- + CodingGuidelines: our documents are in AsciiDoc
-
- Will merge to 'master'.
-
-
-* ap/combine-diff-ignore-whitespace (2013-03-14) 1 commit
- (merged to 'next' on 2013-03-19 at dfb2c98)
- + Allow combined diff to ignore white-spaces
- (this branch is used by ap/combine-diff-coalesce-lost.)
-
- Originally merged to 'next' on 2013-03-18
-
- Teach "diff --cc" output to honor options to ignore various forms
- of whitespace changes.
-
- Will merge to 'master' in the 4th batch (Safe).
-
-
-* jk/checkout-attribute-lookup (2013-03-20) 3 commits
- (merged to 'next' on 2013-03-20 at 43a89e8)
- + t2003: work around path mangling issue on Windows
- (merged to 'next' on 2013-03-19 at b063a55)
- + entry: fix filter lookup
- + t2003: modernize style
-
- Codepath to stream blob object contents directly from the object
- store to filesystem did not use the correct path to find conversion
- filters when writing to temporary files.
-
- Will merge to 'master' in the 4th batch (Safe).
-
-
-* jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits
- (merged to 'next' on 2013-03-19 at e68014a)
- + difftool --dir-diff: symlink all files matching the working tree
- + difftool: avoid double slashes in symlink targets
- + git-difftool(1): fix formatting of --symlink description
-
- Originally merged to 'next' on 2013-03-15
-
- "git difftool --dir-diff" made symlinks to working tree files when
- preparing a temporary directory structure, so that accidental edits
- of these files in the difftool are reflected back to the working
- tree, but the logic to decide when to do so was not quite right.
-
- Will merge to 'master' in the 4th batch (Safe).
-
-
-* nd/magic-pathspecs (2013-03-22) 46 commits
- - fixup
+* nd/magic-pathspecs (2013-03-23) 45 commits
- Rename field "raw" to "_raw" in struct pathspec
- pathspec: support :(glob) syntax
- pathspec: make --literal-pathspecs disable pathspec magic
Migrate the rest of codebase to use "struct pathspec" more.
- Haven't picked up the reroll yet.
-
-
-* rs/archive-zip-raw-compression (2013-03-16) 1 commit
- (merged to 'next' on 2013-03-19 at 8cc1cb3)
- + archive-zip: use deflateInit2() to ask for raw compressed data
-
- Originally merged to 'next' on 2013-03-18
+ Will merge to 'next' after all the dust settles.
- Will merge to 'master' in the 4th batch (Safe).
+* sw/safe-create-leading-dir-race (2013-03-26) 1 commit
+ (merged to 'next' on 2013-03-26 at 744bb50)
+ + safe_create_leading_directories: fix race that could give a false negative
-* sw/safe-create-leading-dir-race (2013-03-17) 2 commits
- - SQUASH???
- - safe_create_leading_directories: fix race that could give a false negative
-
- Will merge to 'next' after squashing in the fix.
+ Will merge to 'master'.
* nd/branch-show-rebase-bisect-state (2013-03-23) 7 commits
- - status, branch: fix the misleading "bisecting" message
- - branch: show more information when HEAD is detached
- - status: show more info than "currently not on any branch"
- - wt-status: move wt_status_get_state() out to wt_status_print()
- - wt-status: split wt_status_state parsing function out
- - wt-status: move strbuf into read_and_strip_branch()
- - Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state
+ (merged to 'next' on 2013-03-26 at cd666f6)
+ + status, branch: fix the misleading "bisecting" message
+ + branch: show more information when HEAD is detached
+ + status: show more info than "currently not on any branch"
+ + wt-status: move wt_status_get_state() out to wt_status_print()
+ + wt-status: split wt_status_state parsing function out
+ + wt-status: move strbuf into read_and_strip_branch()
+ + Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state
- Will merge to 'next'.
+ Will merge to 'master'.
* jc/add-2.0-delete-default (2013-03-08) 3 commits
* jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit
- - match_push_refs(): nobody sets src->peer_ref anymore
+ (merged to 'next' on 2013-03-26 at 9d13c02)
+ + match_push_refs(): nobody sets src->peer_ref anymore
Dead code removal.
* kb/name-hash (2013-02-27) 1 commit
- - name-hash.c: fix endless loop with core.ignorecase=true
+ (merged to 'next' on 2013-03-26 at 750490a)
+ + name-hash.c: fix endless loop with core.ignorecase=true
The code to keep track of what directory names are known to Git on
platforms with case insensitive filesystems can get confused upon
Will merge to 'master' in the 4th batch (Risky).
-* tr/line-log (2013-03-23) 6 commits
+* tr/line-log (2013-03-28) 5 commits
- Speed up log -L... -M
- log -L: :pattern:file syntax to find by funcname
- Implement line-history search (git log -L)
- Export rewrite_parents() for 'log -L'
- - fixup
- Refactor parse_loc
- Rerolled; collides with nd/magic-pathspecs.
+ Rerolled.
+
+ Will merge to 'next'.
* jk/common-make-variables-export-safety (2013-02-25) 1 commit
- - Makefile: make mandir, htmldir and infodir absolute
+ (merged to 'next' on 2013-03-26 at 8b7bb16)
+ + Makefile: make mandir, htmldir and infodir absolute
Make the three variables safer to be exported to submakes by
ensuring that they are full paths so that they can be used as
* jk/pkt-line-cleanup (2013-03-21) 20 commits
- - do not use GIT_TRACE_PACKET=3 in tests
- - remote-curl: always parse incoming refs
- - remote-curl: move ref-parsing code up in file
- - remote-curl: pass buffer straight to get_remote_heads
- - teach get_remote_heads to read from a memory buffer
- - pkt-line: share buffer/descriptor reading implementation
- - pkt-line: provide a LARGE_PACKET_MAX static buffer
- - pkt-line: move LARGE_PACKET_MAX definition from sideband
- - pkt-line: teach packet_read_line to chomp newlines
- - pkt-line: provide a generic reading function with options
- - pkt-line: drop safe_write function
- - pkt-line: move a misplaced comment
- - write_or_die: raise SIGPIPE when we get EPIPE
- - upload-archive: use argv_array to store client arguments
- - upload-archive: do not copy repo name
- - send-pack: prefer prefixcmp over memcmp in receive_status
- - fetch-pack: fix out-of-bounds buffer offset in get_ack
- - upload-pack: remove packet debugging harness
- - upload-pack: do not add duplicate objects to shallow list
- - upload-pack: use get_sha1_hex to parse "shallow" lines
+ (merged to 'next' on 2013-03-26 at 2bb3b75)
+ + do not use GIT_TRACE_PACKET=3 in tests
+ + remote-curl: always parse incoming refs
+ + remote-curl: move ref-parsing code up in file
+ + remote-curl: pass buffer straight to get_remote_heads
+ + teach get_remote_heads to read from a memory buffer
+ + pkt-line: share buffer/descriptor reading implementation
+ + pkt-line: provide a LARGE_PACKET_MAX static buffer
+ + pkt-line: move LARGE_PACKET_MAX definition from sideband
+ + pkt-line: teach packet_read_line to chomp newlines
+ + pkt-line: provide a generic reading function with options
+ + pkt-line: drop safe_write function
+ + pkt-line: move a misplaced comment
+ + write_or_die: raise SIGPIPE when we get EPIPE
+ + upload-archive: use argv_array to store client arguments
+ + upload-archive: do not copy repo name
+ + send-pack: prefer prefixcmp over memcmp in receive_status
+ + fetch-pack: fix out-of-bounds buffer offset in get_ack
+ + upload-pack: remove packet debugging harness
+ + upload-pack: do not add duplicate objects to shallow list
+ + upload-pack: use get_sha1_hex to parse "shallow" lines
Cleans up pkt-line API, implementation and its callers to make them
more robust. Even though I think this change is correct, please
* jc/remove-export-from-config-mak-in (2013-03-05) 3 commits
- - Fix `make install` when configured with autoconf
- - Makefile: do not export mandir/htmldir/infodir
- - config.mak.in: remove unused definitions
+ (merged to 'next' on 2013-03-26 at a789220)
+ + Fix `make install` when configured with autoconf
+ + Makefile: do not export mandir/htmldir/infodir
+ + config.mak.in: remove unused definitions
config.mak.in template had an "export" line to cause a few
common makefile variables to be exported; if they need to be
Will merge to 'master' in the 4th batch (Risky).
-* jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
- - simplify-merges: drop merge from irrelevant side branch
-
- The --simplify-merges logic did not cull irrelevant parents from a
- merge that is otherwise not interesting with respect to the paths
- we are following.
-
- This touches a fairly core part of the revision traversal
- infrastructure; even though I think this change is correct, please
- report immediately if you find any unintended side effect.
-
- Will merge to 'master' in the 2nd batch (Risky).
-
-
* jc/push-2.0-default-to-simple (2013-03-18) 15 commits
- advice: Remove unused advice_push_non_ff_default
- t5570: do not assume the "matching" push is the default
* bc/append-signed-off-by (2013-02-23) 13 commits
- - git-commit: populate the edit buffer with 2 blank lines before s-o-b
- - Unify appending signoff in format-patch, commit and sequencer
- - format-patch: update append_signoff prototype
- - t4014: more tests about appending s-o-b lines
- - sequencer.c: teach append_signoff to avoid adding a duplicate newline
- - sequencer.c: teach append_signoff how to detect duplicate s-o-b
- - sequencer.c: always separate "(cherry picked from" from commit body
- - sequencer.c: require a conforming footer to be preceded by a blank line
- - sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
- - t/t3511: add some tests of 'cherry-pick -s' functionality
- - t/test-lib-functions.sh: allow to specify the tag name to test_commit
- - commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
- - sequencer.c: rework search for start of footer to improve clarity
+ (merged to 'next' on 2013-03-26 at 0e3c79b)
+ + git-commit: populate the edit buffer with 2 blank lines before s-o-b
+ + Unify appending signoff in format-patch, commit and sequencer
+ + format-patch: update append_signoff prototype
+ + t4014: more tests about appending s-o-b lines
+ + sequencer.c: teach append_signoff to avoid adding a duplicate newline
+ + sequencer.c: teach append_signoff how to detect duplicate s-o-b
+ + sequencer.c: always separate "(cherry picked from" from commit body
+ + sequencer.c: require a conforming footer to be preceded by a blank line
+ + sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
+ + t/t3511: add some tests of 'cherry-pick -s' functionality
+ + t/test-lib-functions.sh: allow to specify the tag name to test_commit
+ + commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
+ + sequencer.c: rework search for start of footer to improve clarity
Consolidates codepaths that inspect log-message-to-be and decide to
add a new Signed-off-by line in various commands. I think there is
Even though I think this change is correct, please report
immediately if you find any unintended side effect.
- kb/status-ignored-optim may supersede this.
+ kb/status-ignored-optim supersedes this.
* jc/add-2.0-u-A-sans-pathspec (2013-03-14) 1 commit
entire working tree). With this, we finally change the behaviour
and make it affect the entire working tree in Git 2.0.
+ jn/add-2.0-u-A-sans-pathspec supersedes this.
---------------------------------------------------
-[Discarded]
* ja/directory-attrs (2013-03-20) 1 commit
. trailing slash required in .gitattributes
Now part of jc/directory-attrs-regression-fix.
+* hv/config-from-strbuf (2013-03-10) 4 commits
+ . teach config parsing to read from strbuf
+ . config: make parsing stack struct independent from actual data source
+ . config: drop file pointer validity check in get_next_char()
+ . config: factor out config file stack management
+
+ Was expecting a reroll.
+ $gmane/217811
+
+
+* mb/gitweb-highlight-link-target (2012-12-20) 1 commit
+ . Highlight the link target line in Gitweb using CSS
+
+ Was expecting a reroll.
+ $gmane/211935
+
+
+* mb/remote-default-nn-origin (2012-07-11) 6 commits
+ . Teach get_default_remote to respect remote.default.
+ . Test that plain "git fetch" uses remote.default when on a detached HEAD.
+ . Teach clone to set remote.default.
+ . Teach "git remote" about remote.default.
+ . Teach remote.c about the remote.default configuration setting.
+ . Rename remote.c's default_remote_name static variables.
+
+ When the user does not specify what remote to interact with, we
+ often attempt to use 'origin'. This can now be customized via a
+ configuration variable.
+
+ Was expecting a reroll.
+ $gmane/210151
+
+ "The first remote becomes the default" bit is better done as a
+ separate step.
+
+
+* mg/qnx6 (2013-02-25) 1 commit
+ . QNX: newer QNX 6.x.x is not so crippled
+
+ Not ready for inclusion.
+
+
+* po/help-guides (2013-03-03) 5 commits
+ . help doc: include --guide option description
+ . help.c: add list_common_guides_help() function
+ . help.c: add --guide option
+ . help.c: use OPT_COUNTUP
+ . show 'git help <guide>' usage, with examples
+
+ Give more visibility to "concept guides" to help "git help" users.
+
+ Was (and still is) expecting a reroll.
+ $gmane/217384
+
+
+* jk/t7800-modernize (2013-03-23) 3 commits
+ . t7800: run --dir-diff tests with and without symlinks
+ . t7800: fix tests when difftool uses --no-symlinks
+ . t7800: don't hide grep output
+
+ Superseded by jk/difftool-no-overwrite-on-copyback.
+