What's cooking (2013/12 #02)

Junio C Hamano committed Dec 6, 2013 at 15:41 UTC 8e723df8b6ff1d7fe343b64ac4a9521e5e2d4861
1 file changed +354 -386
whats-cooking.txt
+354 -386
@@ -1,19 +1,18 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2013, #01; Wed, 4)
4 -X-master-at: daad3aa255ec5c08f95867feaaf8f4db03346e70
5 -X-next-at: dd8f0929c2ec5ca88db21a610c529223e471ab6c
3 +Subject: What's cooking in git.git (Dec 2013, #02; Fri, 6)
4 +X-master-at: 077f43447c4931dd2e7890f16e8728f7f7376b87
5 +X-next-at: 083d67c40460583eb33253efa92cc809789c8f9b
6
7 -What's cooking in git.git (Dec 2013, #01; Wed, 4)
7 +What's cooking in git.git (Dec 2013, #02; Fri, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 -There are quite a many topics that have been left over from the
15 -previous round. I haven't rewound the tip of 'next' yet, but I am
16 -planning to do so real soon now, kicking some topics out of it.
14 +The tip of 'next' has been rewound, ejecting a few topics that
15 +used to be there.
16
17 You can find the changes described here in the integration branches
18 of the repositories listed at
@@ -21,183 +20,240 @@ of the repositories listed at
20 http://git-blame.blogspot.com/p/git-public-repositories.html
21
22 --------------------------------------------------
24 -[Graduated to "master"]
23 +[New Topics]
24
26 -* jj/doc-markup-gitcli (2013-11-20) 1 commit
27 - (merged to 'next' on 2013-11-21 at 5e49fa8)
28 - + Documentation/gitcli.txt: fix double quotes
25 +* jn/git-gui-chmod+x (2013-11-25) 1 commit
26 + - git-gui: chmod +x po2msg, windows/git-gui.sh
27
28 + Parked here until I get the same change back from the upstream
29 + git-gui tree.
30
31 -* jj/doc-markup-hints-in-coding-guidelines (2013-11-18) 1 commit
32 - (merged to 'next' on 2013-11-21 at 9c638a6)
33 - + State correct usage of literal examples in man pages in the coding standards
31
32 +* jn/gitk-chmod+x (2013-11-25) 1 commit
33 + - gitk: chmod +x po2msg
34
36 -* jj/log-doc (2013-11-13) 2 commits
37 - (merged to 'next' on 2013-11-21 at cb0ddd2)
38 - + Documentation/git-log.txt: mark-up fix and minor rephasing
39 - + Documentation/git-log: update "--log-size" description
35 + Parked here until I get the same change back from the upstream gitk
36 + tree.
37
38
42 -* jj/rev-list-options-doc (2013-11-18) 2 commits
43 - (merged to 'next' on 2013-11-20 at db975de)
44 - + Documentation/rev-list-options.txt: fix some grammatical issues and typos
45 - + Documentation/rev-list-options.txt: fix mark-up
39 +* jk/name-pack-after-byte-representation (2013-12-05) 2 commits
40 + - pack-objects: name pack files after trailer hash
41 + - sha1write: make buffer const-correct
42 + (this branch is tangled with jk/pack-bitmap.)
43
44
48 -* mi/typofixes (2013-11-12) 3 commits
49 - (merged to 'next' on 2013-11-13 at bb7c2eb)
50 - + contrib: typofixes
51 - + Documentation/technical/http-protocol.txt: typofixes
52 - + typofixes: fix misspelt comments
45 +* nd/negative-pathspec (2013-12-06) 3 commits
46 + - pathspec.c: support adding prefix magic to a pathspec with mnemonic magic
47 + - Support pathspec magic :(exclude) and its short form :!
48 + - glossary-content.txt: rephrase magic signature part
49
50
55 -* nd/glossary-content-pathspec-markup (2013-11-21) 1 commit
56 - (merged to 'next' on 2013-11-21 at 6072636)
57 - + glossary-content.txt: fix documentation of "**" patterns
51 +* nd/transport-positive-depth-only (2013-12-06) 1 commit
52 + - clone,fetch: catch non positive --depth option value
53
54
60 -* tb/doc-fetch-pack-url (2013-11-11) 1 commit
61 - (merged to 'next' on 2013-11-13 at 90d6832)
62 - + git-fetch-pack uses URLs like git-fetch
55 +* zk/difftool-counts (2013-12-06) 1 commit
56 + - difftool: display the number of files in the diff queue in the prompt
57
58 --------------------------------------------------
65 -[New Topics]
59 +[Graduated to "master"]
60
67 -* cl/p4-use-diff-tree (2013-11-22) 1 commit
68 - (merged to 'next' on 2013-11-27 at 11926ce)
69 - + git p4: Use git diff-tree instead of format-patch
61 +* ak/submodule-foreach-quoting (2013-09-27) 1 commit
62 + (merged to 'next' on 2013-10-14 at d77c5f1)
63 + + submodule foreach: skip eval for more than one argument
64
71 - Will merge to 'master'.
65 + A behavior change, but maybe a worthwhile one: "git submodule
66 + foreach" was treating its arguments as part of a single command to
67 + be concatenated and passed to a shell, making writing buggy scripts
68 + too easy.
69
70 + This patch preserves the old "just pass it to the shell" behavior
71 + when a single argument is passed to 'git submodule foreach' and
72 + moves to a new "skip the shell and use the arguments passed
73 + unmolested" behavior when more than one argument is passed.
74
74 -* jn/scripts-updates (2013-11-26) 11 commits
75 - (merged to 'next' on 2013-11-27 at 5056d4d)
76 - + Merge commit '0f2068c4cfb8bc84d338265f03c773e5559e761d' into jn/scripts-updates
77 - + gitk: chmod +x po2msg
78 - + Merge commit '688eb87c9444686180d8f379ab854bcbc34db4db' into jn/scripts-updates
79 - + git-gui: chmod +x po2msg, windows/git-gui.sh
80 - + remove #!interpreter line from shell libraries
81 - + test: replace shebangs with descriptions in shell libraries
82 - + test: make FILEMODE a lazy prereq
83 - + contrib: remove git-p4import
84 - + mark contributed hooks executable
85 - + mark perl test scripts executable
86 - + mark Windows build scripts executable
75 + The old behavior (always concatenating and passing to the shell)
76 + was similar to the 'ssh' command, while the new behavior (switching
77 + on the number of arguments) is what 'xterm -e' does.
78
88 - Will drop the two merges at the tip to gitk and git-gui parts of
89 - the tree, as I've forwarded the relevant patches to the upstream
90 - and expect them to come back later from their respective trees.
79 + May need more thought to make sure this change is advertised well;
80 + scripts that used multiple arguments but added their own extra
81 + layer of quoting are broken, and the users need to adjust them.
82
83
93 -* tr/commit-slab-cleanup (2013-12-02) 3 commits
94 - (merged to 'next' on 2013-12-02 at f545f4d)
95 - + commit-slab: sizeof() the right type in xrealloc
96 - (merged to 'next' on 2013-11-27 at 84d5a73)
97 - + commit-slab: declare functions "static inline"
98 - + commit-slab: document clear_$slabname()
84 +* bc/http-100-continue (2013-10-31) 3 commits
85 + (merged to 'next' on 2013-11-01 at e12ae23)
86 + + remote-curl: fix large pushes with GSSAPI
87 + + remote-curl: pass curl slot_results back through run_slot
88 + + http: return curl's AUTHAVAIL via slot_results
89
90 + Issue "100 Continue" responses to help use of GSS-Negotiate
91 + authentication scheme over HTTP transport when needed.
92
101 -* tr/doc-git-cherry (2013-11-27) 1 commit
102 - (merged to 'next' on 2013-11-27 at d37f520)
103 - + Documentation: revamp git-cherry(1)
93
105 - Will merge to 'master'.
94 +* jc/bundle (2013-11-12) 1 commit
95 + (merged to 'next' on 2013-11-21 at 535b046)
96 + + bundle: use argv-array
97
98 + Code clean-up.
99
108 -* aa/transport-non-positive-depth-only (2013-11-26) 1 commit
109 - (merged to 'next' on 2013-11-27 at b01f05b)
110 - + transport: catch non positive --depth option value
100
112 - Will merge to 'master'.
101 +* jc/merge-base-reflog (2013-10-29) 2 commits
102 + (merged to 'next' on 2013-11-01 at 6114764)
103 + + merge-base: teach "--fork-point" mode
104 + + merge-base: use OPT_CMDMODE and clarify the command line parsing
105
106 + Code the logic in "pull --rebase" that figures out a fork point
107 + from reflog entries in C.
108
115 -* rs/doc-submitting-patches (2013-11-27) 1 commit
116 - (merged to 'next' on 2013-11-27 at f8886f4)
117 - + SubmittingPatches: document how to handle multiple patches
109
119 - Will merge to 'master'.
110 +* jc/ref-excludes (2013-11-01) 5 commits
111 + (merged to 'next' on 2013-11-04 at fac1ed0)
112 + + rev-parse: introduce --exclude=<glob> to tame wildcards
113 + + rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API
114 + + rev-list --exclude: tests
115 + + document --exclude option
116 + + revision: introduce --exclude=<glob> to tame wildcards
117
118 + People often wished a way to tell "git log --branches" (and "git
119 + log --remotes --not --branches") to exclude some local branches
120 + from the expansion of "--branches" (similarly for "--tags", "--all"
121 + and "--glob=<pattern>"). Now they have one.
122
122 -* cc/starts-n-ends-with (2013-12-04) 4 commits
123 - - replace {pre,suf}fixcmp() with {starts,ends}_with()
124 - - strbuf: introduce starts_with() and ends_with()
125 - - builtin/remote: remove postfixcmp() and use suffixcmp() instead
126 - - environment: normalize use of prefixcmp() by removing " != 0"
127 - (this branch is used by cc/starts-n-ends-with-endgame.)
123
129 - Remove a few duplicate implementations of prefix/suffix comparison
130 - functions, and rename them to starts_with and ends_with.
124 +* jh/loose-object-dirs-creation-race (2013-10-28) 1 commit
125 + (merged to 'next' on 2013-11-01 at 3169b0f)
126 + + sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
127
132 - This conflicts with a part of cc/remote-remove-redundant-postfixcmp
133 - topic (I think it actually subsumes it).
128 + Two processes creating loose objects at the same time could have
129 + failed unnecessarily when they happened to have created objects
130 + whose names share the same first byte.
131
132
136 -* cc/starts-n-ends-with-endgame (2013-12-04) 1 commit
137 - - strbuf: remove prefixcmp() and suffixcmp()
138 - (this branch uses cc/starts-n-ends-with.)
133 +* jk/remove-experimental-loose-object-support (2013-11-21) 1 commit
134 + (merged to 'next' on 2013-11-21 at d37bab7)
135 + + drop support for "experimental" loose objects
136
140 - Endgame for the above topic, that needs to be evil-merged with
141 - other topics that introduce new uses of prefix/suffix-cmp
142 - functions.
137 + Read-only support for experimental loose-object format, in which
138 + users could optionally choose to write in their loose objects for a
139 + short while between v1.4.3 to v1.5.3 era, has been dropped.
140
141
145 -* jc/push-refmap (2013-12-04) 3 commits
146 - - push: also use "upstream" mapping when pushing a single ref
147 - - push: use remote.$name.push as a refmap
148 - - builtin/push.c: use strbuf instead of manual allocation
142 +* jk/replace-perl-in-built-scripts (2013-10-29) 1 commit
143 + (merged to 'next' on 2013-11-01 at 2384e29)
144 + + use @@PERL@@ in built scripts
145
150 - Make "git push origin master" update the same ref that would be
151 - updated by our 'master' when "git push origin" (no refspecs) is run
152 - while the 'master' branch is checked out, which makes "git push"
153 - more symmetric to "git fetch" and more usable for the triangular
154 - workflow.
146
147 +* jk/robustify-parse-commit (2013-10-24) 6 commits
148 + (merged to 'next' on 2013-11-01 at 2bfbaab)
149 + + checkout: do not die when leaving broken detached HEAD
150 + + use parse_commit_or_die instead of custom message
151 + + use parse_commit_or_die instead of segfaulting
152 + + assume parse_commit checks for NULL commit
153 + + assume parse_commit checks commit->object.parsed
154 + + log_tree_diff: die when we fail to parse a commit
155
157 -* jk/t5000-gzip-simplify (2013-12-04) 1 commit
158 - - t5000: simplify gzip prerequisite checks
156
160 - Test fix.
157 +* jk/two-way-merge-corner-case-fix (2013-11-04) 3 commits
158 + (merged to 'next' on 2013-11-04 at 79f4fb0)
159 + + t1005: add test for "read-tree --reset -u A B"
160 + + t1005: reindent
161 + + unpack-trees: fix "read-tree -u --reset A B" with conflicted index
162
163 + Fix a rather longstanding corner-case bug in twoway "reset to
164 + there" merge, which is most often seen in "git am --abort".
165
163 -* js/gnome-keyring (2013-12-04) 1 commit
164 - - contrib/git-credential-gnome-keyring.c: small stylistic cleanups
166
166 - Style fix.
167 +* jl/submodule-update-retire-orig-flags (2013-11-11) 1 commit
168 + (merged to 'next' on 2013-11-13 at 4b70d15)
169 + + submodule update: remove unnecessary orig_flags variable
170
171 + Code clean-up.
172
169 -* kn/gitweb-extra-branch-refs (2013-12-04) 4 commits
170 - - gitweb: Denote non-heads, non-remotes branches
171 - - gitweb: Add a feature for adding more branch refs
172 - - gitweb: Return plain booleans in validation methods
173 - - gitweb: Move check-ref-format code into separate function
173
175 - Allow gitweb to be configured to show refs out of refs/heads/ as if
176 - they were branches.
174 +* jn/mediawiki-makefile-updates (2013-11-11) 4 commits
175 + (merged to 'next' on 2013-11-13 at 71c8d20)
176 + + git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace
177 + + git-remote-mediawiki build: make 'install' command configurable
178 + + git-remote-mediawiki: honor DESTDIR in "make install"
179 + + git-remote-mediawiki: do not remove installed files in "clean" target
180
181 + Build and installation procedure clean-up.
182
179 -* mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
180 - - mv: let 'git mv file no-such-dir/' error out
183
184 +* jn/perl-lib-extra (2013-11-18) 2 commits
185 + (merged to 'next' on 2013-11-20 at 8c90afae)
186 + + Makefile: add PERLLIB_EXTRA variable that adds to default perl path
187 + + Makefile: rebuild perl scripts when perl paths change
188
183 -* nd/gettext-vsnprintf (2013-12-04) 1 commit
184 - - gettext.c: detect the vsnprintf bug at runtime
189 + The new PERLLIB_EXTRA makefile variable can be used to specify
190 + additional directories Perl modules (e.g. the ones necessary to run
191 + git-svn) are installed on the platform when building.
192
193
187 -* tr/send-email-ssl (2013-12-04) 3 commits
188 - - send-email: set SSL options through IO::Socket::SSL::set_client_defaults
189 - - send-email: --smtp-ssl-cert-path takes an argument
190 - - send-email: pass Debug to Net::SMTP::SSL::new
194 +* nd/magic-pathspec (2013-11-20) 1 commit
195 + (merged to 'next' on 2013-11-21 at f914a30)
196 + + diff: restrict pathspec limitations to diff b/f case only
197
192 ---------------------------------------------------
193 -[Stalled]
198 + "git diff -- ':(icase)makefile'" was unnecessarily rejected at the
199 + command line parser.
200
195 -* jl/commit-v-strip-marker (2013-11-19) 1 commit
196 - - commit -v: strip diffs and submodule shortlogs from the commit message
201 + Needs to be merged to 'maint' later.
202 +
203 +
204 +* nd/wt-status-align-i18n (2013-11-06) 1 commit
205 + (merged to 'next' on 2013-11-13 at b033aa0)
206 + + wt-status: take the alignment burden off translators
207 +
208 + An attempt to automatically align the names in the "git status"
209 + output, taking the display width of (translated) section labels
210 + into account.
211 +
212 +
213 +* nv/parseopt-opt-arg (2013-10-31) 2 commits
214 + (merged to 'next' on 2013-11-01 at cd2afd9)
215 + + rev-parse --parseopt: add the --stuck-long mode
216 + + Use the word 'stuck' instead of 'sticked'
217 +
218 + Enhance "rev-parse --parseopt" mode to help parsing options with
219 + an optional parameter.
220 +
221 +
222 +* rh/remote-hg-bzr-updates (2013-11-18) 8 commits
223 + (merged to 'next' on 2013-11-20 at a36f3c4)
224 + + remote-bzr, remote-hg: fix email address regular expression
225 + + test-hg.sh: help user correlate verbose output with email test
226 + + test-hg.sh: fix duplicate content strings in author tests
227 + + test-hg.sh: avoid obsolete 'test' syntax
228 + + test-hg.sh: eliminate 'local' bashism
229 + + test-bzr.sh, test-hg.sh: prepare for change to push.default=simple
230 + + test-bzr.sh, test-hg.sh: allow running from any dir
231 + + test-lib.sh: convert $TEST_DIRECTORY to an absolute path
232 +
233 +
234 +* rr/for-each-ref-decoration (2013-11-19) 6 commits
235 + (merged to 'next' on 2013-11-21 at ee7b0ed)
236 + + for-each-ref: avoid color leakage
237 + + for-each-ref: introduce %(color:...) for color
238 + + for-each-ref: introduce %(upstream:track[short])
239 + + for-each-ref: introduce %(HEAD) asterisk marker
240 + + t6300 (for-each-ref): don't hardcode SHA-1 hexes
241 + + t6300 (for-each-ref): clearly demarcate setup
242
198 - Perhaps another reroll for core.commentChar coming?
243 + "git for-each-ref --format=..." learned a few formatting directives;
244 + e.g. "%(color:red)%(HEAD)%(color:reset) %(refname:short) %(subject)".
245
246
247 +* sb/sha1-loose-object-info-check-existence (2013-11-06) 1 commit
248 + (merged to 'next' on 2013-11-06 at 1ea5b18)
249 + + sha1_loose_object_info(): do not return success on missing object
250 +
251 + "git cat-file --batch-check=ok" did not check the existence of the
252 + named object.
253 +
254 +--------------------------------------------------
255 +[Stalled]
256 +
257 * fc/transport-helper-fixes (2013-11-13) 12 commits
258 - remote-bzr: support the new 'force' option
259 - transport-helper: add support to delete branches
@@ -280,6 +336,7 @@ of the repositories listed at
336 - pack-objects: refactor the packing list
337 - revindex: export new APIs
338 - sha1write: make buffer const-correct
339 + (this branch is tangled with jk/name-pack-after-byte-representation.)
340
341 Borrows the bitmap index into packfiles from JGit to speed up
342 enumeration of objects involved in a commit range without having to
@@ -372,250 +429,209 @@ of the repositories listed at
429 --------------------------------------------------
430 [Cooking]
431
375 -* tb/clone-ssh-with-colon-for-port (2013-12-04) 10 commits
376 - - git_connect(): use common return point
377 - - connect.c: refactor url parsing
378 - - git_connect(): refactor the port handling for ssh
379 - - git fetch: support host:/~repo
380 - - t5500: add test cases for diag-url
381 - - git fetch-pack: add --diag-url
382 - - git_connect: factor out discovery of the protocol and its parts
383 - - git_connect: remove artificial limit of a remote command
384 - - t5601: add tests for ssh
385 - - t5601: remove clear_ssh, refactor setup_ssh_wrapper
386 -
387 -
388 -
389 -* cn/thin-push-capability (2013-11-25) 1 commit
390 - - send-pack: don't send a thin pack to a server which doesn't support it
391 -
392 - Allow receive-pack to insist on receiving a fat pack from "git
393 - push" clients.
432 +* jl/commit-v-strip-marker (2013-12-05) 1 commit
433 + - commit -v: strip diffs and submodule shortlogs from the commit message
434
395 - Will merge to 'next'.
435
436 +* cl/p4-use-diff-tree (2013-11-22) 1 commit
437 + (merged to 'next' on 2013-12-06 at fc3c89e)
438 + + git p4: Use git diff-tree instead of format-patch
439
398 -* jn/perl-lib-extra (2013-11-18) 2 commits
399 - (merged to 'next' on 2013-11-20 at 8c90afae)
400 - + Makefile: add PERLLIB_EXTRA variable that adds to default perl path
401 - + Makefile: rebuild perl scripts when perl paths change
440 + Originally merged to 'next' on 2013-11-27
441
442 Will merge to 'master'.
443
444
406 -* jk/remove-experimental-loose-object-support (2013-11-21) 1 commit
407 - (merged to 'next' on 2013-11-21 at d37bab7)
408 - + drop support for "experimental" loose objects
445 +* jn/scripts-updates (2013-11-26) 7 commits
446 + (merged to 'next' on 2013-12-06 at 60a7026)
447 + + remove #!interpreter line from shell libraries
448 + + test: replace shebangs with descriptions in shell libraries
449 + + test: make FILEMODE a lazy prereq
450 + + contrib: remove git-p4import
451 + + mark contributed hooks executable
452 + + mark perl test scripts executable
453 + + mark Windows build scripts executable
454
455 Will merge to 'master'.
456
457
413 -* nd/magic-pathspec (2013-11-20) 1 commit
414 - (merged to 'next' on 2013-11-21 at f914a30)
415 - + diff: restrict pathspec limitations to diff b/f case only
458 +* tr/commit-slab-cleanup (2013-12-02) 3 commits
459 + (merged to 'next' on 2013-12-06 at faee247)
460 + + commit-slab: sizeof() the right type in xrealloc
461 + + commit-slab: declare functions "static inline"
462 + + commit-slab: document clear_$slabname()
463 +
464 + Originally merged to 'next' on 2013-12-02
465
466 Will merge to 'master'.
467
468
420 -* jc/bundle (2013-11-12) 1 commit
421 - (merged to 'next' on 2013-11-21 at 535b046)
422 - + bundle: use argv-array
469 +* tr/doc-git-cherry (2013-11-27) 1 commit
470 + (merged to 'next' on 2013-12-06 at 9a1ba7a)
471 + + Documentation: revamp git-cherry(1)
472
424 - Code clean-up.
473 + Originally merged to 'next' on 2013-11-27
474
475 Will merge to 'master'.
476
477
429 -* jk/remove-deprecated (2013-12-03) 5 commits
430 - (merged to 'next' on 2013-12-03 at bc1da41)
431 - + stop installing git-tar-tree link
432 - (merged to 'next' on 2013-11-13 at c324792)
433 - + peek-remote: remove deprecated alias of ls-remote
434 - + lost-found: remove deprecated command
435 - + tar-tree: remove deprecated command
436 - + repo-config: remove deprecated alias for "git config"
437 -
438 - Will cook in 'next' until a distant future.
439 -
440 -
441 -* rh/remote-hg-bzr-updates (2013-11-18) 8 commits
442 - (merged to 'next' on 2013-11-20 at a36f3c4)
443 - + remote-bzr, remote-hg: fix email address regular expression
444 - + test-hg.sh: help user correlate verbose output with email test
445 - + test-hg.sh: fix duplicate content strings in author tests
446 - + test-hg.sh: avoid obsolete 'test' syntax
447 - + test-hg.sh: eliminate 'local' bashism
448 - + test-bzr.sh, test-hg.sh: prepare for change to push.default=simple
449 - + test-bzr.sh, test-hg.sh: allow running from any dir
450 - + test-lib.sh: convert $TEST_DIRECTORY to an absolute path
478 +* rs/doc-submitting-patches (2013-11-27) 1 commit
479 + (merged to 'next' on 2013-12-06 at 0628818)
480 + + SubmittingPatches: document how to handle multiple patches
481
452 - The patch that used to be at the bottom of the series has been
453 - merged to v1.8.5, as it fixes a minor regression and has also been
454 - cherry-picked to 'maint'.
482 + Originally merged to 'next' on 2013-11-27
483
484 Will merge to 'master'.
485
486
459 -* tr/config-multivalue-lift-max (2013-11-13) 1 commit
460 - (merged to 'next' on 2013-11-20 at d18aac9)
461 - + config: arbitrary number of matches for --unset and --replace-all
462 -
463 - Will merge to 'master'.
464 -
487 +* cc/starts-n-ends-with (2013-12-05) 4 commits
488 + - replace {pre,suf}fixcmp() with {starts,ends}_with()
489 + - strbuf: introduce starts_with() and ends_with()
490 + - builtin/remote: remove postfixcmp() and use suffixcmp() instead
491 + - environment: normalize use of prefixcmp() by removing " != 0"
492 + (this branch is used by cc/starts-n-ends-with-endgame; uses jk/remove-deprecated.)
493
466 -* kb/doc-exclude-directory-semantics (2013-11-07) 1 commit
467 - (merged to 'next' on 2013-11-13 at 06e5645)
468 - + gitignore.txt: clarify recursive nature of excluded directories
494 + Remove a few duplicate implementations of prefix/suffix comparison
495 + functions, and rename them to starts_with and ends_with.
496
470 - Will kick back to 'pu' to replace with a newer reroll ($gmane/237814
471 - looked OK but there seems to have some loose ends in the discussion).
497 + To avoid unnecessary merge conflicts, this is queued on top of
498 + jk/remove-deprecated topic.
499
500
474 -* jc/create-directories-microopt (2013-11-11) 1 commit
475 - - checkout: most of the time we have good leading directories
501 +* cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
502 + - strbuf: remove prefixcmp() and suffixcmp()
503 + (this branch uses cc/starts-n-ends-with and jk/remove-deprecated.)
504
477 - Of unknown value until tested on non-Linux platforms (especially
478 - Windows).
505 + Endgame for the above topic, that needs to be evil-merged with
506 + other topics that introduce new uses of prefix/suffix-cmp
507 + functions.
508
480 - Will hold.
509
510 +* jc/push-refmap (2013-12-04) 3 commits
511 + - push: also use "upstream" mapping when pushing a single ref
512 + - push: use remote.$name.push as a refmap
513 + - builtin/push.c: use strbuf instead of manual allocation
514
483 -* jl/submodule-update-retire-orig-flags (2013-11-11) 1 commit
484 - (merged to 'next' on 2013-11-13 at 4b70d15)
485 - + submodule update: remove unnecessary orig_flags variable
515 + Make "git push origin master" update the same ref that would be
516 + updated by our 'master' when "git push origin" (no refspecs) is run
517 + while the 'master' branch is checked out, which makes "git push"
518 + more symmetric to "git fetch" and more usable for the triangular
519 + workflow.
520
487 - Code clean-up.
521
489 - Will merge to 'master'.
522 +* jk/t5000-gzip-simplify (2013-12-04) 1 commit
523 + - t5000: simplify gzip prerequisite checks
524
525 + Test fix.
526
492 -* jn/mediawiki-makefile-updates (2013-11-11) 4 commits
493 - (merged to 'next' on 2013-11-13 at 71c8d20)
494 - + git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace
495 - + git-remote-mediawiki build: make 'install' command configurable
496 - + git-remote-mediawiki: honor DESTDIR in "make install"
497 - + git-remote-mediawiki: do not remove installed files in "clean" target
527
499 - Build and Installation procedure clean-up.
528 +* js/gnome-keyring (2013-12-04) 1 commit
529 + - contrib/git-credential-gnome-keyring.c: small stylistic cleanups
530
501 - Will merge to 'master'.
531 + Style fix.
532
533
504 -* cc/remote-remove-redundant-postfixcmp (2013-12-04) 3 commits
505 - (merged to 'next' on 2013-12-04 at dd8f092)
506 - + Revert 76e08227e5bc8b6e3d208da965d2421911d25ae3
507 - (merged to 'next' on 2013-11-06 at 7b45219)
508 - + Rename suffixcmp() to has_suffix() and invert its result
509 - (merged to 'next' on 2013-11-04 at 6408502)
510 - + builtin/remote: remove postfixcmp() and use suffixcmp() instead
534 +* kn/gitweb-extra-branch-refs (2013-12-04) 4 commits
535 + - gitweb: Denote non-heads, non-remotes branches
536 + - gitweb: Add a feature for adding more branch refs
537 + - gitweb: Return plain booleans in validation methods
538 + - gitweb: Move check-ref-format code into separate function
539
512 - Minor code clean-up.
540 + Allow gitweb to be configured to show refs out of refs/heads/ as if
541 + they were branches.
542
514 - Will drop, as cc/starts-n-ends-with contains the same.
543
544 +* mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
545 + - mv: let 'git mv file no-such-dir/' error out
546
517 -* nd/wt-status-align-i18n (2013-11-06) 1 commit
518 - (merged to 'next' on 2013-11-13 at b033aa0)
519 - + wt-status: take the alignment burden off translators
547
521 - An attempt to automatically align the names in the "git status"
522 - output, taking the display width of (translated) section labels
523 - into account.
548 +* nd/gettext-vsnprintf (2013-12-04) 1 commit
549 + - gettext.c: detect the vsnprintf bug at runtime
550
525 - Will merge to 'master'.
551
552 +* tr/send-email-ssl (2013-12-04) 3 commits
553 + - send-email: set SSL options through IO::Socket::SSL::set_client_defaults
554 + - send-email: --smtp-ssl-cert-path takes an argument
555 + - send-email: pass Debug to Net::SMTP::SSL::new
556
528 -* sb/sha1-loose-object-info-check-existence (2013-11-06) 1 commit
529 - (merged to 'next' on 2013-11-06 at 1ea5b18)
530 - + sha1_loose_object_info(): do not return success on missing object
557
532 - "git cat-file --batch-check=ok" did not check the existence of the
533 - named object.
558 +* tb/clone-ssh-with-colon-for-port (2013-12-04) 10 commits
559 + - git_connect(): use common return point
560 + - connect.c: refactor url parsing
561 + - git_connect(): refactor the port handling for ssh
562 + - git fetch: support host:/~repo
563 + - t5500: add test cases for diag-url
564 + - git fetch-pack: add --diag-url
565 + - git_connect: factor out discovery of the protocol and its parts
566 + - git_connect: remove artificial limit of a remote command
567 + - t5601: add tests for ssh
568 + - t5601: remove clear_ssh, refactor setup_ssh_wrapper
569
535 - Will merge to 'master'.
570
571 +* cn/thin-push-capability (2013-11-25) 1 commit
572 + (merged to 'next' on 2013-12-06 at a7ae524)
573 + + send-pack: don't send a thin pack to a server which doesn't support it
574
538 -* gj/push-more-verbose-advice (2013-11-13) 2 commits
539 - (merged to 'next' on 2013-11-21 at df10213)
540 - + push: switch default from "matching" to "simple"
541 - (merged to 'next' on 2013-11-21 at 4ee3d4a)
542 - + push: enhance unspecified push default warning
575 + Allow receive-pack to insist on receiving a fat pack from "git
576 + push" clients.
577
544 - Explain 'simple' and 'matching' in "git push" advice message; the
545 - topmost patch is a rebase of jc/push-2.0-default-to-simple on top
546 - of it.
578 + Will merge to 'master'.
579
548 - Will merge the bottom to 'master' and cook the other in 'next'.
580
581 +* jk/remove-deprecated (2013-12-05) 6 commits
582 + (merged to 'next' on 2013-12-06 at c0c91a2)
583 + + Sync with 1.8.5
584 + + stop installing git-tar-tree link
585 + + peek-remote: remove deprecated alias of ls-remote
586 + + lost-found: remove deprecated command
587 + + tar-tree: remove deprecated command
588 + + repo-config: remove deprecated alias for "git config"
589 + (this branch is used by cc/starts-n-ends-with and cc/starts-n-ends-with-endgame.)
590
551 -* rr/for-each-ref-decoration (2013-11-19) 6 commits
552 - (merged to 'next' on 2013-11-21 at ee7b0ed)
553 - + for-each-ref: avoid color leakage
554 - + for-each-ref: introduce %(color:...) for color
555 - + for-each-ref: introduce %(upstream:track[short])
556 - + for-each-ref: introduce %(HEAD) asterisk marker
557 - + t6300 (for-each-ref): don't hardcode SHA-1 hexes
558 - + t6300 (for-each-ref): clearly demarcate setup
591 + Originally merged to 'next' on 2013-12-03
592
593 Will merge to 'master'.
594
595
563 -* jk/two-way-merge-corner-case-fix (2013-11-04) 3 commits
564 - (merged to 'next' on 2013-11-04 at 79f4fb0)
565 - + t1005: add test for "read-tree --reset -u A B"
566 - + t1005: reindent
567 - + unpack-trees: fix "read-tree -u --reset A B" with conflicted index
596 +* tr/config-multivalue-lift-max (2013-12-06) 1 commit
597 + (merged to 'next' on 2013-12-06 at 92afee2)
598 + + config: arbitrary number of matches for --unset and --replace-all
599
569 - Fix a rather longstanding corner-case bug in twoway "reset to
570 - there" merge, which is most often seen in "git am --abort".
600 + Originally merged to 'next' on 2013-11-20
601
602 Will merge to 'master'.
603
604
575 -* jc/ref-excludes (2013-11-01) 5 commits
576 - (merged to 'next' on 2013-11-04 at fac1ed0)
577 - + rev-parse: introduce --exclude=<glob> to tame wildcards
578 - + rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API
579 - + rev-list --exclude: tests
580 - + document --exclude option
581 - + revision: introduce --exclude=<glob> to tame wildcards
582 -
583 - People often wished a way to tell "git log --branches" (and "git
584 - log --remotes --not --branches") to exclude some local branches
585 - from the expansion of "--branches" (similarly for "--tags", "--all"
586 - and "--glob=<pattern>"). Now they have one.
587 -
588 - Will merge to 'master'.
605 +* kb/doc-exclude-directory-semantics (2013-11-07) 1 commit
606 + - gitignore.txt: clarify recursive nature of excluded directories
607
608 + Originally merged to 'next' on 2013-11-13
609
591 -* jk/replace-perl-in-built-scripts (2013-10-29) 1 commit
592 - (merged to 'next' on 2013-11-01 at 2384e29)
593 - + use @@PERL@@ in built scripts
610 + Kicked back to 'pu' to replace with a newer reroll ($gmane/237814
611 + looked OK but there seems to have some loose ends in the
612 + discussion).
613
595 - Will merge to 'master'.
614
615 +* jc/create-directories-microopt (2013-11-11) 1 commit
616 + - checkout: most of the time we have good leading directories
617
598 -* jh/loose-object-dirs-creation-race (2013-10-28) 1 commit
599 - (merged to 'next' on 2013-11-01 at 3169b0f)
600 - + sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
618 + Of unknown value until tested on non-Linux platforms (especially
619 + Windows).
620
602 - Will merge to 'master'.
621 + Will hold.
622
623
605 -* th/reflog-annotated-tag (2013-10-28) 1 commit
606 - (merged to 'next' on 2013-11-01 at 8b154cc)
607 - + reflog: handle lightweight and annotated tags equally
624 +* gj/push-more-verbose-advice (2013-11-13) 1 commit
625 + (merged to 'next' on 2013-12-06 at 574b18a)
626 + + push: switch default from "matching" to "simple"
627
609 - "git log -g $annotated_tag", when there is no reflog history, should
610 - have produced a single output entry (i.e. the ref creation event),
611 - but instead showed the history leading to the tag.
628 + Originally merged to 'next' on 2013-11-21
629
613 - Broken at the design level. Any reflog entry that points at a non
614 - commit needs to be handled with new code that does not exist yet,
615 - and lifting the "this code handles only commits" without adding
616 - such code does not solve anything.
630 + Explain 'simple' and 'matching' in "git push" advice message; the
631 + topmost patch is a rebase of jc/push-2.0-default-to-simple on top
632 + of it.
633
618 - Will discard.
634 + Will cook in 'next'.
635
636
637 * tr/merge-recursive-index-only (2013-10-28) 3 commits
@@ -626,43 +642,8 @@ of the repositories listed at
642 Will hold until using script appears.
643
644
629 -* bc/http-100-continue (2013-10-31) 3 commits
630 - (merged to 'next' on 2013-11-01 at e12ae23)
631 - + remote-curl: fix large pushes with GSSAPI
632 - + remote-curl: pass curl slot_results back through run_slot
633 - + http: return curl's AUTHAVAIL via slot_results
634 -
635 - Issue "100 Continue" responses to help use of GSS-Negotiate
636 - authentication scheme over HTTP transport when needed.
637 -
638 - Will merge to 'master'.
639 -
640 -
641 -* jc/merge-base-reflog (2013-10-29) 2 commits
642 - (merged to 'next' on 2013-11-01 at 6114764)
643 - + merge-base: teach "--fork-point" mode
644 - + merge-base: use OPT_CMDMODE and clarify the command line parsing
645 -
646 - Code the logic in "pull --rebase" that figures out a fork point
647 - from reflog entries in C.
648 -
649 - Will merge to 'master'.
650 -
651 -
652 -* jk/robustify-parse-commit (2013-10-24) 6 commits
653 - (merged to 'next' on 2013-11-01 at 2bfbaab)
654 - + checkout: do not die when leaving broken detached HEAD
655 - + use parse_commit_or_die instead of custom message
656 - + use parse_commit_or_die instead of segfaulting
657 - + assume parse_commit checks for NULL commit
658 - + assume parse_commit checks commit->object.parsed
659 - + log_tree_diff: die when we fail to parse a commit
660 -
661 - Will merge to 'master'.
662 -
663 -
645 * mh/fetch-tags-in-addition-to-normal-refs (2013-10-30) 23 commits
665 - (merged to 'next' on 2013-11-06 at 6932893)
646 + (merged to 'next' on 2013-12-06 at 3b9c44a)
647 + fetch: improve the error messages emitted for conflicting refspecs
648 + handle_duplicate(): mark error message for translation
649 + ref_remote_duplicates(): extract a function handle_duplicate()
@@ -687,6 +668,8 @@ of the repositories listed at
668 + t5510: prepare test refs more straightforwardly
669 + t5510: use the correct tag name in test
670
671 + Originally merged to 'next' on 2013-11-06
672 +
673 The "--tags" option to "git fetch" used to be literally a synonym to
674 a "refs/tags/*:refs/tags/*" refspec, which meant that (1) as an
675 explicit refspec given from the command line, it silenced the lazy
@@ -701,94 +684,55 @@ of the repositories listed at
684 remote-tracking refs the local has are missing the remote
685 counterpart.
686
704 - Will cook in 'next'.
705 -
706 -
707 -* nv/parseopt-opt-arg (2013-10-31) 2 commits
708 - (merged to 'next' on 2013-11-01 at cd2afd9)
709 - + rev-parse --parseopt: add the --stuck-long mode
710 - + Use the word 'stuck' instead of 'sticked'
711 -
712 - Enhance "rev-parse --parseopt" mode to help parsing options with
713 - an optional parameter.
714 -
715 - Will merge to 'master'.
716 -
717 -
718 -* ak/submodule-foreach-quoting (2013-09-27) 1 commit
719 - (merged to 'next' on 2013-10-14 at d77c5f1)
720 - + submodule foreach: skip eval for more than one argument
721 -
722 - A behavior change, but a worthwhile one: "git submodule foreach"
723 - was treating its arguments as part of a single command to be
724 - concatenated and passed to a shell, making writing buggy
725 - scripts too easy.
726 -
727 - This patch preserves the old "just pass it to the shell" behavior
728 - when a single argument is passed to 'git submodule foreach' and
729 - moves to a new "skip the shell and use the arguments passed
730 - unmolested" behavior when more than one argument is passed.
731 -
732 - The old behavior (always concatenating and passing to the shell)
733 - was similar to the 'ssh' command, while the new behavior (switching
734 - on the number of arguments) is what 'xterm -e' does.
735 -
736 - May need more thought to make sure this change is advertised well
737 - so that scripts that used multiple arguments but added their own
738 - extra layer of quoting are not broken.
739 -
687 Will merge to 'master'.
688
689
690 * kb/fast-hashmap (2013-11-18) 14 commits
744 - - read-cache.c: fix memory leaks caused by removed cache entries
745 - - builtin/update-index.c: cleanup update_one
746 - - fix 'git update-index --verbose --again' output
747 - - remove old hash.[ch] implementation
748 - - name-hash.c: remove cache entries instead of marking them CE_UNHASHED
749 - - name-hash.c: use new hash map implementation for cache entries
750 - - name-hash.c: remove unreferenced directory entries
751 - - name-hash.c: use new hash map implementation for directories
752 - - diffcore-rename.c: use new hash map implementation
753 - - diffcore-rename.c: simplify finding exact renames
754 - - diffcore-rename.c: move code around to prepare for the next patch
755 - - buitin/describe.c: use new hash map implementation
756 - - add a hashtable implementation that supports O(1) removal
757 - - submodule: don't access the .gitmodules cache entry after removing it
691 + (merged to 'next' on 2013-12-06 at f90be3d)
692 + + read-cache.c: fix memory leaks caused by removed cache entries
693 + + builtin/update-index.c: cleanup update_one
694 + + fix 'git update-index --verbose --again' output
695 + + remove old hash.[ch] implementation
696 + + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
697 + + name-hash.c: use new hash map implementation for cache entries
698 + + name-hash.c: remove unreferenced directory entries
699 + + name-hash.c: use new hash map implementation for directories
700 + + diffcore-rename.c: use new hash map implementation
701 + + diffcore-rename.c: simplify finding exact renames
702 + + diffcore-rename.c: move code around to prepare for the next patch
703 + + buitin/describe.c: use new hash map implementation
704 + + add a hashtable implementation that supports O(1) removal
705 + + submodule: don't access the .gitmodules cache entry after removing it
706
707 Improvements to our hash table to get it to meet the needs of the
708 msysgit fscache project, with some nice performance improvements.
709
762 - The preparatory clean-up to submodule from Jens is at the bottom. I
763 - also squashed in a fix-up by Karsten found at $gmane/236468 (please
764 - double-check the result).
765 -
766 - Will merge to 'next'.
710 + Will cook in 'next'.
711
712
713 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
770 - (merged to 'next' on 2013-10-28 at d8cdf30)
714 + (merged to 'next' on 2013-12-06 at ead2ec8)
715 + git add: -u/-A now affects the entire working tree
716
717 Will cook in 'next' until Git 2.0.
718
719
720 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
777 - (merged to 'next' on 2013-10-28 at f1bec96)
721 + (merged to 'next' on 2013-12-06 at ae18007)
722 + core.statinfo: remove as promised in Git 2.0
723
724 Will cook in 'next' until Git 2.0.
725
726
727 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
784 - (merged to 'next' on 2013-10-28 at 3153a9e)
728 + (merged to 'next' on 2013-12-06 at 6fad61c)
729 + push: switch default from "matching" to "simple"
730
731 Will cook in 'next' until Git 2.0.
732
733
734 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
791 - (merged to 'next' on 2013-10-28 at 5fd76ec)
735 + (merged to 'next' on 2013-12-06 at fbaa75a)
736 + git add <pathspec>... defaults to "-A"
737
738 Updated endgame for "git add <pathspec>" that defaults to "--all"
@@ -798,7 +742,31 @@ of the repositories listed at
742
743
744 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
801 - (merged to 'next' on 2013-11-01 at 5fc26e4)
745 + (merged to 'next' on 2013-12-06 at 083d67c)
746 + diff: remove "diff-files -q" in a version of Git in a distant future
747
748 Will cook in 'next' until a distant future.
749 +
750 +--------------------------------------------------
751 +[Discarded]
752 +
753 +* aa/transport-non-positive-depth-only (2013-11-26) 1 commit
754 + . transport: catch non positive --depth option value
755 +
756 +
757 +* cc/remote-remove-redundant-postfixcmp (2013-11-06) 2 commits
758 + . Rename suffixcmp() to has_suffix() and invert its result
759 + . builtin/remote: remove postfixcmp() and use suffixcmp() instead
760 +
761 +
762 +* th/reflog-annotated-tag (2013-10-28) 1 commit
763 + . reflog: handle lightweight and annotated tags equally
764 +
765 + "git log -g $annotated_tag", when there is no reflog history, should
766 + have produced a single output entry (i.e. the ref creation event),
767 + but instead showed the history leading to the tag.
768 +
769 + Broken at the design level. Any reflog entry that points at a non
770 + commit needs to be handled with new code that does not exist yet,
771 + and lifting the "this code handles only commits" without adding
772 + such code does not solve anything.