Meta/Make: cleanse random environment variables getting in a way
[alt-git.git] / whats-cooking.txt
blob796aa1b38bac420f0f412cfa1b4fddf510d57ce4
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Aug 2014, #02; Fri, 8)
4 X-master-at: f82887f29010e1ec88ec1930a99ddc56b6438452
5 X-next-at: edb03e5a9b9b63d0864557f99f339b2b5f3a9e4e
7 What's cooking in git.git (Aug 2014, #02; Fri, 8)
8 --------------------------------------------------
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'.
14 The second release candidate snapshot is out.  Hopefully after a
15 week of a calm pre-release "bugfix-only" period, we can do the 2.1
16 final late next week.
18 You can find the changes described here in the integration branches
19 of the repositories listed at
21     http://git-blame.blogspot.com/p/git-public-repositories.html
23 --------------------------------------------------
24 [Graduated to "master"]
26 * ta/doc-config (2014-07-30) 1 commit
27   (merged to 'next' on 2014-07-31 at ec577fa)
28  + add documentation for writing config files
31 * tf/maint-doc-push (2014-07-31) 1 commit
32   (merged to 'next' on 2014-07-31 at 6a8ef70)
33  + git-push: fix link in man page
35 --------------------------------------------------
36 [New Topics]
38 * tf/imap-send-create (2014-08-01) 3 commits
39  - SQUASH??? varargs form of issue-imap-cmd is no longer used
40  - imap-send: create target mailbox if it is missing
41  - imap-send: clarify CRAM-MD5 vs LOGIN documentation
43  Will merge to 'next' after dealing with the SQUASH??? fix-up.
46 * bc/archive-pax-header-mode (2014-08-04) 1 commit
47  - archive: honor tar.umask even for pax headers
49  Implementations of "tar" that do not understand an extended pax
50  header would extract the contents of it in a regular file; make
51  sure the permission bits of this file follows the same tar.umask
52  configuration setting.
54  Will merge to 'next'.
57 * bc/imap-send-doc (2014-08-05) 1 commit
58  - imap-send doc: omit confusing "to use imap-send" modifier
60  Will merge to 'next'.
63 * jc/apply-ws-prefix (2014-08-07) 3 commits
64  - apply: omit ws check for excluded paths
65  - apply: hoist use_patch() helper for path exclusion up
66  - apply: use the right attribute for paths in non-Git patches
68  Applying a patch not generated by Git in a subdirectory used to
69  check the whitespace breakage using the attributes for incorrect
70  paths. Also whitespace checks were performed even for paths
71  excluded via "git apply --exclude=<path>" mechanism.
73  Will merge to 'next'.
76 * jk/command-line-config-empty-string (2014-08-05) 1 commit
77  - config: teach "git -c" to recognize an empty string
79  "git -c section.var command" and "git -c section.var= command"
80  should pass the configuration differently (the former should be
81  a boolean true, the latter should be an empty string).
83  Will merge to 'next'.
86 * jk/pack-bitmap (2014-08-04) 1 commit
87  - pack-bitmap: do not use gcc packed attribute
89  Will merge to 'next'.
92 * jk/pretty-empty-format (2014-07-30) 3 commits
93  - pretty: make empty userformats truly empty
94  - pretty: treat "--format=" as an empty userformat
95  - revision: drop useless string offset when parsing "--pretty"
97  "git log --pretty/format=" with an empty format string did not mean
98  the more obvious "No output whatsoever" but "Use default format",
99  which was counterintuitive.
101  Will merge to 'next'.
104 * la/init-doc (2014-08-08) 7 commits
105  - Documentation: git-init: flesh out example
106  - Documentation: git-init: template directory: reword and cross-reference
107  - Documentation: git-init: reword parenthetical statements
108  - Documentation: git-init: --separate-git-dir: clarify
109  - Documentation: git-init: template directory: reword
110  - Documentation: git-init: list items facelift
111  - Documentation: git-init: typographical fixes
113  Will merge to 'next'.
116 * lf/bundle-exclusion (2014-08-07) 1 commit
117  - bundle: fix exclusion of annotated tags
119  Will merge to 'next'.
122 * mm/log-branch-desc-plug-leak (2014-08-07) 1 commit
123  - builtin/log.c: fix minor memory leak
125  Will merge to 'next'.
128 * ta/config-set-1 (2014-08-07) 8 commits
129  - add tests for `git_config_get_string_const()`
130  - add a test for semantic errors in config files
131  - rewrite git_config() to use the config-set API
132  - config: add `git_die_config()` to the config-set API
133  - change `git_config()` return value to void
134  - add line number and file name info to `config_set`
135  - config.c: fix accuracy of line number in errors
136  - config.c: mark error and warnings strings for translation
137  (this branch is used by ta/config-set-2; uses ta/config-set.)
140 * ta/config-set-2 (2014-08-07) 11 commits
141  - branch.c: replace `git_config()` with `git_config_get_string()
142  - alias.c: replace `git_config()` with `git_config_get_string()`
143  - imap-send.c: replace `git_config()` with `git_config_get_*()` family
144  - pager.c: replace `git_config()` with `git_config_get_value()`
145  - builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
146  - rerere.c: replace `git_config()` with `git_config_get_*()` family
147  - fetchpack.c: replace `git_config()` with `git_config_get_*()` family
148  - archive.c: replace `git_config()` with `git_config_get_bool()` family
149  - read-cache.c: replace `git_config()` with `git_config_get_*()` family
150  - http-backend.c: replace `git_config()` with `git_config_get_bool()` family
151  - daemon.c: replace `git_config()` with `git_config_get_bool()` family
152  (this branch uses ta/config-set and ta/config-set-1.)
155 * ta/pretty-parse-config (2014-08-04) 1 commit
156  - pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
158  Will merge to 'next'.
160 --------------------------------------------------
161 [Stalled]
163 * jk/tag-contains (2014-06-30) 8 commits
164  . perf: add tests for tag --contains
165  . tag: use commit_contains
166  . commit: provide a fast multi-tip contains function
167  . string-list: add pos to iterator callback
168  . add functions for memory-efficient bitmaps
169  . paint_down_to_common: use prio_queue
170  . tag: factor out decision to stream tags
171  . tag: allow --sort with -n
173  Expecting a reroll.
176 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
177  - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
178  - git-add--interactive: Preserve diff heading when splitting hunks
180  Waiting for a reroll.
183 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
184  - gitweb: Harden UTF-8 handling in generated links
186  $gmane/250758?
189 * rh/prompt-tests (2014-06-05) 11 commits
190  - t9904: new __git_ps1 tests for Zsh
191  - test-lib: make it possible to override how test code is eval'd
192  - lib-prompt-tests.sh: add variable for string that encodes percent in PS1
193  - lib-prompt-tests.sh: put all tests inside a function
194  - t9903: move prompt tests to a new lib-prompt-tests.sh file
195  - t9903: move PS1 color code variable definitions to lib-bash.sh
196  - t9903: include "Bash" in test names via new $shellname var
197  - t9903: run pc mode tests again with PS1 expansion disabled
198  - t9903: move test name prefix to a separate variable
199  - t9903: put the Bash pc mode prompt test cases in a function
200  - t9903: remove Zsh test from the suite of Bash prompt tests
202  Expecting a reroll to limit the damage to test_eval_; also reported
203  to be broken with older zsh that are still in the field ($gmane/251231).
206 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
207  - userdiff: support Java try keyword
208  - userdiff: support C# async methods and correct C# keywords
210  Reviews sent; waiting for a response.
213 * cc/interpret-trailers (2014-05-28) 11 commits
214  - Documentation: add documentation for 'git interpret-trailers'
215  - trailer: add tests for commands in config file
216  - trailer: execute command from 'trailer.<name>.command'
217  - trailer: add tests for "git interpret-trailers"
218  - trailer: add interpret-trailers command
219  - trailer: put all the processing together and print
220  - trailer: parse trailers from file or stdin
221  - trailer: process command line trailer arguments
222  - trailer: read and process config information
223  - trailer: process trailers from input message and arguments
224  - trailer: add data structures and basic functions
226  A new filter to programatically edit the tail end of the commit log
227  messages.
229  What is the status of this one?  I think I saw reviews by Michael
230  but after that I do not recall seeing any updates.
233 * mh/lockfile (2014-04-15) 25 commits
234  . trim_last_path_elm(): replace last_path_elm()
235  . resolve_symlink(): take a strbuf parameter
236  . resolve_symlink(): use a strbuf for internal scratch space
237  . change lock_file::filename into a strbuf
238  . commit_lock_file(): use a strbuf to manage temporary space
239  . try_merge_strategy(): use a statically-allocated lock_file object
240  . try_merge_strategy(): remove redundant lock_file allocation
241  . struct lock_file: declare some fields volatile
242  . lockfile: avoid transitory invalid states
243  . commit_lock_file(): die() if called for unlocked lockfile object
244  . commit_lock_file(): inline temporary variable
245  . remove_lock_file(): call rollback_lock_file()
246  . lock_file(): exit early if lockfile cannot be opened
247  . write_packed_entry_fn(): convert cb_data into a (const int *)
248  . prepare_index(): declare return value to be (const char *)
249  . delete_ref_loose(): don't muck around in the lock_file's filename
250  . cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
251  . lockfile.c: document the various states of lock_file objects
252  . lock_file(): always add lock_file object to lock_file_list
253  . hold_lock_file_for_append(): release lock on errors
254  . lockfile: unlock file if lockfile permissions cannot be adjusted
255  . rollback_lock_file(): set fd to -1
256  . rollback_lock_file(): do not clear filename redundantly
257  . api-lockfile: expand the documentation
258  . unable_to_lock_die(): rename function from unable_to_lock_index_die()
260  Ejected from 'pu' to unclutter.
261  Expecting a reroll.
264 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
265  - git-rebase: print name of rev when using shorthand
267  Teach "git rebase -" to report the concrete name of the branch
268  (i.e. the previous one).
270  But it stops short and does not do the same for "git rebase @{-1}".
271  Expecting a reroll.
274 * tr/merge-recursive-index-only (2014-02-05) 3 commits
275  - merge-recursive: -Xindex-only to leave worktree unchanged
276  - merge-recursive: internal flag to avoid touching the worktree
277  - merge-recursive: remove dead conditional in update_stages()
278  (this branch is used by tr/remerge-diff.)
281 * tr/remerge-diff (2014-02-26) 5 commits
282  . log --remerge-diff: show what the conflict resolution changed
283  . name-hash: allow dir hashing even when !ignore_case
284  . merge-recursive: allow storing conflict hunks in index
285  . revision: fold all merge diff variants into an enum merge_diff_mode
286  . combine-diff: do not pass revs->dense_combined_merges redundantly
287  (this branch uses tr/merge-recursive-index-only.)
289  "log -p" output learns a new way to let users inspect a merge
290  commit by showing the differences between the automerged result
291  with conflicts the person who recorded the merge would have seen
292  and the final conflict resolution that was recorded in the merge.
294  Needs to be rebased, now kb/fast-hashmap topic is in.
297 * jk/makefile (2014-02-05) 16 commits
298  . FIXUP
299  . move LESS/LV pager environment to Makefile
300  . Makefile: teach scripts to include make variables
301  . FIXUP
302  . Makefile: auto-build C strings from make variables
303  . Makefile: drop *_SQ variables
304  . FIXUP
305  . Makefile: add c-quote helper function
306  . Makefile: introduce sq function for shell-quoting
307  . Makefile: always create files via make-var
308  . Makefile: store GIT-* sentinel files in MAKE/
309  . Makefile: prefer printf to echo for GIT-*
310  . Makefile: use tempfile/mv strategy for GIT-*
311  . Makefile: introduce make-var helper function
312  . Makefile: fix git-instaweb dependency on gitweb
313  . Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
315  Simplify the Makefile rules and macros that exist primarily for
316  quoting purposes, and make it easier to robustly express the
317  dependency rules.
319  Expecting a reroll.
322 * po/everyday-doc (2014-01-27) 1 commit
323  - Make 'git help everyday' work
325  This may make the said command to emit something, but the source is
326  not meant to be formatted into a manual pages to begin with, and
327  also its contents are a bit stale.  It may be a good first step in
328  the right direction, but needs more work to at least get the
329  mark-up right before public consumption.
331  Will hold.
334 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
335  - merge: drop unused arg from abort_commit method signature
336  - merge: make prepare_to_commit responsible for write_merge_state
337  - t7505: ensure cleanup after hook blocks merge
338  - t7505: add missing &&
340  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
341  run during "git merge".  The log message stresses too much on one
342  hook, prepare-commit-msg, but it would equally apply to other hooks
343  like post-merge, I think.
345  Waiting for a reroll.
348 * jc/graph-post-root-gap (2013-12-30) 3 commits
349  - WIP: document what we want at the end
350  - graph: remove unused code a bit
351  - graph: stuff the current commit into graph->columns[]
353  This was primarily a RFH ($gmane/239580).
356 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
357  - perf-lib: add test_perf_cleanup target
358  - perf-lib: split starting the test from the execution
360  Add test_perf_cleanup shell function to the perf suite, that allows
361  the script writers to define a test with a clean-up action.
363  Will hold.
366 * jc/show-branch (2014-03-24) 5 commits
367  - show-branch: use commit slab to represent bitflags of arbitrary width
368  - show-branch.c: remove "all_mask"
369  - show-branch.c: abstract out "flags" operation
370  - show-branch.c: lift all_mask/all_revs to a global static
371  - show-branch.c: update comment style
373  Waiting for the final step to lift the hard-limit before sending it out.
375 --------------------------------------------------
376 [Cooking]
378 * jk/stash-list-p (2014-08-07) 1 commit
379  - stash: default listing to working-tree diff
381  Teach "git stash list -p" to show the difference between the base
382  commit version and the working tree version, which is in line with
383  what "git show" gives.
385  Will merge to 'next'.
388 * pr/remotes-in-hashmap (2014-07-30) 1 commit
389  - use a hashmap to make remotes faster
391  Optimize remotes configuration look-up in a repository with very
392  many remotes defined.
394  Will merge to 'next'.
397 * rs/ref-transaction-multi (2014-07-31) 5 commits
398  - refs.c: make the *_packed_refs functions static
399  - refs.c: make repack_without_refs static
400  - remote.c: use a transaction for deleting refs
401  - refs.c: write updates to packed refs when a transaction has more than one ref
402  - refs.c: move reflog updates into its own function
403  (this branch uses rs/ref-transaction, rs/ref-transaction-1, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
405  Follow-up on rs/ref-transaction series to use the packed-ref to
406  achieve atomicity when multiple refs are involved.
408  No more nitpicks and better design suggestions?
411 * rs/ref-transaction-rename (2014-07-31) 5 commits
412  - refs.c: rollback the lockfile before we die() in repack_without_refs
413  - refs.c: update rename_ref to use a transaction
414  - refs.c: use packed refs when deleting refs during a transaction
415  - refs.c: return error instead of dying when locking fails during transaction
416  - refs.c: allow passing raw git_committer_info as email to _update_reflog
417  (this branch is used by rs/ref-transaction-multi; uses rs/ref-transaction, rs/ref-transaction-1 and rs/ref-transaction-reflog.)
419  Follow-up on rs/ref-transaction series to make renaming a ref
420  transactional (i.e. "delete old and create new" should not leave
421  an in-between state behind when it fails).
423  No more nitpicks and better design suggestions?
426 * nd/lock-paths-absolute (2014-08-01) 3 commits
427  - lockfile.c: store absolute path
428  - lockfile.c: remove PATH_MAX limit in resolve_symlink()
429  - lockfile.c: remove PATH_MAX limitation (except in resolve_symlink)
430  (this branch uses rs/strbuf-getcwd.)
432  Will merge to 'next'.
435 * mm/config-message-i18n (2014-08-01) 1 commit
436  - config.c: mark error and warnings strings for translation
438  Will discard (now at the bottom of ta/config-set-1 topic).
441 * mm/config-edit-global (2014-07-25) 3 commits
442   (merged to 'next' on 2014-07-31 at ecce1c7)
443  + commit: advertise config --global --edit on guessed identity
444  + home_config_paths(): let the caller ignore xdg path
445  + config --global --edit: create a template file if needed
447  Start "git config --edit --global" from a skeletal per-user
448  configuration file contents, instead of a total blank, when the
449  user does not already have any.  This immediately reduces the need
450  for a later "Have you forgotten setting core.user?" and we can add
451  more to the template as we gain more experience.
453  Will cook in 'next'.
456 * rs/init-no-duplicate-real-path (2014-07-28) 1 commit
457   (merged to 'next' on 2014-07-31 at 683112e)
458  + init: avoid superfluous real_path() calls
460  Will cook in 'next'.
463 * rs/ref-transaction-reflog (2014-07-23) 15 commits
464  - refs.c: allow deleting refs with a broken sha1
465  - refs.c: remove lock_any_ref_for_update
466  - refs.c: make unlock_ref/close_ref/commit_ref static
467  - refs.c: rename log_ref_setup to create_reflog
468  - reflog.c: use a reflog transaction when writing during expire
469  - refs.c: allow multiple reflog updates during a single transaction
470  - refs.c: only write reflog update if msg is non-NULL
471  - refs.c: add a flag to allow reflog updates to truncate the log
472  - refs.c: add a transaction function to append a reflog entry
473  - lockfile.c: make hold_lock_file_for_append preserve meaningful errno
474  - refs.c: add a function to append a reflog entry to a fd
475  - refs.c: add a new update_type field to ref_update
476  - refs.c: rename the transaction functions
477  - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
478  - refs.c: make ref_transaction_create a wrapper to ref_transaction_update
479  (this branch is used by rs/ref-transaction-multi and rs/ref-transaction-rename; uses rs/ref-transaction and rs/ref-transaction-1.)
481  Cover updates to reflog with the same transaction mechanism as used
482  for reflog manipulations.
484  No more nitpicks and better design suggestions?
487 * cb/mergetool-difftool (2014-07-21) 2 commits
488  - difftool: don't assume that default sh is sane
489  - mergetool: don't require a work tree for --tool-help
491  Update the way the "difftool --help" shows the help message that is
492  shared with the "mergetool" to reduce one shell dependency.
494  Will merge to 'next'.
497 * rs/strbuf-getcwd (2014-07-29) 10 commits
498   (merged to 'next' on 2014-07-31 at 6edc3bc)
499  + use strbuf_add_absolute_path() to add absolute paths
500  + abspath: convert absolute_path() to strbuf
501  + use xgetcwd() to set $GIT_DIR
502  + use xgetcwd() to get the current directory or die
503  + wrapper: add xgetcwd()
504  + abspath: convert real_path_internal() to strbuf
505  + abspath: use strbuf_getcwd() to remember original working directory
506  + setup: convert setup_git_directory_gently_1 et al. to strbuf
507  + unix-sockets: use strbuf_getcwd()
508  + strbuf: add strbuf_getcwd()
509  (this branch is used by nd/lock-paths-absolute.)
511  Will cook in 'next'.
514 * jc/not-mingw-cygwin (2014-07-21) 2 commits
515  - test prerequisites: enumerate with commas
516  - test prerequisites: eradicate NOT_FOO
518  We have been using NOT_{MINGW,CYGWIN} test prerequisites long
519  before Peff invented support for negated prerequisites e.g. !MINGW
520  and we still add more uses of the former.  Convert them to the
521  latter to avoid confusion.
524 * ta/config-set (2014-07-29) 2 commits
525  - test-config: add tests for the config_set API
526  - add `config_set` API for caching config-like files
527  (this branch is used by ta/config-set-1 and ta/config-set-2.)
529  Add in-core caching layer to let us avoid reading the same
530  configuration files number of times.
532  Will merge to 'next'.
535 * rs/ref-transaction-1 (2014-07-16) 20 commits
536  - refs.c: make delete_ref use a transaction
537  - refs.c: make prune_ref use a transaction to delete the ref
538  - refs.c: remove lock_ref_sha1
539  - refs.c: remove the update_ref_write function
540  - refs.c: remove the update_ref_lock function
541  - refs.c: make lock_ref_sha1 static
542  - walker.c: use ref transaction for ref updates
543  - fast-import.c: use a ref transaction when dumping tags
544  - receive-pack.c: use a reference transaction for updating the refs
545  - refs.c: change update_ref to use a transaction
546  - branch.c: use ref transaction for all ref updates
547  - fast-import.c: change update_branch to use ref transactions
548  - sequencer.c: use ref transactions for all ref updates
549  - commit.c: use ref transactions for updates
550  - replace.c: use the ref transaction functions for updates
551  - tag.c: use ref transactions when doing updates
552  - refs.c: add transaction.status and track OPEN/CLOSED/ERROR
553  - refs.c: make ref_transaction_begin take an err argument
554  - refs.c: update ref_transaction_delete to check for error and return status
555  - refs.c: change ref_transaction_create to do error checking and return status
556  (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.)
558  The second batch of the transactional ref update series.
560  No more nitpicks and better design suggestions?
563 * jc/reopen-lock-file (2014-07-14) 1 commit
564   (merged to 'next' on 2014-07-21 at 8277dc9)
565  + lockfile: allow reopening a closed but still locked file
567  Needed in the "commit -p" code path to update the cache tree in the
568  index (e.g. for dt/cache-tree-repair topic).
570  Will cook in 'next'.
573 * nd/multiple-work-trees (2014-07-17) 31 commits
574   (merged to 'next' on 2014-07-17 at a29d310)
575  + checkout: don't require a work tree when checking out into a new one
576  + git_path(): keep "info/sparse-checkout" per work-tree
577  + count-objects: report unused files in $GIT_DIR/repos/...
578  + gc: support prune --repos
579  + gc: factor out gc.pruneexpire parsing code
580  + gc: style change -- no SP before closing parenthesis
581  + prune: strategies for linked checkouts
582  + checkout: detach if the branch is already checked out elsewhere
583  + checkout: clean up half-prepared directories in --to mode
584  + checkout: support checking out into a new working directory
585  + use new wrapper write_file() for simple file writing
586  + wrapper.c: wrapper to open a file, fprintf then close
587  + setup.c: support multi-checkout repo setup
588  + setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
589  + setup.c: convert check_repository_format_gently to use strbuf
590  + setup.c: detect $GIT_COMMON_DIR in is_git_directory()
591  + setup.c: convert is_git_directory() to use strbuf
592  + git-stash: avoid hardcoding $GIT_DIR/logs/....
593  + *.sh: avoid hardcoding $GIT_DIR/hooks/...
594  + git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
595  + $GIT_COMMON_DIR: a new environment variable
596  + commit: use SEQ_DIR instead of hardcoding "sequencer"
597  + fast-import: use git_path() for accessing .git dir instead of get_git_dir()
598  + reflog: avoid constructing .lock path with git_path
599  + *.sh: respect $GIT_INDEX_FILE
600  + git_path(): be aware of file relocation in $GIT_DIR
601  + path.c: group git_path(), git_pathdup() and strbuf_git_path() together
602  + path.c: rename vsnpath() to do_git_path()
603  + git_snpath(): retire and replace with strbuf_git_path()
604  + path.c: make get_pathname() call sites return const char *
605  + path.c: make get_pathname() return strbuf instead of static buffer
606  (this branch is used by nd/multiple-work-trees-1.)
608  A replacement for contrib/workdir/git-new-workdir that does not
609  rely on symbolic links and make sharing of objects and refs safer
610  by making the borrowee and borrowers aware of each other.
612  Will cook in 'next'.
615 * nd/multiple-work-trees-1 (2014-07-29) 8 commits
616  - checkout --to: do not touch existing target directory
617  - checkout: prefix --to argument properly when cwd is moved
618  - environment.c: fix incorrect git_graft_file initialization
619  - checkout --to: fix dangling pointers in remove_junk()
620  - checkout: no auto-detach if the ref is already checked out
621  - prune --repos: fix uninitialized access
622  - checkout: no need to call check_linked_checkouts if head_ref is NULL
623  - gitrepository-layout.txt: s/ignored/ignored if/
624  (this branch uses nd/multiple-work-trees.)
626  Continue polishing nd/multiple-work-trees topic in 'next'.
628  Will merge to 'next'.
631 * dt/cache-tree-repair (2014-07-14) 4 commits
632   (merged to 'next' on 2014-07-21 at e83db34)
633  + cache-tree: Write updated cache-tree after commit
634  + cache-tree: subdirectory tests
635  + test-dump-cache-tree: invalid trees are not errors
636  + cache-tree: create/update cache-tree on checkout
638  Add a few more places in "commit" and "checkout" that make sure
639  that the cache-tree is fully populated in the index.
641  Will cook in 'next'.
644 * hv/submodule-config (2014-06-30) 4 commits
645   (merged to 'next' on 2014-07-17 at 5e0ce45)
646  + do not die on error of parsing fetchrecursesubmodules option
647  + use new config API for worktree configurations of submodules
648  + extract functions for submodule config set and lookup
649  + implement submodule config cache for lookup of submodule names
651  Will cook in 'next'.
654 * rs/ref-transaction (2014-07-17) 12 commits
655  - refs.c: fix handling of badly named refs
656  - refs.c: make write_ref_sha1 static
657  - fetch.c: change s_update_ref to use a ref transaction
658  - refs.c: propagate any errno==ENOTDIR from _commit back to the callers
659  - refs.c: pass a skip list to name_conflict_fn
660  - refs.c: call lock_ref_sha1_basic directly from commit
661  - refs.c: move the check for valid refname to lock_ref_sha1_basic
662  - refs.c: pass NULL as *flags to read_ref_full
663  - refs.c: pass the ref log message to _create/delete/update instead of _commit
664  - refs.c: add an err argument to delete_ref_loose
665  - wrapper.c: add a new function unlink_or_msg
666  - wrapper.c: simplify warn_if_unremovable
667  (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename; uses rs/ref-transaction-1.)
670 * jc/test-lazy-prereq (2014-06-13) 1 commit
671  - tests: drop GIT_*_TIMING_TESTS environment variable support
673  Test-script clean-up.
675  Will hold.
678 * mt/patch-id-stable (2014-06-10) 1 commit
679  - patch-id: change default to stable
681  Teaches "git patch-id" to compute the patch ID that does not change
682  when the files in a single patch is reordered. As this new algorithm
683  is backward incompatible, the last bit to flip it to be the default
684  is left out of 'master' for now.
686  Will hold.
688 --------------------------------------------------
689 [Discarded]
691 * jh/submodule-tests (2014-04-17) 1 commit
692  . t7410: 210 tests for various 'git submodule update' scenarios
695 * nd/path-max-is-better-than-hardcoded-magic-1024 (2014-07-17) 1 commit
696  . abspath.c: use PATH_MAX in real_path_internal()
698  rs/strbuf-getcwd topic covers this codepath in a better way.