1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Dec 2014, #02; Wed, 10)
4 X-master-at: c18b86734113ee2aeb0e140c922c8fbd4accc860
5 X-next-at: 802437b789eb05ee52be21d578fe4cfed918b276
7 What's cooking in git.git (Dec 2014, #02; Wed, 10)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 You can find the changes described here in the integration branches
15 of the repositories listed at
17 http://git-blame.blogspot.com/p/git-public-repositories.html
19 --------------------------------------------------
20 [Graduated to "master"]
22 * jh/empty-notes (2014-11-14) 9 commits
23 (merged to 'next' on 2014-11-18 at 9eeb338)
24 + t3301: modernize style
25 + notes: empty notes should be shown by 'git log'
26 + builtin/notes: add --allow-empty, to allow storing empty notes
27 + builtin/notes: split create_note() to clarify add vs. remove logic
28 + builtin/notes: simplify early exit code in add()
29 + builtin/notes: refactor note file path into struct note_data
30 + builtin/notes: improve naming
31 + t3301: verify that 'git notes' removes empty notes by default
32 + builtin/notes: fix premature failure when trying to add the empty blob
34 A request to store an empty note via "git notes" meant to remove
35 note from the object but with --allow-empty we will store a (surprise!)
36 note that is empty. In the longer run, we might want to deprecate
37 the somewhat unintuitive "emptying means deletion" behaviour.
40 * jk/checkout-from-tree (2014-11-13) 1 commit
41 (merged to 'next' on 2014-11-14 at ddbffb0)
42 + checkout $tree: do not throw away unchanged index entries
44 "git checkout $treeish $path", when $path in the index and the
45 working tree already matched what is in $treeish at the $path,
46 still overwrote the $path unnecessarily.
49 * jk/gitweb-with-newer-cgi-multi-param (2014-11-18) 1 commit
50 (merged to 'next' on 2014-11-18 at 6ac61fe)
51 + gitweb: hack around CGI's list-context param() handling
53 "gitweb" used to depend on a behaviour recent CGI.pm deprecated.
56 * js/windows-open-eisdir-error (2014-11-17) 1 commit
57 (merged to 'next' on 2014-11-18 at 57b0d49)
58 + Windows: correct detection of EISDIR in mingw_open()
60 open() emulated on Windows platforms did not give EISDIR upon an
61 attempt to open a directory for writing.
64 * mh/config-flip-xbit-back-after-checking (2014-11-18) 1 commit
65 (merged to 'next' on 2014-11-18 at 45f7d71)
66 + create_default_files(): don't set u+x bit on $GIT_DIR/config
67 (this branch is used by tb/config-core-filemode-check-on-broken-fs.)
69 "git init" (hence "git clone") initialized the per-repository
70 configuration file .git/config with x-bit by mistake.
73 * rs/env-array-in-child-process (2014-11-10) 1 commit
74 (merged to 'next' on 2014-11-14 at 3f6ba07)
75 + use args member of struct child_process
80 * rs/maint-config-use-labs (2014-11-17) 1 commit
81 (merged to 'next' on 2014-11-18 at 53c2404)
82 + use labs() for variables of type long instead of abs()
84 A few code paths used abs() when they should have used labs() on
88 * rs/receive-pack-use-labs (2014-11-17) 1 commit
89 (merged to 'next' on 2014-11-18 at c6d2d94)
90 + use labs() for variables of type long instead of abs()
92 A few code paths used abs() when they should have used labs() on
96 * sv/get-builtin (2014-11-13) 1 commit
97 (merged to 'next' on 2014-11-14 at 9497e17)
98 + builtin: move builtin retrieval to get_builtin()
100 Small code consolidation.
103 * tq/git-ssh-command (2014-11-10) 1 commit
104 (merged to 'next' on 2014-11-14 at 83f5dae)
105 + git_connect: set ssh shell command in GIT_SSH_COMMAND
107 Allow passing extra set of arguments when ssh is invoked to create
108 an encrypted & authenticated connection, which is not possible with
109 existing GIT_SSH mechanism, which was designed more to match what
110 other programs with similar variables did, not necessarily to be
113 --------------------------------------------------
116 * dm/compat-s-ifmt-for-zos (2014-12-04) 1 commit
117 - compat: convert modes to use portable file type values
119 Long overdue departure from the assumption that S_IFMT is shared by
120 everybody made in 2005.
123 * jk/credential-quit (2014-12-04) 2 commits
124 - prompt: respect GIT_TERMINAL_PROMPT to disable terminal prompts
125 - credential: let helpers tell us to quit
127 Credential helpers are asked in turn until one of them give
128 positive response, which is cumbersome to turn off when you need to
129 run Git in an automated setting. The credential helper interface
130 learned to allow a helper to say "stop, don't ask other helpers."
131 Also GIT_TERMINAL_PROMPT environment can be set to false to disable
132 our built-in prompt mechanism for passwords.
134 Will merge to 'next'.
137 * mg/branch-d-m-f (2014-12-09) 2 commits
138 - branch: allow -f with -m and -d
139 - t3200-branch: test -M
141 "git branch -d" (delete) and "git branch -m" (move) learned to
142 honor "-f" (force) flag; unlike many other subcommands, the way to
143 force these have been with separate "-D/-M" options, which was
146 Will merge to 'next'.
149 * mg/doc-check-ignore-tracked-are-not-ignored (2014-12-04) 1 commit
150 - check-ignore: clarify treatment of tracked files
152 Will merge to 'next'.
155 * rt/completion-tag (2014-12-04) 1 commit
156 - completion: add git-tag options
158 Will merge to 'next'.
161 * jk/for-each-reflog-ent-reverse (2014-12-05) 2 commits
162 - for_each_reflog_ent_reverse: turn leftover check into assertion
163 - for_each_reflog_ent_reverse: fix newlines on block boundaries
165 Will merge to 'next'.
168 * po/doc-assume-unchanged (2014-12-09) 2 commits
169 - gitignore.txt: do not suggest assume-unchanged
170 - doc: make clear --assume-unchanged's user contract
172 Fixes long-standing misunderstanding of what assume-unchanged is
173 about. Some text near what is removed by the bottom patch may also
176 Will merge to 'next'.
179 * tb/t0027-eol-conversion (2014-12-05) 1 commit
180 - t0027: check the eol conversion warnings
182 Will merge to 'next'.
185 * jk/always-allow-large-packets (2014-12-10) 1 commit
186 - pkt-line: allow writing of LARGE_PACKET_MAX buffers
188 Will merge to 'next'.
191 * jk/commit-date-approxidate (2014-12-10) 2 commits
192 - commit: always populate GIT_AUTHOR_* variables
193 - commit: loosen ident checks when generating template
195 Will merge to 'next'.
198 * jk/read-packed-refs-without-path-max (2014-12-10) 3 commits
199 - read_packed_refs: use skip_prefix instead of static array
200 - read_packed_refs: pass strbuf to parse_ref_line
201 - read_packed_refs: use a strbuf for reading lines
203 Will merge to 'next'.
206 * jn/dedup-doc-header (2014-12-09) 2 commits
207 - put string-list API documentation in one place
208 - put strbuf API documentation in one place
210 We would want to have an easy way for developers to learn about
211 APIs, and also a way to encourage them to keep the API
212 documentation up to date when they make changes. Having header
213 comments and API documentation duplicated in two different places
214 risked them going out of sync.
216 This removes the duplicates by dropping comments from the header;
217 it is just for discussion at this moment.
220 * jn/doc-api-errors (2014-12-04) 1 commit
221 - doc: document error handling functions and conventions
226 * js/fsck-tag-validation (2014-12-09) 2 commits
227 - index-pack: terminate object buffers with NUL
228 - fsck: properly bound "invalid tag name" error message
230 Follow-up to tag object format validation added in 2.2.
232 Will merge to 'next'.
235 * js/test-hashmap-squelch-gcc (2014-12-09) 1 commit
236 - test-hashmap: squelch gcc compiler warning
238 Will merge to 'next'.
241 * ok/rebase-i-count-todo (2014-12-10) 1 commit
242 - Show number of TODO items for interactive rebase
244 Will merge to 'next'.
247 * rw/apply-does-not-take-ignore-date (2014-12-09) 1 commit
248 - git-am.txt: --ignore-date flag is not passed to git-apply
251 Will merge to 'next'.
253 --------------------------------------------------
256 * ms/submodule-update-config-doc (2014-11-03) 1 commit
257 - submodule: clarify documentation for update subcommand
259 Needs a reroll ($gmane/259037).
262 * je/quiltimport-no-fuzz (2014-10-21) 2 commits
263 - git-quiltimport: flip the default not to allow fuzz
264 - git-quiltimport.sh: allow declining fuzz with --exact option
266 "quiltimport" drove "git apply" always with -C1 option to reduce
267 context of the patch in order to give more chance to somewhat stale
268 patches to apply. Add an "--exact" option to disable, and also
269 "-C$n" option to customize this behaviour. The top patch
270 optionally flips the default to "--exact".
272 Tired of waiting for an Ack; will discard.
275 * jc/push-cert-hmac-optim (2014-09-25) 2 commits
276 - receive-pack: truncate hmac early and convert only necessary bytes
277 - sha1_to_hex: split out "hex-format n bytes" helper and use it
279 This is "we could do this if we wanted to", not "we measured and it
280 improves performance critical codepath".
285 * mt/patch-id-stable (2014-06-10) 1 commit
286 - patch-id: change default to stable
288 Teaches "git patch-id" to compute the patch ID that does not change
289 when the files in a single patch is reordered. As this new algorithm
290 is backward incompatible, the last bit to flip it to be the default
291 is left out of 'master' for now.
293 Nobody seems to be jumping up & down requesting this last step,
294 which makes the result somewhat backward incompatible.
298 * tr/remerge-diff (2014-11-10) 9 commits
299 - t4213: avoid "|" in sed regexp
300 - log --remerge-diff: show what the conflict resolution changed
301 - name-hash: allow dir hashing even when !ignore_case
302 - merge-recursive: allow storing conflict hunks in index
303 - merge_diff_mode: fold all merge diff variants into an enum
304 - combine-diff: do not pass revs->dense_combined_merges redundantly
305 - merge-recursive: -Xindex-only to leave worktree unchanged
306 - merge-recursive: internal flag to avoid touching the worktree
307 - merge-recursive: remove dead conditional in update_stages()
309 "log -p" output learns a new way to let users inspect a merge
310 commit by showing the differences between the automerged result
311 with conflicts the person who recorded the merge would have seen
312 and the final conflict resolution that was recorded in the merge.
314 Waiting for a reroll ($gmane/256591).
317 * hv/submodule-config (2014-11-11) 4 commits
318 - do not die on error of parsing fetchrecursesubmodules option
319 - use new config API for worktree configurations of submodules
320 - extract functions for submodule config set and lookup
321 - implement submodule config cache for lookup of submodule names
323 Kicked back to 'pu' per request ($gmane/255610).
326 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
327 - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
328 - git-add--interactive: Preserve diff heading when splitting hunks
330 Waiting for a reroll.
333 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
334 - gitweb: Harden UTF-8 handling in generated links
339 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
340 - userdiff: support Java try keyword
341 - userdiff: support C# async methods and correct C# keywords
343 Reviews sent; waiting for a response.
346 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
347 - git-rebase: print name of rev when using shorthand
349 Teach "git rebase -" to report the concrete name of the branch
350 (i.e. the previous one).
352 But it stops short and does not do the same for "git rebase @{-1}".
356 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
357 - merge: drop unused arg from abort_commit method signature
358 - merge: make prepare_to_commit responsible for write_merge_state
359 - t7505: ensure cleanup after hook blocks merge
360 - t7505: add missing &&
362 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
363 run during "git merge". The log message stresses too much on one
364 hook, prepare-commit-msg, but it would equally apply to other hooks
365 like post-merge, I think.
367 Waiting for a reroll.
370 * jc/graph-post-root-gap (2013-12-30) 3 commits
371 - WIP: document what we want at the end
372 - graph: remove unused code a bit
373 - graph: stuff the current commit into graph->columns[]
375 This was primarily a RFH ($gmane/239580).
378 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
379 - perf-lib: add test_perf_cleanup target
380 - perf-lib: split starting the test from the execution
382 Add test_perf_cleanup shell function to the perf suite, that allows
383 the script writers to define a test with a clean-up action.
388 * jc/show-branch (2014-03-24) 5 commits
389 - show-branch: use commit slab to represent bitflags of arbitrary width
390 - show-branch.c: remove "all_mask"
391 - show-branch.c: abstract out "flags" operation
392 - show-branch.c: lift all_mask/all_revs to a global static
393 - show-branch.c: update comment style
395 Waiting for the final step to lift the hard-limit before sending it out.
397 --------------------------------------------------
400 * jc/exec-cmd-system-path-leak-fix (2014-11-30) 1 commit
401 - system_path(): always return free'able memory to the caller
403 The function sometimes returned a non-freeable memory and some
404 other times returned a piece of memory that must be freed.
406 Will merge to 'next'.
409 * jc/hook-cleanup (2014-12-01) 1 commit
410 (merged to 'next' on 2014-12-04 at 17059f5)
411 + run-command.c: retire unused run_hook_with_custom_index()
415 Will merge to 'master'.
418 * jk/push-simple (2014-11-30) 1 commit
419 (merged to 'next' on 2014-12-04 at 00785c7)
420 + push: truly use "simple" as default, not "upstream"
422 Git 2.0 was supposed to make the "simple" mode for the default of
423 "git push", but it didn't.
425 Will merge to 'master'.
428 * jn/rerere-fail-on-auto-update-failure (2014-12-03) 2 commits
430 - rerere: error out on autoupdate failure
432 Will be rerolled as a part of a larger series.
435 * js/push-to-deploy (2014-11-30) 2 commits
436 - t5516: more tests for receive.denyCurrentBranch=updateInstead
437 - receive-pack: add another option for receive.denyCurrentBranch
438 (this branch is used by jc/push-to-checkout.)
440 "git push" into a repository with a working tree normally refuses
441 to modify the branch that is checked out. The command learned to
442 optionally do an equivalent of "git reset --hard" only when there
443 is no change to the working tree and the index instead, which would
444 be useful to "deploy" by pushing into a repository.
446 Will merge to 'next'.
449 * jc/push-to-checkout (2014-12-01) 2 commits
450 - receive-pack: support push-to-checkout hook
451 - receive-pack: refactor updateInstead codepath
452 (this branch uses js/push-to-deploy.)
454 Extending the js/push-to-deploy topic, the behaviour of "git push"
455 when updating the working tree and the index with an update to the
456 branch that is checked out can be tweaked by push-to-checkout hook.
461 * lh/send-email-hide-x-mailer (2014-12-04) 4 commits
463 - test/send-email: --[no-]xmailer tests
465 - send-email: add --[no-]xmailer option
467 "git send-email" normally identifies itself via X-Mailer: header
468 in the message it sends out. A new command line flag allows the
469 header to be squelched.
472 * nd/list-files (2014-12-01) 19 commits
473 - list-files: -M aka diff-cached
474 - list-files -F: show submodules with the new indicator '&'
475 - list-files: add -F/--classify
476 - list-files: show directories as well as files
477 - list-files: do not show duplicate cached entries
478 - list-files: sort output and remove duplicates
479 - list-files: add -t back
480 - list-files: add -1 short for --no-column
481 - list-files: add -R/--recursive short for --max-depth=-1
482 - list-files: -u does not imply showing stages
483 - list-files: a user friendly version of ls-files and more
484 - ls-files: support --max-depth
485 - ls-files: add --column
486 - ls-files: add --color to highlight file names
487 - ls-files: buffer full item in strbuf before printing
488 - ls_colors.c: highlight submodules like directories
489 - ls_colors.c: add a function to color a file name
490 - ls_colors.c: parse color.ls.* from config file
491 - ls_colors.c: add $LS_COLORS parsing code
493 A new "git list-files" Porcelain command, "ls-files" with bells and
497 * nd/ls-tree-pathspec (2014-12-01) 5 commits
498 - t3102: style modernization
499 - t3102: document that ls-tree does not yet support negated pathspec
500 - ls-tree: disable negative pathspec because it's not supported
501 - ls-tree: remove path filtering logic in show_tree
502 - tree.c: update read_tree_recursive callback to pass strbuf as base
504 "git ls-tree" does not support path selection based on negative
505 pathspecs, but did not error out when negative pathspecs are given.
507 Will merge to 'next'.
510 * rj/t0050-passes (2014-11-30) 1 commit
511 - t0050-*.sh: mark the rename (case change) test as passing
513 Will merge to 'next'.
516 * rt/for-each-ref-spell-tcl-as-Tcl (2014-11-30) 1 commit
517 - for-each-ref: correct spelling of Tcl in option description
519 Will merge to 'next'.
522 * sb/ref-transaction-reflog (2014-12-03) 2 commits
523 - refs.c: rename transaction.updates to transaction.ref_updates
524 - refs.c: rename the transaction functions
525 (this branch uses sb/ref-transaction-unify-to-update.)
527 Will be rerolled as a part of a larger series.
530 * ye/http-accept-language (2014-12-03) 2 commits
532 - http: send Accept-Language header if possible
534 Breaks various people ($gmane/260903).
537 * jk/pack-bitmap (2014-11-30) 1 commit
538 (merged to 'next' on 2014-12-04 at eb457ad)
539 + pack-bitmap: do not use gcc packed attribute
541 Will merge to 'master'.
544 * nd/multiple-work-trees (2014-12-01) 34 commits
545 - git-common-dir: make "modules/" per-working-directory directory
546 - checkout: do not fail if target is an empty directory
547 - t2025: add a test to make sure grafts is working from a linked checkout
548 - checkout: don't require a work tree when checking out into a new one
549 - git_path(): keep "info/sparse-checkout" per work-tree
550 - count-objects: report unused files in $GIT_DIR/worktrees/...
551 - gc: support prune --worktrees
552 - gc: factor out gc.pruneexpire parsing code
553 - gc: style change -- no SP before closing parenthesis
554 - checkout: clean up half-prepared directories in --to mode
555 - checkout: reject if the branch is already checked out elsewhere
556 - prune: strategies for linked checkouts
557 - checkout: support checking out into a new working directory
558 - use new wrapper write_file() for simple file writing
559 - wrapper.c: wrapper to open a file, fprintf then close
560 - setup.c: support multi-checkout repo setup
561 - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
562 - setup.c: convert check_repository_format_gently to use strbuf
563 - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
564 - setup.c: convert is_git_directory() to use strbuf
565 - git-stash: avoid hardcoding $GIT_DIR/logs/....
566 - *.sh: avoid hardcoding $GIT_DIR/hooks/...
567 - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
568 - $GIT_COMMON_DIR: a new environment variable
569 - commit: use SEQ_DIR instead of hardcoding "sequencer"
570 - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
571 - reflog: avoid constructing .lock path with git_path
572 - *.sh: respect $GIT_INDEX_FILE
573 - git_path(): be aware of file relocation in $GIT_DIR
574 - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
575 - path.c: rename vsnpath() to do_git_path()
576 - git_snpath(): retire and replace with strbuf_git_path()
577 - path.c: make get_pathname() call sites return const char *
578 - path.c: make get_pathname() return strbuf instead of static buffer
580 A replacement for contrib/workdir/git-new-workdir that does not
581 rely on symbolic links and make sharing of objects and refs safer
582 by making the borrowee and borrowers aware of each other.
585 * jc/unpack-trees-plug-leak (2014-11-17) 1 commit
586 (merged to 'next' on 2014-12-04 at 9f1df30)
587 + unpack_trees: plug leakage of o->result
589 Will merge to 'master'.
592 * jk/colors (2014-12-09) 6 commits
593 (merged to 'next' on 2014-12-09 at 802437b)
594 + parse_color: drop COLOR_BACKGROUND macro
595 (merged to 'next' on 2014-12-04 at 8d2e37b)
596 + diff-highlight: allow configurable colors
597 + parse_color: recognize "no$foo" to clear the $foo attribute
598 + parse_color: support 24-bit RGB values
599 + parse_color: refactor color storage
600 + Merge branch 'jn/parse-config-slot' into jk/colors
601 (this branch uses jk/colors-fix.)
603 "diff-highlight" filter (in contrib/) allows its color output
604 to be customized via configuration variables.
606 Will merge to 'master'.
609 * jk/colors-fix (2014-11-20) 3 commits
610 (merged to 'next' on 2014-12-04 at 0d97d69)
611 + t4026: test "normal" color
612 + config: fix parsing of "git config --get-color some.key -1"
613 + docs: describe ANSI 256-color mode
614 (this branch is used by jk/colors.)
616 Will merge to 'master'.
619 * jk/lock-ref-sha1-basic-return-errors (2014-11-20) 1 commit
620 - lock_ref_sha1_basic: do not die on locking errors
622 Will merge to 'next'.
625 * jk/no-perl-tests (2014-11-18) 2 commits
626 (merged to 'next' on 2014-12-04 at f166620)
627 + t960[34]: mark cvsimport tests as requiring perl
628 + t0090: mark add-interactive test with PERL prerequisite
630 Some tests that depend on perl lacked PERL prerequisite to protect
631 them, breaking build with NO_PERL configuration.
633 Will merge to 'master'.
636 * jk/rebuild-perl-scripts-with-no-perl-seting-change (2014-11-18) 3 commits
637 (merged to 'next' on 2014-12-04 at 27382d3)
638 + Makefile: have python scripts depend on NO_PYTHON setting
639 + Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros
640 + Makefile: have perl scripts depend on NO_PERL setting
642 The build procedure did not bother fixing perl and python scripts
643 when NO_PERL and NO_PYTHON build-time configuration changed.
645 Will merge to 'master'.
648 * mh/config-copy-string-from-git-path (2014-11-17) 1 commit
649 (merged to 'next' on 2014-12-04 at 9c9518b)
650 + cmd_config(): make a copy of path obtained from git_path()
652 Will merge to 'master'.
655 * po/everyday-doc (2014-11-17) 1 commit
656 (merged to 'next' on 2014-12-04 at 39d31fb)
657 + Documentation: change "gitlink" typo in git-push
659 Will merge to 'master'.
662 * ps/new-workdir-into-empty-directory (2014-12-03) 1 commit
663 - git-new-workdir: don't fail if the target directory is empty
665 Will merge to 'next'.
668 * rt/push-recurse-submodule-usage-string (2014-11-18) 1 commit
669 (merged to 'next' on 2014-12-04 at c43e23c)
670 + builtin/push.c: fix description of --recurse-submodules option
672 Will merge to 'master'.
675 * sb/copy-fd-errno (2014-11-17) 1 commit
676 - copy.c: make copy_fd preserve meaningful errno
678 Will be rerolled as a part of a larger series.
681 * sb/log-ref-write-fd (2014-11-20) 1 commit
682 - refs.c: add a function to append a reflog entry to a fd
684 Will be rerolled as a part of a larger series.
687 * sb/ref-transaction-unify-to-update (2014-11-20) 2 commits
688 - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
689 - refs.c: make ref_transaction_create a wrapper for ref_transaction_update
690 (this branch is used by sb/ref-transaction-reflog.)
694 Will be rerolled as a part of a larger series.
697 * sv/doc-stripspace (2014-12-04) 1 commit
698 (merged to 'next' on 2014-12-04 at 32fd559)
699 + Documentation/git-stripspace: add synopsis for --comment-lines
701 Will merge to 'master'.
704 * sv/typofix-apply-error-message (2014-11-17) 1 commit
705 (merged to 'next' on 2014-12-04 at de7547a)
706 + apply: fix typo in an error message
708 Will merge to 'master'.
711 * da/difftool-mergetool-simplify-reporting-status (2014-11-21) 5 commits
712 (merged to 'next' on 2014-12-04 at c3c329f)
713 + mergetools: stop setting $status in merge_cmd()
714 + mergetool: simplify conditionals
715 + difftool--helper: add explicit exit statement
716 + mergetool--lib: remove use of $status global
717 + mergetool--lib: remove no-op assignment to $status from setup_user_tool
721 Will merge to 'master'.
724 * dw/shell-basename-dashdash-before-stripping-leading-dash-from-login (2014-11-25) 1 commit
725 - git-sh-setup.sh: use dashdash with basename call
727 Will merge to 'next'.
730 * jc/refer-to-t-readme-from-submitting-patches (2014-11-24) 2 commits
731 - t/README: justify why "! grep foo" is sufficient
732 - SubmittingPatches: refer to t/README for tests
734 Will merge to 'next'.
737 * jc/t9001-modernise (2014-11-25) 5 commits
738 - t9001: style modernisation phase #5
739 - t9001: style modernisation phase #4
740 - t9001: style modernisation phase #3
741 - t9001: style modernisation phase #2
742 - t9001: style modernisation phase #1
743 (this branch uses pb/send-email-te.)
746 * js/t5000-dont-copy-bin-sh (2014-11-24) 1 commit
747 - t5000 on Windows: do not mistake "sh.exe" as "sh"
749 Will merge to 'next'.
752 * mg/add-ignore-errors (2014-11-21) 1 commit
753 - add: ignore only ignored files
755 Will merge to 'next'.
758 * mh/find-uniq-abbrev (2014-11-26) 1 commit
759 - sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev
761 Will merge to 'next'.
764 * mh/simplify-repack-without-refs (2014-11-25) 7 commits
765 - sort_string_list(): rename to string_list_sort()
766 - prune_remote(): iterate using for_each_string_list_item()
767 - prune_remote(): rename local variable
768 - repack_without_refs(): make the refnames argument a string_list
769 - prune_remote(): sort delete_refs_list references en masse
770 - prune_remote(): initialize both delete_refs lists in a single loop
771 - prune_remote(): exit early if there are no stale references
773 Will merge to 'next'.
776 * pb/am-message-id-footer (2014-11-25) 2 commits
777 - git-am: add --message-id/--no-message-id
778 - git-mailinfo: add --message-id
780 Will merge to 'next'.
783 * pb/send-email-te (2014-11-25) 2 commits
784 - git-send-email: add --transfer-encoding option
785 - git-send-email: delay creation of MIME headers
786 (this branch is used by jc/t9001-modernise.)
788 Will merge to 'next'.
791 * pw/remote-set-url-fetch (2014-11-26) 1 commit
792 - remote: add --fetch and --both options to set-url
794 Still under discussion.
797 * rj/no-xopen-source-for-cygwin (2014-11-24) 1 commit
798 - git-compat-util.h: don't define _XOPEN_SOURCE on cygwin
800 Will merge to 'next'.
803 * sb/string-list (2014-12-04) 3 commits
804 - string_list: remove string_list_insert_at_index() from its API
805 - mailmap: use higher level string list functions
806 - string_list: document string_list_(insert,lookup)
808 Will merge to 'next'.
811 * sb/write-sha1-update-reflog (2014-11-24) 1 commit
812 - refs.c: move reflog updates into its own function
814 Moves a part of function around to add a helper that still only has
815 one caller. Need to see how this helps in a bigger picture.
818 * tb/config-core-filemode-check-on-broken-fs (2014-11-21) 1 commit
819 - init-db: improve the filemode trustability check
821 Will merge to 'next'.
824 * jk/approxidate-avoid-y-d-m-over-future-dates (2014-11-13) 2 commits
825 (merged to 'next' on 2014-11-14 at 3c11a1b)
826 + approxidate: allow ISO-like dates far in the future
827 + pass TIME_DATE_NOW to approxidate future-check
829 Traditionally we tried to avoid interpreting date strings given by
830 the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
831 used early November 2014 was taken as "October 12, 2014" because it
832 is likely that a date in the future, December 10, is a mistake.
834 Loosen this and do not tiebreak by future-ness of the date when
836 (1) ISO-like format is used, and
837 (2) the string can make sense interpreted as both y-m-d and y-d-m.
842 * mb/enable-lib-terminal-test-on-newer-darwin (2014-11-14) 1 commit
843 (merged to 'next' on 2014-11-14 at b2aae27)
844 + t/lib-terminal: allow TTY tests to run under recent Mac OS
846 We probably should drop this ($gmane/259609).
849 * br/imap-send-verbosity (2014-11-05) 1 commit
850 (merged to 'next' on 2014-11-12 at d9e58ec)
851 + imap-send: use parse options API to determine verbosity
852 (this branch is used by br/imap-send-via-libcurl.)
857 * br/imap-send-via-libcurl (2014-11-10) 1 commit
858 (merged to 'next' on 2014-11-12 at 5327ab4)
859 + git-imap-send: use libcurl for implementation
860 (this branch uses br/imap-send-verbosity.)
865 * cc/interpret-trailers-more (2014-11-10) 4 commits
866 - trailer: add test with an old style conflict block
867 - trailer: reuse ignore_non_trailer() to ignore conflict lines
868 - commit: make ignore_non_trailer() non static
869 - Merge branch 'jc/conflict-hint' into cc/interpret-trailers-more
870 (this branch uses jc/conflict-hint.)
872 Will merge to 'next'.
875 * nd/lockfile-absolute (2014-11-03) 1 commit
876 (merged to 'next' on 2014-11-06 at 68722a9)
877 + lockfile.c: store absolute path
879 The lockfile API can get confused which file to clean up when the
880 process moved the $cwd after creating a lockfile.
885 * jc/merge-bases (2014-10-30) 2 commits
886 (merged to 'next' on 2014-11-06 at 491e576)
887 + get_merge_bases(): always clean-up object flags
888 + bisect: clean flags after checking merge bases
893 * jc/strbuf-add-lines-avoid-sp-ht-sequence (2014-10-27) 1 commit
894 (merged to 'next' on 2014-10-29 at 9167582)
895 + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines
897 The commented output used to blindly add a SP before the payload
898 line, resulting in "# \t<indented text>\n" when the payload began
899 with a HT. Instead, produce "#\t<indented text>\n".
904 * nd/untracked-cache (2014-10-27) 19 commits
905 - t7063: tests for untracked cache
906 - update-index: test the system before enabling untracked cache
907 - update-index: manually enable or disable untracked cache
908 - status: enable untracked cache
909 - untracked cache: mark index dirty if untracked cache is updated
910 - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
911 - untracked cache: avoid racy timestamps
912 - read-cache.c: split racy stat test to a separate function
913 - untracked cache: invalidate at index addition or removal
914 - untracked cache: load from UNTR index extension
915 - untracked cache: save to an index extension
916 - untracked cache: don't open non-existent .gitignore
917 - untracked cache: mark what dirs should be recursed/saved
918 - untracked cache: record/validate dir mtime and reuse cached output
919 - untracked cache: make a wrapper around {open,read,close}dir()
920 - untracked cache: invalidate dirs recursively if .gitignore changes
921 - untracked cache: initial untracked cache validation
922 - untracked cache: record .gitignore information and dir hierarchy
923 - dir.c: optionally compute sha-1 of a .gitignore file
928 * zk/grep-color-words (2014-10-27) 2 commits
929 (merged to 'next' on 2014-10-28 at 4d0457c)
930 + Revert "grep: fix match highlighting for combined patterns with context lines"
931 (merged to 'next' on 2014-10-24 at 2d2f8f8)
932 + grep: fix match highlighting for combined patterns with context lines
934 rs/grep-color-words topic solves it in a different way.
939 * jc/conflict-hint (2014-10-28) 4 commits
940 (merged to 'next' on 2014-10-29 at 693250f)
941 + merge & sequencer: turn "Conflicts:" hint into a comment
942 + builtin/commit.c: extract ignore_non_trailer() helper function
943 + merge & sequencer: unify codepaths that write "Conflicts:" hint
944 + builtin/merge.c: drop a parameter that is never used
945 (this branch is used by cc/interpret-trailers-more.)
947 Unlike all the other hints given in the commit log editor, the list
948 of conflicted paths were appended at the end without commented out.
953 * jc/diff-b-m (2014-10-23) 1 commit
954 (merged to 'next' on 2014-10-28 at 4daedb1)
955 + diff -B -M: fix output for "copy and then rewrite" case
957 Fix long-standing bug in "diff -B -M" output.
962 * jc/checkout-local-track-report (2014-10-14) 1 commit
963 (merged to 'next' on 2014-10-21 at f636a00)
964 + checkout: report upstream correctly even with loosely defined branch.*.merge
966 The report from "git checkout" on a branch that builds on another
967 local branch by setting its branch.*.merge to branch name (not a
968 full refname) incorrectly said that the upstream is gone.
973 * jc/clone-borrow (2014-10-15) 1 commit
974 (merged to 'next' on 2014-10-21 at b76ea34)
975 + clone: --dissociate option to mark that reference is only temporary
977 Allow "git clone --reference" to be used more safely.
981 --------------------------------------------------
984 * jt/timer-settime (2014-08-29) 6 commits
985 . use timer_settime() for new platforms
986 . autoconf: check for timer_settime()
987 . autoconf: check for struct itimerspec
988 . autoconf: check for struct sigevent
989 . autoconf: check for struct timespec
990 . autoconf: check for timer_t
992 Was wanting for a reroll.
995 * rs/ref-transaction-reflog (2014-11-03) 15 commits
996 . refs.c: allow deleting refs with a broken sha1
997 . refs.c: remove lock_any_ref_for_update
998 . refs.c: make unlock_ref/close_ref/commit_ref static
999 . refs.c: rename log_ref_setup to create_reflog
1000 . reflog.c: use a reflog transaction when writing during expire
1001 . refs.c: allow multiple reflog updates during a single transaction
1002 . refs.c: only write reflog update if msg is non-NULL
1003 . refs.c: add a flag to allow reflog updates to truncate the log
1004 . refs.c: add a transaction function to append a reflog entry
1005 . copy.c: make copy_fd preserve meaningful errno
1006 . refs.c: add a function to append a reflog entry to a fd
1007 . refs.c: add a new update_type field to ref_update
1008 . refs.c: rename the transaction functions
1009 . refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
1010 . refs.c make ref_transaction_create a wrapper to ref_transaction_update
1011 (this branch is used by rs/ref-transaction-rename and rs/ref-transaction-send-pack.)
1013 Stefan Beller started working on reorganizing these three series,
1014 which unfortunately did not see much reviews.
1017 * rs/ref-transaction-rename (2014-11-07) 16 commits
1018 . refs.c: add an err argument to pack_refs
1019 . refs.c: make lock_packed_refs take an err argument
1020 . refs.c: make add_packed_ref return an error instead of calling die
1021 . refs.c: replace the onerr argument in update_ref with a strbuf err
1022 . refs.c: make the *_packed_refs functions static
1023 . refs.c: make repack_without_refs static
1024 . remote.c: use a transaction for deleting refs
1025 . refs.c: write updates to packed refs when a transaction has more than one ref
1026 . refs.c: move reflog updates into its own function
1027 . refs.c: rollback the lockfile before we die() in repack_without_refs
1028 . refs.c: update rename_ref to use a transaction
1029 . refs.c: add transaction support for renaming a reflog
1030 . refs.c: use a stringlist for repack_without_refs
1031 . refs.c: use packed refs when deleting refs during a transaction
1032 . refs.c: return error instead of dying when locking fails during transaction
1033 . refs.c: allow passing raw git_committer_info as email to _update_reflog
1034 (this branch is used by rs/ref-transaction-send-pack; uses rs/ref-transaction-reflog.)
1036 Stefan Beller started working on reorganizing these three series,
1037 which unfortunately did not see much reviews.
1040 * rs/ref-transaction-send-pack (2014-11-07) 7 commits
1041 . refs.c: add an err argument to create_symref
1042 . refs.c: add an err argument to create_reflog
1043 . t5543-atomic-push.sh: add basic tests for atomic pushes
1044 . push.c: add an --atomic-push argument
1045 . receive-pack.c: use a single transaction when atomic-push is negotiated
1046 . send-pack.c: add an --atomic-push command line argument
1047 . receive-pack.c: add protocol support to negotiate atomic-push
1048 (this branch uses rs/ref-transaction-reflog and rs/ref-transaction-rename.)
1050 Stefan Beller started working on reorganizing these three series,
1051 which unfortunately did not see much reviews.
1054 * sb/simplify-repack-without-refs (2014-11-20) 1 commit
1055 . refs.c: use a string_list for repack_without_refs