What's cooking (2013/12 #04)
Junio C Hamano committed
Dec 17, 2013 at 15:57 UTC
5d352bc39593f6677a609dc24cdfcc3f509d0f6c
1 file changed
+287
-342
whats-cooking.txt
+287
-342
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Dec 2013, #03; Thu, 12)
4
-X-master-at: d7aced95cd681b761468635f8d2a8b82d7ed26fd
5
-X-next-at: aaad5e77ff44962de7a1fccb0c9def6b6dd228aa
3
+Subject: What's cooking in git.git (Dec 2013, #04; Tue, 17)
4
+X-master-at: 7794a680e63a2a11b73cb1194653662f2769a792
5
+X-next-at: 3e57c29e689448252d8f77d1a49492e7b4cdbfa4
6
7
-What's cooking in git.git (Dec 2013, #03; Thu, 12)
7
+What's cooking in git.git (Dec 2013, #04; Tue, 17)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -17,146 +17,141 @@ of the repositories listed at
17
http://git-blame.blogspot.com/p/git-public-repositories.html
18
19
--------------------------------------------------
20
-[New Topics]
20
+[Graduated to "master"]
21
22
* bc/doc-merge-no-op-revert (2013-12-09) 1 commit
23
- - Documentation: document pitfalls with 3-way merge
23
+ (merged to 'next' on 2013-12-13 at 6e0ce64)
24
+ + Documentation: document pitfalls with 3-way merge
25
25
- Will merge to 'next'.
26
27
+* cc/starts-n-ends-with (2013-12-05) 4 commits
28
+ (merged to 'next' on 2013-12-12 at 76ee567)
29
+ + replace {pre,suf}fixcmp() with {starts,ends}_with()
30
+ + strbuf: introduce starts_with() and ends_with()
31
+ + builtin/remote: remove postfixcmp() and use suffixcmp() instead
32
+ + environment: normalize use of prefixcmp() by removing " != 0"
33
+ (this branch is used by cc/starts-n-ends-with-endgame.)
34
28
-* cc/replace-object-info (2013-12-12) 10 commits
29
- - Documentation/git-replace: describe --format option
30
- - builtin/replace: unset read_replace_refs
31
- - t6050: add tests for listing with --format
32
- - builtin/replace: teach listing using short, medium or full formats
33
- - sha1_file: perform object replacement in sha1_object_info_extended()
34
- - t6050: show that git cat-file --batch fails with replace objects
35
- - sha1_object_info_extended(): add an "unsigned flags" parameter
36
- - sha1_file.c: add lookup_replace_object_extended() to pass flags
37
- - replace_object: don't check read_replace_refs twice
38
- - rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
35
+ Remove a few duplicate implementations of prefix/suffix comparison
36
+ functions, and rename them to starts_with and ends_with.
37
40
- read_sha1_file() that is the workhorse to read the contents given
41
- an object name honoured object replacements, but there is no
42
- corresponding mechanism to sha1_object_info() that is used to
43
- obtain the metainfo (e.g. type & size) about the object, leading
44
- callers to weird inconsistencies.
38
46
- Will merge to 'next'.
39
+* fc/trivial (2013-12-09) 4 commits
40
+ (merged to 'next' on 2013-12-13 at eeead16)
41
+ + remote: fix status with branch...rebase=preserve
42
+ + fetch: add missing documentation
43
+ + t: trivial whitespace cleanups
44
+ + abspath: trivial style fix
45
46
49
-* fc/completion (2013-12-09) 1 commit
50
- - completion: fix completion of certain aliases
47
+* jk/t5000-gzip-simplify (2013-12-04) 1 commit
48
+ (merged to 'next' on 2013-12-09 at e9010f1)
49
+ + t5000: simplify gzip prerequisite checks
50
52
- Will merge to 'next'.
51
+ Test fix.
52
53
55
-* fc/remote-helper-fixes (2013-12-09) 4 commits
56
- - remote-hg: add tests for special filenames
57
- - remote-hg: fix 'shared path' path
58
- - remote-helpers: add extra safety checks
59
- - remote-hg: avoid buggy strftime()
54
+* jl/commit-v-strip-marker (2013-12-05) 1 commit
55
+ (merged to 'next' on 2013-12-09 at 2b85e9e)
56
+ + commit -v: strip diffs and submodule shortlogs from the commit message
57
61
- Will merge to 'next'.
58
+ "git commit -v" appends the patch to the log message before
59
+ editing, and then removed the patch when the editor returned
60
+ control. However, the patch was not stripped correctly when the
61
+ first modified path was a submodule.
62
63
64
-* fc/trivial (2013-12-09) 4 commits
65
- - remote: fix status with branch...rebase=preserve
66
- - fetch: add missing documentation
67
- - t: trivial whitespace cleanups
68
- - abspath: trivial style fix
64
+* kb/doc-exclude-directory-semantics (2013-12-09) 1 commit
65
+ (merged to 'next' on 2013-12-09 at e54b2ec)
66
+ + gitignore.txt: clarify recursive nature of excluded directories
67
70
- Will merge to 'next'.
68
69
+* kn/gitweb-extra-branch-refs (2013-12-12) 4 commits
70
+ (merged to 'next' on 2013-12-12 at ae75b02)
71
+ + gitweb: Denote non-heads, non-remotes branches
72
+ + gitweb: Add a feature for adding more branch refs
73
+ + gitweb: Return 1 on validation success instead of passed input
74
+ + gitweb: Move check-ref-format code into separate function
75
73
-* jk/cat-file-regression-fix (2013-12-12) 2 commits
74
- - cat-file: handle --batch format with missing type/size
75
- - cat-file: pass expand_data to print_object_or_die
76
+ Allow gitweb to be configured to show refs out of refs/heads/ as if
77
+ they were branches.
78
77
- Will merge to 'next'.
79
80
+* mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
81
+ (merged to 'next' on 2013-12-09 at f33bc0b)
82
+ + mv: let 'git mv file no-such-dir/' error out
83
80
-* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
81
- - rebase: use reflog to find common base with upstream
82
- - pull: use merge-base --fork-point when appropriate
84
84
- Will merge to 'next'.
85
+* nd/gettext-vsnprintf (2013-12-04) 1 commit
86
+ (merged to 'next' on 2013-12-09 at e99106e)
87
+ + gettext.c: detect the vsnprintf bug at runtime
88
89
87
-* jk/rev-parse-double-dashes (2013-12-09) 2 commits
88
- - rev-parse: be more careful with munging arguments
89
- - rev-parse: correctly diagnose revision errors before "--"
90
+* nd/remove-opt-boolean (2013-12-09) 1 commit
91
+ (merged to 'next' on 2013-12-13 at 26f46cc)
92
+ + parse-options: remove OPT_BOOLEAN
93
91
- "git rev-parse <revs> -- <paths>" did not implement the usual
92
- disambiguation rules the commands in the "git log" family used in
93
- the same way.
94
95
- Will merge to 'next'.
95
+* nd/transport-positive-depth-only (2013-12-06) 1 commit
96
+ (merged to 'next' on 2013-12-12 at f953cb8)
97
+ + clone,fetch: catch non positive --depth option value
98
99
+ "git fetch --depth=0" was a no-op, and was silently
100
+ ignored. Diagnose it as an error.
101
98
-* mo/subtree-split-updates (2013-12-10) 3 commits
99
- - subtree: add --edit option
100
- - subtree: allow --squash and --message with push
101
- - subtree: support split --rejoin --squash
102
103
- Comments?
103
+* tb/clone-ssh-with-colon-for-port (2013-12-09) 10 commits
104
+ (merged to 'next' on 2013-12-12 at ae4ae39)
105
+ + git_connect(): use common return point
106
+ + connect.c: refactor url parsing
107
+ + git_connect(): refactor the port handling for ssh
108
+ + git fetch: support host:/~repo
109
+ + t5500: add test cases for diag-url
110
+ + git fetch-pack: add --diag-url
111
+ + git_connect: factor out discovery of the protocol and its parts
112
+ + git_connect: remove artificial limit of a remote command
113
+ + t5601: add tests for ssh
114
+ + t5601: remove clear_ssh, refactor setup_ssh_wrapper
115
116
+ Be more careful when parsing remote repository URL given in the
117
+ scp-style host:path notation.
118
106
-* nd/remove-opt-boolean (2013-12-09) 1 commit
107
- - parse-options: remove OPT_BOOLEAN
119
109
- Will merge to 'next'.
120
+* tr/send-email-ssl (2013-12-04) 3 commits
121
+ (merged to 'next' on 2013-12-09 at facb859)
122
+ + send-email: set SSL options through IO::Socket::SSL::set_client_defaults
123
+ + send-email: --smtp-ssl-cert-path takes an argument
124
+ + send-email: pass Debug to Net::SMTP::SSL::new
125
126
+ SSL-related options were not passed correctly to underlying socket
127
+ layer in "git send-email".
128
112
-* nd/shallow-clone (2013-12-10) 28 commits
113
- - git-clone.txt: remove shallow clone limitations
114
- - prune: clean .git/shallow after pruning objects
115
- - clone: use git protocol for cloning shallow repo locally
116
- - send-pack: support pushing from a shallow clone via http
117
- - receive-pack: support pushing to a shallow clone via http
118
- - smart-http: support shallow fetch/clone
119
- - remote-curl: pass ref SHA-1 to fetch-pack as well
120
- - send-pack: support pushing to a shallow clone
121
- - receive-pack: allow pushes that update .git/shallow
122
- - connected.c: add new variant that runs with --shallow-file
123
- - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
124
- - receive/send-pack: support pushing from a shallow clone
125
- - receive-pack: reorder some code in unpack()
126
- - fetch: add --update-shallow to accept refs that update .git/shallow
127
- - upload-pack: make sure deepening preserves shallow roots
128
- - fetch: support fetching from a shallow repository
129
- - clone: support remote shallow repository
130
- - fetch-pack.h: one statement per bitfield declaration
131
- - fetch-pack.c: move shallow update code out of fetch_pack()
132
- - shallow.c: steps 6 and 7 to select new commits for .git/shallow
133
- - shallow.c: the 8 steps to select new commits for .git/shallow
134
- - shallow.c: extend setup_*_shallow() to accept extra shallow commits
135
- - connect.c: teach get_remote_heads to parse "shallow" lines
136
- - make the sender advertise shallow commits to the receiver
137
- - clone: prevent --reference to a shallow repository
138
- - send-pack: forbid pushing from a shallow repository
139
- - remote.h: replace struct extra_have_objects with struct sha1_array
140
- - transport.h: remove send_pack prototype, already defined in send-pack.h
129
+--------------------------------------------------
130
+[New Topics]
131
142
- Fetching from a shallow-cloned repository used to be forbidden,
143
- primarily because the codepaths involved were not carefully vetted
144
- and we did not bother supporting such usage. This attempts to allow
145
- object transfer out of a shallow-cloned repository in a controlled
146
- way (i.e. the receiver become a shallow repository with truncated
147
- history).
132
+* ap/path-max (2013-12-16) 1 commit
133
+ - Prevent buffer overflows when path is too long
134
135
+ Will merge to 'next'.
136
150
-* tg/diff-no-index-refactor (2013-12-12) 2 commits
151
- - diff: don't read index when --no-index is given
152
- - diff: move no-index detection to builtin/diff.c
137
154
- "git diff ../else/where/A ../else/where/B" when ../else/where is
155
- clearly outside the repository, and "git diff --no-index A B", do
156
- not have to look at the index at all, but we used to read the index
157
- unconditionally.
138
+* mh/path-max (2013-12-17) 1 commit
139
+ - prune-packed: use strbuf to avoid having to worry about PATH_MAX
140
159
- Will merge to 'next'.
141
+ This is my rewrite of Michael's patch to prune-packed (which still
142
+ had a hardcoded PATH_MAX limitation) using strbuf. Tweaking of the
143
+ other patch in the same series ($gmane/239386) for prune is left as
144
+ an exercise to the readers ;-)
145
+
146
+--------------------------------------------------
147
+[Stalled]
148
+
149
+* mo/subtree-split-updates (2013-12-10) 3 commits
150
+ - subtree: add --edit option
151
+ - subtree: allow --squash and --message with push
152
+ - subtree: support split --rejoin --squash
153
+
154
+ Comments?
155
156
157
* hv/submodule-ignore-fix (2013-12-06) 4 commits
@@ -177,114 +172,33 @@ of the repositories listed at
172
few nights ago I tried and failed and that was why it hasn't been
173
merged to 'pu' so far).
174
180
---------------------------------------------------
181
-[Graduated to "master"]
175
183
-* cl/p4-use-diff-tree (2013-11-22) 1 commit
184
- (merged to 'next' on 2013-12-06 at fc3c89e)
185
- + git p4: Use git diff-tree instead of format-patch
186
-
187
- Originally merged to 'next' on 2013-11-27
188
-
189
-
190
-* cn/thin-push-capability (2013-11-25) 1 commit
191
- (merged to 'next' on 2013-12-06 at a7ae524)
192
- + send-pack: don't send a thin pack to a server which doesn't support it
193
-
194
- Allow receive-pack to insist on receiving a fat pack from "git
195
- push" clients.
196
-
197
-
198
-* jk/remove-deprecated (2013-12-05) 6 commits
199
- (merged to 'next' on 2013-12-06 at c0c91a2)
200
- + Sync with 1.8.5
201
- + stop installing git-tar-tree link
202
- + peek-remote: remove deprecated alias of ls-remote
203
- + lost-found: remove deprecated command
204
- + tar-tree: remove deprecated command
205
- + repo-config: remove deprecated alias for "git config"
206
- (this branch is used by cc/starts-n-ends-with and cc/starts-n-ends-with-endgame.)
207
-
208
- Remove commands that have long been deprecated.
209
-
210
-
211
-* jn/scripts-updates (2013-11-26) 7 commits
212
- (merged to 'next' on 2013-12-06 at 60a7026)
213
- + remove #!interpreter line from shell libraries
214
- + test: replace shebangs with descriptions in shell libraries
215
- + test: make FILEMODE a lazy prereq
216
- + contrib: remove git-p4import
217
- + mark contributed hooks executable
218
- + mark perl test scripts executable
219
- + mark Windows build scripts executable
220
-
221
-
222
-* mh/fetch-tags-in-addition-to-normal-refs (2013-10-30) 23 commits
223
- (merged to 'next' on 2013-12-06 at 3b9c44a)
224
- + fetch: improve the error messages emitted for conflicting refspecs
225
- + handle_duplicate(): mark error message for translation
226
- + ref_remote_duplicates(): extract a function handle_duplicate()
227
- + ref_remove_duplicates(): simplify loop logic
228
- + t5536: new test of refspec conflicts when fetching
229
- + ref_remove_duplicates(): avoid redundant bisection
230
- + git-fetch.txt: improve description of tag auto-following
231
- + fetch-options.txt: simplify ifdef/ifndef/endif usage
232
- + fetch, remote: properly convey --no-prune options to subprocesses
233
- + builtin/remote.c:update(): use struct argv_array
234
- + builtin/remote.c: reorder function definitions
235
- + query_refspecs(): move some constants out of the loop
236
- + fetch --prune: prune only based on explicit refspecs
237
- + fetch --tags: fetch tags *in addition to* other stuff
238
- + fetch: only opportunistically update references based on command line
239
- + get_expanded_map(): avoid memory leak
240
- + get_expanded_map(): add docstring
241
- + builtin/fetch.c: reorder function definitions
242
- + get_ref_map(): rename local variables
243
- + api-remote.txt: correct section "struct refspec"
244
- + t5510: check that "git fetch --prune --tags" does not prune branches
245
- + t5510: prepare test refs more straightforwardly
246
- + t5510: use the correct tag name in test
247
-
248
- Originally merged to 'next' on 2013-11-06
249
-
250
- The "--tags" option to "git fetch" used to be literally a synonym to
251
- a "refs/tags/*:refs/tags/*" refspec, which meant that (1) as an
252
- explicit refspec given from the command line, it silenced the lazy
253
- "git fetch" default that is configured, and (2) also as an explicit
254
- refspec given from the command line, it interacted with "--prune"
255
- to remove any tag that the remote we are fetching from does not
256
- have.
257
-
258
- This demotes it to an option; with it, we fetch all tags in
259
- addition to what would be fetched without the option, and it does
260
- not interact with the decision "--prune" makes to see what
261
- remote-tracking refs the local has are missing the remote
262
- counterpart.
263
-
264
-
265
-* rs/doc-submitting-patches (2013-11-27) 1 commit
266
- (merged to 'next' on 2013-12-06 at 0628818)
267
- + SubmittingPatches: document how to handle multiple patches
268
-
269
-
270
-* tr/commit-slab-cleanup (2013-12-02) 3 commits
271
- (merged to 'next' on 2013-12-06 at faee247)
272
- + commit-slab: sizeof() the right type in xrealloc
273
- + commit-slab: declare functions "static inline"
274
- + commit-slab: document clear_$slabname()
275
-
276
-
277
-* tr/config-multivalue-lift-max (2013-12-06) 1 commit
278
- (merged to 'next' on 2013-12-06 at 92afee2)
279
- + config: arbitrary number of matches for --unset and --replace-all
280
-
281
-
282
-* tr/doc-git-cherry (2013-11-27) 1 commit
283
- (merged to 'next' on 2013-12-06 at 9a1ba7a)
284
- + Documentation: revamp git-cherry(1)
176
+* kb/fast-hashmap (2013-12-16) 17 commits
177
+ - hashmap.h: make sure map entries are tightly packed
178
+ (merged to 'next' on 2013-12-16 at bff99b1)
179
+ + Drop unnecessary #includes from test-hashmap
180
+ + Add test-hashmap to .gitignore
181
+ (merged to 'next' on 2013-12-06 at f90be3d)
182
+ + read-cache.c: fix memory leaks caused by removed cache entries
183
+ + builtin/update-index.c: cleanup update_one
184
+ + fix 'git update-index --verbose --again' output
185
+ + remove old hash.[ch] implementation
186
+ + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
187
+ + name-hash.c: use new hash map implementation for cache entries
188
+ + name-hash.c: remove unreferenced directory entries
189
+ + name-hash.c: use new hash map implementation for directories
190
+ + diffcore-rename.c: use new hash map implementation
191
+ + diffcore-rename.c: simplify finding exact renames
192
+ + diffcore-rename.c: move code around to prepare for the next patch
193
+ + buitin/describe.c: use new hash map implementation
194
+ + add a hashtable implementation that supports O(1) removal
195
+ + submodule: don't access the .gitmodules cache entry after removing it
196
+
197
+ Improvements to our hash table to get it to meet the needs of the
198
+ msysgit fscache project, with some nice performance improvements.
199
+
200
+ The tip one does not seem to have reached concensus (yet).
201
286
---------------------------------------------------
287
-[Stalled]
202
203
* jc/create-directories-microopt (2013-11-11) 1 commit
204
- checkout: most of the time we have good leading directories
@@ -295,15 +209,6 @@ of the repositories listed at
209
Will hold.
210
211
298
-* nv/commit-gpgsign-config (2013-11-06) 1 commit
299
- - Add the commit.gpgsign option to sign all commits
300
-
301
- Introduce commit.gpgsign configuration variable to force every
302
- commit to be GPG signed.
303
-
304
- Needs tests, perhaps?
305
-
306
-
212
* jt/commit-fixes-footer (2013-10-30) 1 commit
213
- commit: Add -f, --fixes <commit> option to add Fixes: line
214
@@ -448,6 +353,150 @@ of the repositories listed at
353
--------------------------------------------------
354
[Cooking]
355
356
+* nv/commit-gpgsign-config (2013-12-17) 3 commits
357
+ - test the commit.gpgsign config option
358
+ - commit-tree: add and document --no-gpg-sign
359
+ - Add the commit.gpgsign option to sign all commits
360
+
361
+ Introduce commit.gpgsign configuration variable to force every
362
+ commit to be GPG signed. The variable cannot be overriden from the
363
+ command line of some of the commands that create commits except for
364
+ "git commit" and "git commit-tree", but I am not convinced that it
365
+ is a good idea to sprinkle support for --no-gpg-sign everywhere.
366
+
367
+ Will merge to 'next'.
368
+
369
+
370
+* cc/replace-object-info (2013-12-12) 10 commits
371
+ (merged to 'next' on 2013-12-17 at aeb9e18)
372
+ + Documentation/git-replace: describe --format option
373
+ + builtin/replace: unset read_replace_refs
374
+ + t6050: add tests for listing with --format
375
+ + builtin/replace: teach listing using short, medium or full formats
376
+ + sha1_file: perform object replacement in sha1_object_info_extended()
377
+ + t6050: show that git cat-file --batch fails with replace objects
378
+ + sha1_object_info_extended(): add an "unsigned flags" parameter
379
+ + sha1_file.c: add lookup_replace_object_extended() to pass flags
380
+ + replace_object: don't check read_replace_refs twice
381
+ + rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
382
+
383
+ read_sha1_file() that is the workhorse to read the contents given
384
+ an object name honoured object replacements, but there is no
385
+ corresponding mechanism to sha1_object_info() that is used to
386
+ obtain the metainfo (e.g. type & size) about the object, leading
387
+ callers to weird inconsistencies.
388
+
389
+ Has this been reviewed sufficiently?
390
+
391
+ Will merge to 'next'.
392
+
393
+
394
+* fc/completion (2013-12-09) 1 commit
395
+ - completion: fix completion of certain aliases
396
+
397
+ SZEDER Gábor noticed that this breaks "git -c var=val alias" and
398
+ also suggested a better description of the change.
399
+
400
+ Will hold.
401
+
402
+
403
+* fc/remote-helper-fixes (2013-12-09) 4 commits
404
+ (merged to 'next' on 2013-12-17 at aa4dc07)
405
+ + remote-hg: add tests for special filenames
406
+ + remote-hg: fix 'shared path' path
407
+ + remote-helpers: add extra safety checks
408
+ + remote-hg: avoid buggy strftime()
409
+
410
+ Expecting follow-up test additions.
411
+
412
+
413
+* jk/cat-file-regression-fix (2013-12-12) 2 commits
414
+ (merged to 'next' on 2013-12-13 at 3713e01)
415
+ + cat-file: handle --batch format with missing type/size
416
+ + cat-file: pass expand_data to print_object_or_die
417
+
418
+ "git cat-file --batch=", an admittedly useless command, did not
419
+ behave very well.
420
+
421
+ Will merge to 'master'.
422
+
423
+
424
+* jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
425
+ (merged to 'next' on 2013-12-13 at 1862c12)
426
+ + rebase: use reflog to find common base with upstream
427
+ + pull: use merge-base --fork-point when appropriate
428
+
429
+ Will merge to 'master'.
430
+
431
+
432
+* jk/rev-parse-double-dashes (2013-12-09) 2 commits
433
+ (merged to 'next' on 2013-12-13 at d26bac7)
434
+ + rev-parse: be more careful with munging arguments
435
+ + rev-parse: correctly diagnose revision errors before "--"
436
+
437
+ "git rev-parse <revs> -- <paths>" did not implement the usual
438
+ disambiguation rules the commands in the "git log" family used in
439
+ the same way.
440
+
441
+ Will merge to 'master'.
442
+
443
+
444
+* nd/shallow-clone (2013-12-10) 28 commits
445
+ - git-clone.txt: remove shallow clone limitations
446
+ - prune: clean .git/shallow after pruning objects
447
+ - clone: use git protocol for cloning shallow repo locally
448
+ - send-pack: support pushing from a shallow clone via http
449
+ - receive-pack: support pushing to a shallow clone via http
450
+ - smart-http: support shallow fetch/clone
451
+ - remote-curl: pass ref SHA-1 to fetch-pack as well
452
+ - send-pack: support pushing to a shallow clone
453
+ - receive-pack: allow pushes that update .git/shallow
454
+ - connected.c: add new variant that runs with --shallow-file
455
+ - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
456
+ - receive/send-pack: support pushing from a shallow clone
457
+ - receive-pack: reorder some code in unpack()
458
+ - fetch: add --update-shallow to accept refs that update .git/shallow
459
+ - upload-pack: make sure deepening preserves shallow roots
460
+ - fetch: support fetching from a shallow repository
461
+ - clone: support remote shallow repository
462
+ - fetch-pack.h: one statement per bitfield declaration
463
+ - fetch-pack.c: move shallow update code out of fetch_pack()
464
+ - shallow.c: steps 6 and 7 to select new commits for .git/shallow
465
+ - shallow.c: the 8 steps to select new commits for .git/shallow
466
+ - shallow.c: extend setup_*_shallow() to accept extra shallow commits
467
+ - connect.c: teach get_remote_heads to parse "shallow" lines
468
+ - make the sender advertise shallow commits to the receiver
469
+ - clone: prevent --reference to a shallow repository
470
+ - send-pack: forbid pushing from a shallow repository
471
+ - remote.h: replace struct extra_have_objects with struct sha1_array
472
+ - transport.h: remove send_pack prototype, already defined in send-pack.h
473
+
474
+ Fetching from a shallow-cloned repository used to be forbidden,
475
+ primarily because the codepaths involved were not carefully vetted
476
+ and we did not bother supporting such usage. This attempts to allow
477
+ object transfer out of a shallow-cloned repository in a controlled
478
+ way (i.e. the receiver become a shallow repository with truncated
479
+ history).
480
+
481
+ Will merge to 'next'.
482
+
483
+
484
+* tg/diff-no-index-refactor (2013-12-16) 4 commits
485
+ (merged to 'next' on 2013-12-17 at 009d8d8)
486
+ + diff: avoid some nesting
487
+ + diff: add test for --no-index executed outside repo
488
+ (merged to 'next' on 2013-12-13 at 523f7c4)
489
+ + diff: don't read index when --no-index is given
490
+ + diff: move no-index detection to builtin/diff.c
491
+
492
+ "git diff ../else/where/A ../else/where/B" when ../else/where is
493
+ clearly outside the repository, and "git diff --no-index A B", do
494
+ not have to look at the index at all, but we used to read the index
495
+ unconditionally.
496
+
497
+ Will merge to 'master'.
498
+
499
+
500
* fc/transport-helper-fixes (2013-12-09) 6 commits
501
- remote-bzr: support the new 'force' option
502
- test-hg.sh: tests are now expected to pass
@@ -460,7 +509,7 @@ of the repositories listed at
509
ref mapping and ref deletion in a way similar to the natively
510
supported transports.
511
463
- Will merge to 'next'.
512
+ Will hold. Reported to break t5541.
513
514
515
* jn/git-gui-chmod+x (2013-11-25) 1 commit
@@ -477,7 +526,9 @@ of the repositories listed at
526
tree.
527
528
480
-* jk/name-pack-after-byte-representation (2013-12-05) 2 commits
529
+* jk/name-pack-after-byte-representation (2013-12-16) 3 commits
530
+ (merged to 'next' on 2013-12-17 at 0bc385c)
531
+ + pack-objects doc: treat output filename as opaque
532
(merged to 'next' on 2013-12-09 at 247b2d0)
533
+ pack-objects: name pack files after trailer hash
534
+ sha1write: make buffer const-correct
@@ -499,19 +550,15 @@ of the repositories listed at
550
+ Support pathspec magic :(exclude) and its short form :!
551
+ glossary-content.txt: rephrase magic signature part
552
502
- Introduce "negative pathspec" magic, to allow "git log . ':!dir'" to
553
+ Introduce "negative pathspec" magic, to allow "git log -- . ':!dir'" to
554
tell us "I am interested in everything but 'dir' directory".
555
505
-
506
-* nd/transport-positive-depth-only (2013-12-06) 1 commit
507
- (merged to 'next' on 2013-12-12 at f953cb8)
508
- + clone,fetch: catch non positive --depth option value
509
-
510
- "git fetch --depth=0" was a no-op, and was silently
511
- ignored. Diagnose it as an error.
556
+ Will cook in 'next'.
557
558
514
-* zk/difftool-counts (2013-12-06) 1 commit
559
+* zk/difftool-counts (2013-12-16) 2 commits
560
+ (merged to 'next' on 2013-12-16 at 0e0d235)
561
+ + diff.c: fix some recent whitespace style violations
562
(merged to 'next' on 2013-12-12 at ba35694)
563
+ difftool: display the number of files in the diff queue in the prompt
564
@@ -519,36 +566,15 @@ of the repositories listed at
566
when "git difftool" prompts to launch an external diff tool, which
567
would give users some sense of progress.
568
522
-
523
-* jl/commit-v-strip-marker (2013-12-05) 1 commit
524
- (merged to 'next' on 2013-12-09 at 2b85e9e)
525
- + commit -v: strip diffs and submodule shortlogs from the commit message
526
-
527
- "git commit -v" appends the patch to the log message before
528
- editing, and then removed the patch when the editor returned
529
- control. However, the patch was not stripped correctly when the
530
- first modified path was a submodule.
531
-
532
-
533
-* cc/starts-n-ends-with (2013-12-05) 4 commits
534
- (merged to 'next' on 2013-12-12 at 76ee567)
535
- + replace {pre,suf}fixcmp() with {starts,ends}_with()
536
- + strbuf: introduce starts_with() and ends_with()
537
- + builtin/remote: remove postfixcmp() and use suffixcmp() instead
538
- + environment: normalize use of prefixcmp() by removing " != 0"
539
- (this branch is used by cc/starts-n-ends-with-endgame.)
540
-
541
- Remove a few duplicate implementations of prefix/suffix comparison
542
- functions, and rename them to starts_with and ends_with.
569
+ Will merge to 'master'.
570
571
572
* cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
573
- strbuf: remove prefixcmp() and suffixcmp()
547
- (this branch uses cc/starts-n-ends-with.)
574
549
- Endgame for the above topic, that needs to be evil-merged with
550
- other topics that introduce new uses of prefix/suffix-cmp
551
- functions.
575
+ Endgame for the cc/starts-n-ends-with topic; this needs to be
576
+ evil-merged with other topics that introduce new uses of
577
+ prefix/suffix-cmp functions.
578
579
580
* jc/push-refmap (2013-12-04) 3 commits
@@ -563,72 +589,15 @@ of the repositories listed at
589
more symmetric to "git fetch" and more usable for the triangular
590
workflow.
591
566
-
567
-* jk/t5000-gzip-simplify (2013-12-04) 1 commit
568
- (merged to 'next' on 2013-12-09 at e9010f1)
569
- + t5000: simplify gzip prerequisite checks
570
-
571
- Test fix.
592
+ Will merge to 'master'.
593
594
574
-* js/gnome-keyring (2013-12-04) 1 commit
575
- - contrib/git-credential-gnome-keyring.c: small stylistic cleanups
595
+* js/gnome-keyring (2013-12-16) 1 commit
596
+ (merged to 'next' on 2013-12-17 at 422fd61)
597
+ + contrib/git-credential-gnome-keyring.c: small stylistic cleanups
598
599
Style fix.
600
579
-
580
-* kn/gitweb-extra-branch-refs (2013-12-12) 4 commits
581
- (merged to 'next' on 2013-12-12 at ae75b02)
582
- + gitweb: Denote non-heads, non-remotes branches
583
- + gitweb: Add a feature for adding more branch refs
584
- + gitweb: Return 1 on validation success instead of passed input
585
- + gitweb: Move check-ref-format code into separate function
586
-
587
- Allow gitweb to be configured to show refs out of refs/heads/ as if
588
- they were branches.
589
-
590
-
591
-* mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
592
- (merged to 'next' on 2013-12-09 at f33bc0b)
593
- + mv: let 'git mv file no-such-dir/' error out
594
-
595
-
596
-* nd/gettext-vsnprintf (2013-12-04) 1 commit
597
- (merged to 'next' on 2013-12-09 at e99106e)
598
- + gettext.c: detect the vsnprintf bug at runtime
599
-
600
-
601
-* tr/send-email-ssl (2013-12-04) 3 commits
602
- (merged to 'next' on 2013-12-09 at facb859)
603
- + send-email: set SSL options through IO::Socket::SSL::set_client_defaults
604
- + send-email: --smtp-ssl-cert-path takes an argument
605
- + send-email: pass Debug to Net::SMTP::SSL::new
606
-
607
- SSL-related options were not passed correctly to underlying socket
608
- layer in "git send-email".
609
-
610
-
611
-* tb/clone-ssh-with-colon-for-port (2013-12-09) 10 commits
612
- (merged to 'next' on 2013-12-12 at ae4ae39)
613
- + git_connect(): use common return point
614
- + connect.c: refactor url parsing
615
- + git_connect(): refactor the port handling for ssh
616
- + git fetch: support host:/~repo
617
- + t5500: add test cases for diag-url
618
- + git fetch-pack: add --diag-url
619
- + git_connect: factor out discovery of the protocol and its parts
620
- + git_connect: remove artificial limit of a remote command
621
- + t5601: add tests for ssh
622
- + t5601: remove clear_ssh, refactor setup_ssh_wrapper
623
-
624
- Be more careful when parsing remote repository URL given in the
625
- scp-style host:path notation.
626
-
627
-
628
-* kb/doc-exclude-directory-semantics (2013-12-09) 1 commit
629
- (merged to 'next' on 2013-12-09 at e54b2ec)
630
- + gitignore.txt: clarify recursive nature of excluded directories
631
-
601
Will merge to 'master'.
602
603
@@ -642,7 +611,7 @@ of the repositories listed at
611
topmost patch is a rebase of jc/push-2.0-default-to-simple on top
612
of it.
613
645
- Will cook in 'next'.
614
+ Will cook in 'next' until Git 2.0.
615
616
617
* tr/merge-recursive-index-only (2013-10-28) 3 commits
@@ -653,30 +622,6 @@ of the repositories listed at
622
Will hold until using script appears.
623
624
656
-* kb/fast-hashmap (2013-12-09) 15 commits
657
- - hashmap.h: make sure map entries are tightly packed
658
- (merged to 'next' on 2013-12-06 at f90be3d)
659
- + read-cache.c: fix memory leaks caused by removed cache entries
660
- + builtin/update-index.c: cleanup update_one
661
- + fix 'git update-index --verbose --again' output
662
- + remove old hash.[ch] implementation
663
- + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
664
- + name-hash.c: use new hash map implementation for cache entries
665
- + name-hash.c: remove unreferenced directory entries
666
- + name-hash.c: use new hash map implementation for directories
667
- + diffcore-rename.c: use new hash map implementation
668
- + diffcore-rename.c: simplify finding exact renames
669
- + diffcore-rename.c: move code around to prepare for the next patch
670
- + buitin/describe.c: use new hash map implementation
671
- + add a hashtable implementation that supports O(1) removal
672
- + submodule: don't access the .gitmodules cache entry after removing it
673
-
674
- Improvements to our hash table to get it to meet the needs of the
675
- msysgit fscache project, with some nice performance improvements.
676
-
677
- The tip one does not seem to have reached concensus (yet).
678
-
679
-
625
* jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
626
(merged to 'next' on 2013-12-06 at ead2ec8)
627
+ git add: -u/-A now affects the entire working tree