summaryrefslogtreecommitdiff
path: root/whats-cooking.txt
diff options
context:
space:
mode:
Diffstat (limited to 'whats-cooking.txt')
-rw-r--r--whats-cooking.txt943
1 files changed, 374 insertions, 569 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt
index 5bf9b68..4be7976 100644
--- a/whats-cooking.txt
+++ b/whats-cooking.txt
@@ -1,10 +1,10 @@
To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Dec 2019, #04; Tue, 17)
-X-master-at: b02fd2accad4d48078671adf38fe5b5976d77304
-X-next-at: 63ccf5415c3f64822b547b264c51e5537392acd7
+Subject: What's cooking in git.git (Dec 2019, #05; Thu, 26)
+X-master-at: 0a76bd7381ec0dbb7c43776eb6d1ac906bca29e6
+X-next-at: ca9f1ec99ff3ed584eec58c085a342c9c37d2919
-What's cooking in git.git (Dec 2019, #04; Tue, 17)
+What's cooking in git.git (Dec 2019, #05; Thu, 26)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
@@ -12,8 +12,7 @@ Here are the topics that have been cooking. Commits prefixed with
'+' are in 'next'. The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.
-The fifth batch of topics are now in 'master', on top of merging the
-big security-related updates to the older maintenance tracks.
+The early preview for the upcoming Git 2.25 has been tagged.
You can find the changes described here in the integration branches
of the repositories listed at
@@ -23,612 +22,471 @@ of the repositories listed at
--------------------------------------------------
[Graduated to "master"]
-* rs/test-cleanup (2019-11-30) 7 commits
- (merged to 'next' on 2019-12-02 at eabc2e30f5)
- + t7811: don't create unused file
- + t9300: don't create unused file
- + test: use test_must_be_empty F instead of test_cmp empty F
- + test: use test_must_be_empty F instead of test -z $(cat F)
- + t1400: use test_must_be_empty
- + t1410: use test_line_count
- + t1512: use test_line_count
-
- Test cleanup.
-
-
-* ag/sequencer-continue-leakfix (2019-11-30) 1 commit
- (merged to 'next' on 2019-12-05 at 923a6a7ab6)
- + sequencer: fix a memory leak in sequencer_continue()
-
- Leakfix.
-
-
-* ag/sequencer-todo-updates (2019-11-25) 5 commits
- (merged to 'next' on 2019-11-27 at 3258d51dfc)
- + sequencer: directly call pick_commits() from complete_action()
- + rebase: fill `squash_onto' in get_replay_opts()
- + sequencer: move the code writing total_nr on the disk to a new function
- + sequencer: update `done_nr' when skipping commands in a todo list
- + sequencer: update `total_nr' when adding an item to a todo list
- (this branch is used by ag/edit-todo-drop-check.)
-
- Reduce unnecessary reading of state variables back from the disk
- during sequencer operation.
-
-
-* am/pathspec-from-file (2019-11-20) 6 commits
- (merged to 'next' on 2019-11-27 at ee131b80fb)
- + commit: support the --pathspec-from-file option
- + doc: commit: synchronize <pathspec> description
- + reset: support the `--pathspec-from-file` option
- + doc: reset: synchronize <pathspec> description
- + pathspec: add new function to parse file
- + parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
- (this branch is used by am/pathspec-f-f-checkout and es/pathspec-f-f-grep.)
-
- A few commands learned to take the pathspec from the
- standard input or a named file, instead of taking it as the command
- line arguments.
-
-
-* as/t7812-missing-redirects-fix (2019-12-01) 2 commits
- (merged to 'next' on 2019-12-05 at aa89a7945f)
- + t7812: expect failure for grep -i with invalid UTF-8 data
- + t7812: add missing redirects
-
- Test fix.
-
-
-* bc/t9001-zsh-in-posix-emulation-mode (2019-11-30) 1 commit
- (merged to 'next' on 2019-12-05 at d0ce4bcc90)
- + t9001: avoid including non-trailing NUL bytes in variables
-
- Test portability fix.
-
+* am/pathspec-f-f-checkout (2019-12-04) 7 commits
+ (merged to 'next' on 2019-12-10 at 6b018bd997)
+ + checkout, restore: support the --pathspec-from-file option
+ + doc: restore: synchronize <pathspec> description
+ + doc: checkout: synchronize <pathspec> description
+ + doc: checkout: fix broken text reference
+ + doc: checkout: remove duplicate synopsis
+ + add: support the --pathspec-from-file option
+ + cmd_add: prepare for next patch
-* cs/store-packfiles-in-hashmap (2019-12-03) 1 commit
- (merged to 'next' on 2019-12-05 at 887d5559bb)
- + packfile.c: speed up loading lots of packfiles
-
- In a repository with many packfiles, the cost of the procedure that
- avoids registering the same packfile twice was unnecessarily high
- by using an inefficient search algorithm, which has been corrected.
+ A few more commands learned the "--pathspec-from-file" command line
+ option.
-* dd/time-reentrancy (2019-12-01) 3 commits
- (merged to 'next' on 2019-12-05 at d0c91f4d1b)
- + mingw: use {gm,local}time_s as backend for {gm,local}time_r
- + archive-zip.c: switch to reentrant localtime_r
- + date.c: switch to reentrant {gm,local}time_r
+* am/pathspec-from-file (2019-12-18) 1 commit
+ (merged to 'next' on 2019-12-19 at e250cc9b88)
+ + commit: forbid --pathspec-from-file --all
- Avoid gmtime() and localtime() and prefer their reentrant
- counterparts.
+ An earlier series to teach "--pathspec-from-file" to "git commit"
+ forgot to make the option incompatible with "--all", which has been
+ corrected.
-* dl/lore-is-the-archive (2019-12-04) 3 commits
- (merged to 'next' on 2019-12-05 at c87e168cd6)
- + doc: replace LKML link with lore.kernel.org
- + RelNotes: replace Gmane with real Message-IDs
- + doc: replace MARC links with lore.kernel.org
- (this branch uses jk/lore-is-the-archive.)
+* dl/format-patch-notes-config-fixup (2019-12-18) 8 commits
+ (merged to 'next' on 2019-12-19 at 1abc6941e0)
+ + notes.h: fix typos in comment
+ (merged to 'next' on 2019-12-16 at e4da5b93bb)
+ + notes: break set_display_notes() into smaller functions
+ + config/format.txt: clarify behavior of multiple format.notes
+ (merged to 'next' on 2019-12-10 at 2d8830090f)
+ + format-patch: move git_config() before repo_init_revisions()
+ + format-patch: use --notes behavior for format.notes
+ + notes: extract logic into set_display_notes()
+ + notes: create init_display_notes() helper
+ + notes: rename to load_display_notes()
- Publicize lore.kernel.org mailing list archive and use URLs
- pointing into it to refer to notable messages in the documentation.
+ "git format-patch" can take a set of configured format.notes values
+ to specify which notes refs to use in the log message part of the
+ output. The behaviour of this was not consistent with multiple
+ --notes command line options, which has been corrected.
-* dl/pretty-reference (2019-11-20) 11 commits
- (merged to 'next' on 2019-12-05 at 0972133ad2)
- + SubmittingPatches: use `--pretty=reference`
- + pretty: implement 'reference' format
- + pretty: add struct cmt_fmt_map::default_date_mode_type
- + pretty: provide short date format
- + t4205: cover `git log --reflog -z` blindspot
- + pretty.c: inline initalize format_context
- + revision: make get_revision_mark() return const pointer
- + completion: complete `tformat:` pretty format
- + SubmittingPatches: remove dq from commit reference
- + pretty-formats.txt: use generic terms for hash
- + SubmittingPatches: use generic terms for hash
+* ds/sparse-cone (2019-12-20) 21 commits
+ (merged to 'next' on 2019-12-20 at 4f33a10613)
+ + sparse-checkout: improve OS ls compatibility
+ (merged to 'next' on 2019-12-16 at c840c1d816)
+ + sparse-checkout: respect core.ignoreCase in cone mode
+ + sparse-checkout: check for dirty status
+ + sparse-checkout: update working directory in-process for 'init'
+ + sparse-checkout: cone mode should not interact with .gitignore
+ + sparse-checkout: write using lockfile
+ + sparse-checkout: use in-process update for disable subcommand
+ + sparse-checkout: update working directory in-process
+ + sparse-checkout: sanitize for nested folders
+ + unpack-trees: add progress to clear_ce_flags()
+ + unpack-trees: hash less in cone mode
+ + sparse-checkout: init and set in cone mode
+ + sparse-checkout: use hashmaps for cone patterns
+ + sparse-checkout: add 'cone' mode
+ + trace2: add region in clear_ce_flags
+ + sparse-checkout: create 'disable' subcommand
+ + sparse-checkout: add '--stdin' option to set subcommand
+ + sparse-checkout: 'set' subcommand
+ + clone: add --sparse mode
+ + sparse-checkout: create 'init' subcommand
+ + sparse-checkout: create builtin with 'list' subcommand
- "git log" family learned "--pretty=reference" that gives the name
- of a commit in the format that is often used to refer to it in log
- messages.
+ Management of sparsely checked-out working tree has gained a
+ dedicated "sparse-checkout" command.
-* dl/range-diff-with-notes (2019-12-06) 3 commits
- (merged to 'next' on 2019-12-10 at af8f441807)
- + range-diff: clear `other_arg` at end of function
- + range-diff: mark pointers as const
- + t3206: fix incorrect test name
-
- Code clean-up.
-
-
-* dl/rebase-with-autobase (2019-12-05) 5 commits
- (merged to 'next' on 2019-12-06 at 2d72b8cffe)
- + rebase: fix format.useAutoBase breakage
- + format-patch: teach --no-base
- + t4014: use test_config()
- + format-patch: fix indentation
- + t3400: demonstrate failure with format.useAutoBase
-
- "git rebase" did not work well when format.useAutoBase
- configuration variable is set, which has been corrected.
-
-
-* dl/submodule-set-url (2019-10-30) 1 commit
- (merged to 'next' on 2019-12-05 at a164eccad1)
- + submodule: teach set-url subcommand
-
- "git submodule" learned a subcommand "set-url".
-
-
-* dl/test-cleanup (2019-12-04) 26 commits
- (merged to 'next' on 2019-12-06 at 9129e71939)
- + t7700: stop losing return codes of git commands
- + t7700: make references to SHA-1 generic
- + t7700: replace egrep with grep
- + t7700: consolidate code into test_has_duplicate_object()
- + t7700: consolidate code into test_no_missing_in_packs()
- + t7700: s/test -f/test_path_is_file/
- + t7700: move keywords onto their own line
- + t7700: remove spaces after redirect operators
- + t7700: drop redirections to /dev/null
- + t7501: stop losing return codes of git commands
- + t7501: remove spaces after redirect operators
- + t5703: stop losing return codes of git commands
- + t5703: simplify one-time-sed generation logic
- + t5317: use ! grep to check for no matching lines
- + t5317: stop losing return codes of git commands
- + t4138: stop losing return codes of git commands
- + t4015: use test_write_lines()
- + t4015: stop losing return codes of git commands
- + t3600: comment on inducing SIGPIPE in `git rm`
- + t3600: stop losing return codes of git commands
- + t3600: use test_line_count() where possible
- + t3301: stop losing return codes of git commands
- + t0090: stop losing return codes of git commands
- + t0014: remove git command upstream of pipe
- + apply-one-time-sed.sh: modernize style
- + lib-bash.sh: move `then` onto its own line
+* en/fill-directory-fixes (2019-12-20) 9 commits
+ (merged to 'next' on 2019-12-20 at 671cf755f4)
+ + dir.c: use st_add3() for allocation size
+ (merged to 'next' on 2019-12-19 at 80ad3150d6)
+ + dir: consolidate similar code in treat_directory()
+ + dir: synchronize treat_leading_path() and read_directory_recursive()
+ + dir: fix checks on common prefix directory
+ + dir: break part of read_directory_recursive() out for reuse
+ + dir: exit before wildcard fall-through if there is no wildcard
+ + dir: remove stray quote character in comment
+ + Revert "dir.c: make 'git-status --ignored' work within leading directories"
+ + t3011: demonstrate directory traversal failures
- Test cleanup.
+ Assorted fixes to the directory traversal API.
-* dr/branch-usage-casefix (2019-12-09) 1 commit
- (merged to 'next' on 2019-12-10 at ad8a629fc6)
- + l10n: minor case fix in 'git branch' '--unset-upstream' description
+* ja/doc-markup-cleanup (2019-12-13) 2 commits
+ (merged to 'next' on 2019-12-19 at 61abb4a06d)
+ + doc: indent multi-line items in list
+ + doc: remove non pure ASCII characters
- Message fix.
+ Doc cleanup.
-* ds/commit-graph-delay-gen-progress (2019-11-27) 2 commits
- (merged to 'next' on 2019-12-05 at 9252a4b1b6)
- + commit-graph: use start_delayed_progress()
- + progress: create GIT_PROGRESS_DELAY
+* jc/drop-gen-hdrs (2019-12-13) 1 commit
+ (merged to 'next' on 2019-12-19 at 4867cc601b)
+ + Makefile: drop GEN_HDRS
- One kind of progress messages were always given during commit-graph
- generation, instead of following the "if it takes more than two
- seconds, show progress" pattern, which has been corrected.
+ Code cleanup.
-* em/test-skip-regex-illseq (2019-11-30) 1 commit
- (merged to 'next' on 2019-12-05 at 85c7940aeb)
- + t4210: skip i18n tests that don't work on FreeBSD
+* js/add-p-in-c (2019-12-13) 19 commits
+ (merged to 'next' on 2019-12-19 at c0deed90ab)
+ + built-in add -p: show helpful hint when nothing can be staged
+ + built-in add -p: only show the applicable parts of the help text
+ + built-in add -p: implement the 'q' ("quit") command
+ + built-in add -p: implement the '/' ("search regex") command
+ + built-in add -p: implement the 'g' ("goto") command
+ + built-in add -p: implement hunk editing
+ + strbuf: add a helper function to call the editor "on an strbuf"
+ + built-in add -p: coalesce hunks after splitting them
+ + built-in add -p: implement the hunk splitting feature
+ + built-in add -p: show different prompts for mode changes and deletions
+ + built-in app -p: allow selecting a mode change as a "hunk"
+ + built-in add -p: handle deleted empty files
+ + built-in add -p: support multi-file diffs
+ + built-in add -p: offer a helpful error message when hunk navigation failed
+ + built-in add -p: color the prompt and the help text
+ + built-in add -p: adjust hunk headers as needed
+ + built-in add -p: show colored hunks by default
+ + built-in add -i: wire up the new C code for the `patch` command
+ + built-in add -i: start implementing the `patch` functionality in C
+ (this branch is used by js/patch-mode-in-others-in-c.)
- Test portability fix.
+ The effort to move "git-add--interactive" to C continues.
-* hi/gpg-use-check-signature (2019-11-30) 1 commit
- (merged to 'next' on 2019-12-05 at 35fc8e839a)
- + gpg-interface: prefer check_signature() for GPG verification
+* ln/userdiff-elixir (2019-12-13) 1 commit
+ (merged to 'next' on 2019-12-17 at fcd1f5f18b)
+ + userdiff: remove empty subexpression from elixir regex
- Hide lower-level verify_signed-buffer() API as a pure helper to
- implement the public check_signature() function, in order to
- encourage new callers to use the correct and more strict
- validation.
+ Hotfix.
-* hi/grep-do-not-return-void (2019-11-30) 1 commit
- (merged to 'next' on 2019-12-02 at 4409c73cfa)
- + grep: don't return an expression from pcre2_free()
+* mr/bisect-save-pointer-to-const-string (2019-12-17) 1 commit
+ (merged to 'next' on 2019-12-19 at 03bb33ae74)
+ + bisect--helper: convert `*_warning` char pointers to char arrays.
Code cleanup.
-* hw/doc-in-header (2019-11-18) 20 commits
- (merged to 'next' on 2019-12-10 at 75ae310f9a)
- + trace2: move doc to trace2.h
- + submodule-config: move doc to submodule-config.h
- + tree-walk: move doc to tree-walk.h
- + trace: move doc to trace.h
- + run-command: move doc to run-command.h
- + parse-options: add link to doc file in parse-options.h
- + credential: move doc to credential.h
- + argv-array: move doc to argv-array.h
- + cache: move doc to cache.h
- + sigchain: move doc to sigchain.h
- + pathspec: move doc to pathspec.h
- + revision: move doc to revision.h
- + attr: move doc to attr.h
- + refs: move doc to refs.h
- + remote: move doc to remote.h and refspec.h
- + sha1-array: move doc to sha1-array.h
- + merge: move doc to ll-merge.h
- + graph: move doc to graph.h and graph.c
- + dir: move doc to dir.h
- + diff: move doc to diff.h and diffcore.h
-
- Move material from Documentation/technical/api-*.txt to header
- files.
-
-
-* jk/lore-is-the-archive (2019-11-30) 2 commits
- (merged to 'next' on 2019-12-02 at 603a2b0105)
- + doc: replace public-inbox links with lore.kernel.org
- + doc: recommend lore.kernel.org over public-inbox.org
- (this branch is used by dl/lore-is-the-archive.)
-
- Doc update for the mailing list archiving and nntp service.
-
-
-* jk/perf-wo-git-dot-pm (2019-11-27) 1 commit
- (merged to 'next' on 2019-12-05 at 6d9e3930ec)
- + t/perf: don't depend on Git.pm
+* mr/bisect-use-after-free (2019-12-11) 1 commit
+ (merged to 'next' on 2019-12-17 at 64cd5c4622)
+ + bisect--helper: avoid use-after-free
- Test cleanup.
+ Use-after-free fix.
-* jk/send-pack-check-negative-with-quick (2019-11-30) 1 commit
- (merged to 'next' on 2019-12-02 at 2b01214601)
- + send-pack: use OBJECT_INFO_QUICK to check negative objects
+* pb/submodule-doc-xref (2019-12-11) 1 commit
+ (merged to 'next' on 2019-12-19 at 3b52089f77)
+ + gitmodules: link to gitsubmodules guide
- Performance tweak on "git push" into a repository with many refs
- that point at objects we have never heard of.
+ Doc update.
-* js/add-i-a-bit-more-tests (2019-12-06) 7 commits
- (merged to 'next' on 2019-12-10 at d7ffb75a43)
- + apply --allow-overlap: fix a corner case
- + git add -p: use non-zero exit code when the diff generation failed
- + t3701: verify that the diff.algorithm config setting is handled
- + t3701: verify the shown messages when nothing can be added
- + t3701: add a test for the different `add -p` prompts
- + t3701: avoid depending on the TTY prerequisite
- + t3701: add a test for advanced split-hunk editing
- (this branch uses js/builtin-add-i-cmds.)
+* ra/t5150-depends-on-perl (2019-11-27) 1 commit
+ (merged to 'next' on 2019-12-16 at 69bb280692)
+ + t5150: skip request-pull test if Perl is disabled
- Test coverage update in preparation for further work on "git add -i".
+ Some Porcelain commands are written in Perl, and tests on them are
+ expected not to work when the platform lacks a working perl.
-* js/builtin-add-i-cmds (2019-12-01) 9 commits
- (merged to 'next' on 2019-12-05 at 30cfe5c15d)
- + built-in add -i: offer the `quit` command
- + built-in add -i: re-implement the `diff` command
- + built-in add -i: implement the `patch` command
- + built-in add -i: re-implement `add-untracked` in C
- + built-in add -i: re-implement `revert` in C
- + built-in add -i: implement the `update` command
- + built-in add -i: prepare for multi-selection commands
- + built-in add -i: allow filtering the modified files list
- + add-interactive: make sure to release `rev.prune_data`
- (this branch is used by js/add-i-a-bit-more-tests.)
+* rb/p4-lfs (2019-12-11) 1 commit
+ (merged to 'next' on 2019-12-19 at 0e6e76a524)
+ + git-p4: honor lfs.storage configuration variable
- "git add -i" that is getting rewritten in C has been extended to
- cover subcommands other than the "patch".
+ "git p4" used to ignore lfs.storage configuration variable, which
+ has been corrected.
-* js/mingw-inherit-only-std-handles (2019-12-02) 6 commits
- (merged to 'next' on 2019-12-05 at 289f13054b)
- + mingw: forbid translating ERROR_SUCCESS to an errno value
- (merged to 'next' on 2019-12-02 at 798a952eca)
- + mingw: do set `errno` correctly when trying to restrict handle inheritance
- (merged to 'next' on 2019-11-27 at 4736894af6)
- + mingw: restrict file handle inheritance only on Windows 7 and later
- + mingw: spawned processes need to inherit only standard handles
- + mingw: work around incorrect standard handles
- + mingw: demonstrate that all file handles are inherited by child processes
+* rs/ref-read-cleanup (2019-12-11) 2 commits
+ (merged to 'next' on 2019-12-19 at 9eb61e8d53)
+ + remote: pass NULL to read_ref_full() because object ID is not needed
+ + refs: pass NULL to refs_read_ref_full() because object ID is not needed
- Work around a issue where a FD that is left open when spawning a
- child process and is kept open in the child can interfere with the
- operation in the parent process on Windows.
+ Code cleanup.
-* js/t3404-indent-fix (2019-12-09) 1 commit
- (merged to 'next' on 2019-12-10 at 3a705a40d6)
- + t3404: fix indentation
+* rs/test-cleanup (2019-12-18) 5 commits
+ (merged to 'next' on 2019-12-19 at 116f80bacd)
+ + t6030: don't create unused file
+ + t5580: don't create unused file
+ + t3501: don't create unused file
+ + t7004: don't create unused file
+ + t4256: don't create unused file
Test cleanup.
-* jt/clone-recursesub-ref-advise (2019-12-03) 2 commits
- (merged to 'next' on 2019-12-05 at fc071dddfe)
- + submodule--helper: advise on fatal alternate error
- + Doc: explain submodule.alternateErrorStrategy
-
- The interaction between "git clone --recurse-submodules" and
- alternate object store was ill-designed. The documentation and
- code have been taught to make more clear recommendations when the
- users see failures.
-
-
-* po/bundle-doc-clonable (2019-10-21) 1 commit
- (merged to 'next' on 2019-12-02 at bd7fa24ad6)
- + Doc: Bundle file usage
-
- Doc update.
-
-
-* ra/rebase-i-more-options (2019-11-25) 7 commits
- (merged to 'next' on 2019-11-27 at e8a6d1e281)
- + rebase -i: finishing touches to --reset-author-date
- + rebase: add --reset-author-date
- + rebase -i: support --ignore-date
- + sequencer: rename amend_author to author_to_rename
- + rebase -i: support --committer-date-is-author-date
- + sequencer: allow callers of read_author_script() to ignore fields
- + rebase -i: add --ignore-whitespace flag
-
- "git rebase -i" learned a few options that are known by "git
- rebase" proper.
-
-
-* rs/archive-zip-code-cleanup (2019-12-09) 1 commit
- (merged to 'next' on 2019-12-10 at 5a0b530805)
- + archive-zip: use enum for compression method
-
- Code cleanup.
-
-
-* rs/commit-export-env-simplify (2019-12-09) 1 commit
- (merged to 'next' on 2019-12-10 at 591b24162c)
- + commit: use strbuf_add() to add a length-limited string
+* rs/xdiff-ignore-ws-w-func-context (2019-12-19) 1 commit
+ (merged to 'next' on 2019-12-19 at 9e0cb7aa55)
+ + t4015: improve coverage of function context test
- Code cleanup.
+ Extend test coverage for a recent fix.
-* rs/patch-id-use-oid-to-hex (2019-12-09) 1 commit
- (merged to 'next' on 2019-12-10 at cf403a83da)
- + patch-id: use oid_to_hex() to print multiple object IDs
+* sg/name-rev-wo-recursion (2019-12-09) 14 commits
+ (merged to 'next' on 2019-12-16 at ce57cd054f)
+ + name-rev: cleanup name_ref()
+ + name-rev: eliminate recursion in name_rev()
+ + name-rev: use 'name->tip_name' instead of 'tip_name'
+ + name-rev: drop name_rev()'s 'generation' and 'distance' parameters
+ + name-rev: restructure creating/updating 'struct rev_name' instances
+ + name-rev: restructure parsing commits and applying date cutoff
+ + name-rev: pull out deref handling from the recursion
+ + name-rev: extract creating/updating a 'struct name_rev' into a helper
+ + t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
+ + name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
+ + name-rev: avoid unnecessary cast in name_ref()
+ + name-rev: use strbuf_strip_suffix() in get_rev_name()
+ + t6120-describe: modernize the 'check_describe' helper
+ + t6120-describe: correct test repo history graph in comment
- Code cleanup.
+ Redo "git name-rev" to avoid recursive calls.
+--------------------------------------------------
+[New Topics]
-* rs/simplify-prepare-cmd (2019-11-27) 1 commit
- (merged to 'next' on 2019-12-02 at 12e1a9e935)
- + run-command: use prepare_git_cmd() in prepare_cmd()
+* hw/commit-advise-while-rejecting (2019-12-19) 1 commit
+ - commit: honor advice.statusHints when rejecting an empty commit
- Code cleanup.
+ "git commit" gives output similar to "git status" when there is
+ nothing to commit, but without honoring the advise.statusHints
+ configuration variable, which has been corrected.
-* rs/use-skip-prefix-more (2019-11-27) 5 commits
- (merged to 'next' on 2019-12-02 at a2124db23e)
- + name-rev: use skip_prefix() instead of starts_with()
- + push: use skip_prefix() instead of starts_with()
- + shell: use skip_prefix() instead of starts_with()
- + fmt-merge-msg: use skip_prefix() instead of starts_with()
- + fetch: use skip_prefix() instead of starts_with()
+* yz/p4-py3 (2019-12-17) 14 commits
+ - ci: also run linux-gcc pipeline with python3.5 environment
+ - git-p4: use python3's input() everywhere
+ - git-p4: simplify regex pattern generation for parsing diff-tree
+ - git-p4: use dict.items() iteration for python3 compatibility
+ - git-p4: use functools.reduce instead of reduce
+ - git-p4: fix freezing while waiting for fast-import progress
+ - git-p4: use marshal format version 2 when sending to p4
+ - git-p4: open .gitp4-usercache.txt in text mode
+ - git-p4: convert path to unicode before processing them
+ - git-p4: encode/decode communication with git for python3
+ - git-p4: encode/decode communication with p4 for python3
+ - git-p4: remove string type aliasing
+ - git-p4: change the expansion test from basestring to list
+ - git-p4: make python2.7 the oldest supported version
- Code cleanup.
+ Update "git p4" to work with Python 3.
-* rs/xdiff-ignore-ws-w-func-context (2019-12-05) 1 commit
- (merged to 'next' on 2019-12-06 at e0522318ac)
- + xdiff: unignore changes in function context
+* hi/gpg-mintrustlevel (2019-12-24) 1 commit
+ - gpg-interface: add minTrustLevel as a configuration option
- The "diff" machinery learned not to lose added/removed blank lines
- in the context when --ignore-blank-lines and --function-context are
- used at the same time.
+ gpg.minTrustLevel configuration variable has been introduced to
+ tell various signature verification codepaths the required minimum
+ trust level.
+ Will merge to 'next'.
-* sg/assume-no-todo-update-in-cherry-pick (2019-11-24) 1 commit
- (merged to 'next' on 2019-11-27 at 6908186f85)
- + sequencer: don't re-read todo for revert and cherry-pick
- While running "revert" or "cherry-pick --edit" for multiple
- commits, a recent regression incorrectly detected "nothing to
- commit, working tree clean", instead of replaying the commits,
- which has been corrected.
+* sg/completion-worktree (2019-12-19) 6 commits
+ (merged to 'next' on 2019-12-25 at 42c895ab3b)
+ + completion: list paths and refs for 'git worktree add'
+ + completion: list existing working trees for 'git worktree' subcommands
+ + completion: simplify completing 'git worktree' subcommands and options
+ + completion: return the index of found word from __git_find_on_cmdline()
+ + completion: clean up the __git_find_on_cmdline() helper function
+ + t9902-completion: add tests for the __git_find_on_cmdline() helper
+ The command line completion (in contrib/) learned to complete
+ subcommands and arguments to "git worktree".
-* sg/osx-force-gcc-9 (2019-11-29) 1 commit
- (merged to 'next' on 2019-12-02 at 4916f80e5e)
- + ci: build Git with GCC 9 in the 'osx-gcc' build job
+ Will cook in 'next'.
- TravisCI update.
+* dl/credential-netrc (2019-12-20) 2 commits
+ (merged to 'next' on 2019-12-25 at 1fd27f81ac)
+ + contrib/credential/netrc: work outside a repo
+ + contrib/credential/netrc: make PERL_PATH configurable
-* sg/t9300-robustify (2019-12-06) 2 commits
- (merged to 'next' on 2019-12-10 at dee7a9a945)
- + t9300-fast-import: don't hang if background fast-import exits too early
- + t9300-fast-import: store the PID in a variable instead of pidfile
+ Sample credential helper for using .netrc has been updated to work
+ out of the box.
- The test on "fast-import" used to get stuck when "fast-import" died
- in the middle.
+ Will cook in 'next'.
-* sg/test-squelch-noise-in-commit-bulk (2019-11-27) 1 commit
- (merged to 'next' on 2019-12-05 at 7819efee07)
- + test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
+* dl/test-must-fail-fixes (2019-12-20) 15 commits
+ (merged to 'next' on 2019-12-25 at 3ef7c70bc5)
+ + t1507: inline full_name()
+ + t1507: run commands within test_expect_success
+ + t1507: stop losing return codes of git commands
+ + t1501: remove use of `test_might_fail cp`
+ + t1409: use test_path_is_missing()
+ + t1409: let sed open its own input file
+ + t1307: reorder `nongit test_must_fail`
+ + t1306: convert `test_might_fail rm` to `rm -f`
+ + t0020: use ! check_packed_refs_marked
+ + t0020: don't use `test_must_fail has_cr`
+ + t0003: don't use `test_must_fail attr_check`
+ + t0003: use test_must_be_empty()
+ + t0003: use named parameters in attr_check()
+ + t0000: replace test_must_fail with run_sub_test_lib_test_err()
+ + t/lib-git-p4: use test_path_is_missing()
- Code cleanup.
+ Test clean-up.
+ Will cook in 'next'.
-* tg/perf-remove-stale-result (2019-11-27) 1 commit
- (merged to 'next' on 2019-12-05 at 466f07fb63)
- + perf-lib: use a single filename for all measurement types
- PerfTest fix to avoid stale result mixed up with the latest round
- of test results.
+* em/freebsd-cirrus-ci (2019-12-20) 1 commit
+ (merged to 'next' on 2019-12-25 at b6b609fbf0)
+ + CI: add FreeBSD CI support via Cirrus-CI
---------------------------------------------------
-[New Topics]
+ Will merge to 'master'.
-* pw/advise-rebase-skip (2019-12-06) 9 commits
- - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
- - rebase: fix advice when a fixup creates an empty commit
- - commit: give correct advice for empty commit during a rebase
- - commit: encapsulate determine_whence() for sequencer
- - commit: use enum value for multiple cherry-picks
- - sequencer: write CHERRY_PICK_HEAD for reword and edit
- - cherry-pick: check commit error messages
- - cherry-pick: add test for `--skip` advice in `git commit`
- - t3404: use test_cmp_rev
- The mechanism to prevent "git commit" from making an empty commit
- or amending during an interrupted cherry-pick was broken during the
- rewrite of "git rebase" in C, which has been corrected.
+* en/rebase-backend (2019-12-26) 15 commits
+ - rebase: change the default backend from "am" to "merge"
+ - rebase: make the backend configurable via config setting
+ - rebase tests: repeat some tests using the merge backend instead of am
+ - rebase tests: mark tests specific to the am-backend with --am
+ - git-prompt: change the prompt for interactive-based rebases
+ - rebase: add an --am option
+ - rebase: move incompatibility checks between backend options a bit earlier
+ - git-rebase.txt: add more details about behavioral differences of backends
+ - rebase: allow more types of rebases to fast-forward
+ - t3432: make these tests work with either am or merge backends
+ - rebase: fix handling of restrict_revision
+ - rebase: make sure to pass along the quiet flag to the sequencer
+ - rebase, sequencer: remove the broken GIT_QUIET handling
+ - t3406: simplify an already simple test
+ - rebase: extend the options for handling of empty commits
- Needs review.
- The tip two are still RFC.
+ "git rebase" has learned to use the sequencer backend by default,
+ while allowing "--am" option to go back to the traditional "am"
+ backend.
-* dl/format-patch-notes-config-fixup (2019-12-13) 7 commits
- (merged to 'next' on 2019-12-16 at e4da5b93bb)
- + notes: break set_display_notes() into smaller functions
- + config/format.txt: clarify behavior of multiple format.notes
- (merged to 'next' on 2019-12-10 at 2d8830090f)
- + format-patch: move git_config() before repo_init_revisions()
- + format-patch: use --notes behavior for format.notes
- + notes: extract logic into set_display_notes()
- + notes: create init_display_notes() helper
- + notes: rename to load_display_notes()
+* en/rebase-signoff-fix (2019-12-20) 1 commit
+ (merged to 'next' on 2019-12-25 at 96d84920b5)
+ + rebase: fix saving of --signoff state for am-based rebases
- "git format-patch" can take a set of configured format.notes values
- to specify which notes refs to use in the log message part of the
- output. The behaviour of this was not consistent with multiple
- --notes command line options, which has been corrected.
+ "git rebase --signoff" stopped working when the command was written
+ in C, which has been corrected.
Will merge to 'master'.
-* bk/p4-misc-usability (2019-12-16) 4 commits
- - git-p4: failure because of RCS keywords should show help
- - git-p4: wrap patchRCSKeywords test to revert changes on failure
- - git-p4: show detailed help when parsing options fail
- - git-p4: yes/no prompts should sanitize user text
-
- Miscellaneous small UX improvements on "git-p4".
+* bc/hash-independent-tests-part-7 (2019-12-24) 20 commits
+ - t5604: make hash independent
+ - t5601: switch into repository to hash object
+ - t5562: use $ZERO_OID
+ - t5540: make hash size independent
+ - t5537: make hash size independent
+ - t5530: compute results based on object length
+ - t5512: abstract away SHA-1-specific constants
+ - t5510: make hash size independent
+ - t5504: make hash algorithm independent
+ - t5324: make hash size independent
+ - t5319: make test work with SHA-256
+ - t5319: change invalid offset for SHA-256 compatibility
+ - t5318: update for SHA-256
+ - t4300: abstract away SHA-1-specific constants
+ - t4204: make hash size independent
+ - t4202: abstract away SHA-1-specific constants
+ - t4200: make hash size independent
+ - t4134: compute appropriate length constant
+ - t4066: compute index line in diffs
+ - t4054: make hash-size independent
+
+ Preparation of test scripts for the day when the object names will
+ use SHA-256 continues.
Will merge to 'next'.
- cf. <xmqq8sncj991.fsf@gitster-ct.c.googlers.com>
-* en/fill-directory-fixes (2019-12-11) 8 commits
- - dir: consolidate similar code in treat_directory()
- - dir: synchronize treat_leading_path() and read_directory_recursive()
- - dir: fix checks on common prefix directory
- - dir: break part of read_directory_recursive() out for reuse
- - dir: exit before wildcard fall-through if there is no wildcard
- - dir: remove stray quote character in comment
- - Revert "dir.c: make 'git-status --ignored' work within leading directories"
- - t3011: demonstrate directory traversal failures
+* js/mingw-reserved-filenames (2019-12-21) 2 commits
+ - mingw: refuse paths containing reserved names
+ - mingw: short-circuit the conversion of `/dev/null` to UTF-16
- Assorted fixes to the directory traversal API.
+ Forbid pathnames that the platform's filesystem cannot represent on
+ MinGW.
- Will merge to 'next'.
-
-
-* ja/doc-markup-cleanup (2019-12-13) 2 commits
- - doc: indent multi-line items in list
- - doc: remove non pure ASCII characters
+ Will merge to 'next' and then to 'master'.
- Doc cleanup.
- Will merge to 'next'.
+* bk/p4-exception-cleanup (2019-12-16) 2 commits
+ - git-p4: failure because of RCS keywords should show help
+ - git-p4: wrap patchRCSKeywords test to revert changes on failure
+ (this branch uses bk/p4-misc-usability.)
-* jc/drop-gen-hdrs (2019-12-13) 1 commit
- - Makefile: drop GEN_HDRS
+* ew/packfile-syscall-optim (2019-12-26) 2 commits
+ - packfile: replace lseek+read with pread
+ - packfile: remove redundant fcntl F_GETFD/F_SETFD
Code cleanup.
Will merge to 'next'.
-* js/add-p-in-c (2019-12-13) 19 commits
- - built-in add -p: show helpful hint when nothing can be staged
- - built-in add -p: only show the applicable parts of the help text
- - built-in add -p: implement the 'q' ("quit") command
- - built-in add -p: implement the '/' ("search regex") command
- - built-in add -p: implement the 'g' ("goto") command
- - built-in add -p: implement hunk editing
- - strbuf: add a helper function to call the editor "on an strbuf"
- - built-in add -p: coalesce hunks after splitting them
- - built-in add -p: implement the hunk splitting feature
- - built-in add -p: show different prompts for mode changes and deletions
- - built-in app -p: allow selecting a mode change as a "hunk"
- - built-in add -p: handle deleted empty files
- - built-in add -p: support multi-file diffs
- - built-in add -p: offer a helpful error message when hunk navigation failed
- - built-in add -p: color the prompt and the help text
- - built-in add -p: adjust hunk headers as needed
- - built-in add -p: show colored hunks by default
- - built-in add -i: wire up the new C code for the `patch` command
- - built-in add -i: start implementing the `patch` functionality in C
- (this branch is used by js/patch-mode-in-others-in-c.)
+* jn/test-lint-one-shot-export-to-shell-function (2019-12-26) 2 commits
+ - t/check-non-portable-shell: detect "FOO= shell_func", too
+ - fetch test: avoid use of "VAR= cmd" with a shell function
+ (this branch is used by jn/promote-proto2-to-default.)
- The effort to move "git-add--interactive" to C continues.
+ The test-lint machinery knew to check "VAR=VAL shell_function"
+ construct, but did not check "VAR= shell_funciton", which has been
+ corrected.
Will merge to 'next'.
-* ln/userdiff-elixir (2019-12-13) 1 commit
- - userdiff: remove empty subexpression from elixir regex
-
- Hotfix.
-
- Will merge to 'next'.
+* js/add-p-leftover-bits (2019-12-24) 9 commits
+ - ci: include the built-in `git add -i` in the `linux-gcc` job
+ - built-in add -p: handle Escape sequences more efficiently
+ - built-in add -p: handle Escape sequences in interactive.singlekey mode
+ - built-in add -p: respect the `interactive.singlekey` config setting
+ - terminal: add a new function to read a single keystroke
+ - terminal: accommodate Git for Windows' default terminal
+ - terminal: make the code of disable_echo() reusable
+ - built-in add -p: handle diff.algorithm
+ - built-in add -p: support interactive.diffFilter
+ (this branch uses js/patch-mode-in-others-in-c.)
-* mr/bisect-use-after-free (2019-12-11) 1 commit
- - bisect--helper: avoid use-after-free
+* js/mingw-loosen-overstrict-tree-entry-checks (2019-12-26) 1 commit
+ - mingw: only test index entries for backslashes, not tree entries
- Use-after-free fix.
+ An earlier update to Git for Windows declared that a tree object is
+ invalid if it has a path component with backslash in it, which was
+ overly strict, which has been corrected. The only protection the
+ Windows users need is to prevent such path (or any path that their
+ filesystem cannot check out) from entering the index.
- Will merge to 'next'.
-* pb/submodule-doc-xref (2019-12-11) 1 commit
- - gitmodules: link to gitsubmodules guide
+* pb/clarify-line-log-doc (2019-12-26) 2 commits
+ - doc: log, gitk: line-log arguments must exist in starting revision
+ - doc: log, gitk: document accepted line-log diff formats
Doc update.
Will merge to 'next'.
+--------------------------------------------------
+[Stalled]
-* rb/p4-lfs (2019-12-11) 1 commit
- - git-p4: honor lfs.storage configuration variable
-
- "git p4" used to ignore lfs.storage configuration variable, which
- has been corrected.
-
- Will merge to 'next'.
-
+* ag/edit-todo-drop-check (2019-12-06) 2 commits
+ - rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
+ - sequencer: move check_todo_list_from_file() to rebase-interactive.c
-* rs/ref-read-cleanup (2019-12-11) 2 commits
- - remote: pass NULL to read_ref_full() because object ID is not needed
- - refs: pass NULL to refs_read_ref_full() because object ID is not needed
+ Allow the rebase.missingCommitsCheck configuration to kick in when
+ "rebase --edit-todo" and "rebase --continue" restarts the procedure.
- Code cleanup.
+ Broken.
+ cf. <64aa4049-ee35-df4c-1e6c-80707f4f9070@gmail.com>
- Will merge to 'next'.
+* es/pathspec-f-f-grep (2019-12-13) 1 commit
+ - grep: support the --pathspec-from-file option
-* js/patch-mode-in-others-in-c (2019-12-17) 7 commits
- - commit --interactive: make it work with the built-in `add -i`
- - built-in add -p: implement the "worktree" patch modes
- - built-in add -p: implement the "checkout" patch modes
- - built-in stash: use the built-in `git add -p` if so configured
- - legacy stash -p: respect the add.interactive.usebuiltin setting
- - built-in add -p: implement the "stash" and "reset" patch modes
- - built-in add -p: prepare for patch modes other than "stage"
- (this branch uses js/add-p-in-c.)
+ "git grep" learned the "--pathspec-from-file" command line
+ option.
- The effort to move "git-add--interactive" to C continues.
+ Waiting for review responses.
+ cf. <20191204203911.237056-1-emilyshaffer@google.com>
---------------------------------------------------
-[Stalled]
* at/rebase-fork-point-regression-fix (2019-12-09) 1 commit
- rebase: fix --fork-point with short refname
@@ -639,6 +497,7 @@ of the repositories listed at
Was waiting for discussion to settle.
cf. <CAPig+cQ-3Ds41hr91fRo_GvuFMTP7zNVJtaSqi-Yccq4Pk-8Qg@mail.gmail.com>
+
* ma/config-bool-valex (2019-11-14) 8 commits
- builtin/config: die if "value_regex" doesn't canonicalize as boolean
- builtin/config: warn if "value_regex" doesn't canonicalize as boolean
@@ -749,103 +608,49 @@ of the repositories listed at
--------------------------------------------------
[Cooking]
-* ra/t5150-depends-on-perl (2019-11-27) 1 commit
- (merged to 'next' on 2019-12-16 at 69bb280692)
- + t5150: skip request-pull test if Perl is disabled
+* pw/advise-rebase-skip (2019-12-06) 9 commits
+ - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
+ - rebase: fix advice when a fixup creates an empty commit
+ - commit: give correct advice for empty commit during a rebase
+ - commit: encapsulate determine_whence() for sequencer
+ - commit: use enum value for multiple cherry-picks
+ - sequencer: write CHERRY_PICK_HEAD for reword and edit
+ - cherry-pick: check commit error messages
+ - cherry-pick: add test for `--skip` advice in `git commit`
+ - t3404: use test_cmp_rev
- Some Porcelain commands are written in Perl, and tests on them are
- expected not to work when the platform lacks a working perl.
+ The mechanism to prevent "git commit" from making an empty commit
+ or amending during an interrupted cherry-pick was broken during the
+ rewrite of "git rebase" in C, which has been corrected.
- Will merge to 'master'.
+ Needs review.
+ The tip two are still RFC.
-* am/pathspec-f-f-checkout (2019-12-04) 7 commits
- (merged to 'next' on 2019-12-10 at 6b018bd997)
- + checkout, restore: support the --pathspec-from-file option
- + doc: restore: synchronize <pathspec> description
- + doc: checkout: synchronize <pathspec> description
- + doc: checkout: fix broken text reference
- + doc: checkout: remove duplicate synopsis
- + add: support the --pathspec-from-file option
- + cmd_add: prepare for next patch
+* bk/p4-misc-usability (2019-12-16) 2 commits
+ (merged to 'next' on 2019-12-25 at b4789bcb08)
+ + git-p4: show detailed help when parsing options fail
+ + git-p4: yes/no prompts should sanitize user text
+ (this branch is used by bk/p4-exception-cleanup.)
- A few more commands learned the "--pathspec-from-file" command line
- option.
+ Miscellaneous small UX improvements on "git-p4".
Will merge to 'master'.
-* es/pathspec-f-f-grep (2019-12-13) 1 commit
- - grep: support the --pathspec-from-file option
-
- "git grep" learned the "--pathspec-from-file" command line
- option.
-
- Waiting for review responses.
- cf. <20191204203911.237056-1-emilyshaffer@google.com>
-
-
-* ag/edit-todo-drop-check (2019-12-06) 2 commits
- - rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
- - sequencer: move check_todo_list_from_file() to rebase-interactive.c
-
- Allow the rebase.missingCommitsCheck configuration to kick in when
- "rebase --edit-todo" and "rebase --continue" restarts the procedure.
-
- Broken.
- cf. <64aa4049-ee35-df4c-1e6c-80707f4f9070@gmail.com>
-
-
-* ds/sparse-cone (2019-12-13) 20 commits
- (merged to 'next' on 2019-12-16 at c840c1d816)
- + sparse-checkout: respect core.ignoreCase in cone mode
- + sparse-checkout: check for dirty status
- + sparse-checkout: update working directory in-process for 'init'
- + sparse-checkout: cone mode should not interact with .gitignore
- + sparse-checkout: write using lockfile
- + sparse-checkout: use in-process update for disable subcommand
- + sparse-checkout: update working directory in-process
- + sparse-checkout: sanitize for nested folders
- + unpack-trees: add progress to clear_ce_flags()
- + unpack-trees: hash less in cone mode
- + sparse-checkout: init and set in cone mode
- + sparse-checkout: use hashmaps for cone patterns
- + sparse-checkout: add 'cone' mode
- + trace2: add region in clear_ce_flags
- + sparse-checkout: create 'disable' subcommand
- + sparse-checkout: add '--stdin' option to set subcommand
- + sparse-checkout: 'set' subcommand
- + clone: add --sparse mode
- + sparse-checkout: create 'init' subcommand
- + sparse-checkout: create builtin with 'list' subcommand
-
- Management of sparsely checked-out working tree has gained a
- dedicated "sparse-checkout" command.
-
- Possibly wait for Szeder?
- cf. <bea26b66-ac52-8f0e-9557-c958db7be628@gmail.com>
-
-
-* sg/name-rev-wo-recursion (2019-12-09) 14 commits
- (merged to 'next' on 2019-12-16 at ce57cd054f)
- + name-rev: cleanup name_ref()
- + name-rev: eliminate recursion in name_rev()
- + name-rev: use 'name->tip_name' instead of 'tip_name'
- + name-rev: drop name_rev()'s 'generation' and 'distance' parameters
- + name-rev: restructure creating/updating 'struct rev_name' instances
- + name-rev: restructure parsing commits and applying date cutoff
- + name-rev: pull out deref handling from the recursion
- + name-rev: extract creating/updating a 'struct name_rev' into a helper
- + t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
- + name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
- + name-rev: avoid unnecessary cast in name_ref()
- + name-rev: use strbuf_strip_suffix() in get_rev_name()
- + t6120-describe: modernize the 'check_describe' helper
- + t6120-describe: correct test repo history graph in comment
+* js/patch-mode-in-others-in-c (2019-12-21) 7 commits
+ - commit --interactive: make it work with the built-in `add -i`
+ - built-in add -p: implement the "worktree" patch modes
+ - built-in add -p: implement the "checkout" patch modes
+ - built-in stash: use the built-in `git add -p` if so configured
+ - legacy stash -p: respect the add.interactive.usebuiltin setting
+ - built-in add -p: implement the "stash" and "reset" patch modes
+ - built-in add -p: prepare for patch modes other than "stage"
+ (this branch is used by js/add-p-leftover-bits.)
- Redo "git name-rev" to avoid recursive calls.
+ The effort to move "git-add--interactive" to C continues.
- Will merge to 'master'.
+ Will merge to 'next'.
* jk/packfile-reuse-cleanup (2019-10-23) 9 commits