Re: What's cooking in git.git (Sep 2016, #06; Wed, 21)
Hi, On Wed, 21 Sep 2016, Junio C Hamano wrote: > * rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit > - rebase -i: improve advice on bad instruction lines > > When "git rebase -i" is given a broken instruction, it told the > user to fix it with "--edit-todo", but didn't say what the step > after that was (i.e. "--continue"). > > Will hold. > Dscho's "rebase -i" hopefully will become available in 'pu', by > which time an equivalent of this fix would be ported to C. This is > queued merely as a reminder. Porting the fix was surprisingly easy: -- snipsnap -- [PATCH] fixup! rebase -i: check for missing commits in the rebase--helper --- sequencer.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sequencer.c b/sequencer.c index 8f27524..386d16e 100644 --- a/sequencer.c +++ b/sequencer.c @@ -2567,9 +2567,10 @@ int check_todo_list(void) if (raise_error) fprintf(stderr, - _("You can fix this with 'git rebase --edit-todo'.\n" - "Or you can abort the rebase with 'git rebase" - " --abort'.\n")); + _("You can fix this with 'git rebase --edit-todo' " + "and then run 'git rebase --continue'.\n" + "Or you can abort the rebase with 'git rebase" + " --abort'.\n")); return res; } -- 2.10.0.windows.1.10.g803177d
What's cooking in git.git (Sep 2016, #06; Wed, 21)
Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while 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. Quite a lot of topics have graduated to 'master'. The tip of 'next' has been rewound and rebuilt. Accumulated fixes since v2.10.0 are now almost ready to spawn the first maintenance update v2.10.1 but not quite yet. You can find the changes described here in the integration branches of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -- [Graduated to "master"] * bw/pathspec-remove-unused-extern-decl (2016-09-13) 1 commit (merged to 'next' on 2016-09-15 at c5b281b) + pathspec: remove unnecessary function prototypes Code cleanup. * et/add-chmod-x (2016-09-12) 1 commit (merged to 'next' on 2016-09-15 at c81abae) + add: document the chmod option (this branch is used by tg/add-chmod+x-fix.) "git add --chmod=+x" added recently lacked documentation, which has been corrected. * ew/http-do-not-forget-to-call-curl-multi-remove-handle (2016-09-13) 3 commits (merged to 'next' on 2016-09-15 at 696acb7) + http: always remove curl easy from curlm session on release + http: consolidate #ifdefs for curl_multi_remove_handle + http: warn on curl_multi_add_handle failures The http transport (with curl-multi option, which is the default these days) failed to remove curl-easy handle from a curlm session, which led to unnecessary API failures. * jk/delta-base-cache (2016-09-12) 1 commit (merged to 'next' on 2016-09-15 at 1e35f8d) + add_delta_base_cache: use list_for_each_safe Recently we updated the code to manage the in-core cache that holds objects that have recently been used to reconstitute other objects that are stored as deltas against them, but the update used an incorrect API function to manage the list of these objects. This has been fixed. This is a last-minute fix to a topic that graduated to 'master' post 2.10 release. * jk/patch-ids-no-merges (2016-09-12) 2 commits (merged to 'next' on 2016-09-15 at 14bb3a0) + patch-ids: refuse to compute patch-id for merge commit + patch-ids: turn off rename detection "git log --cherry-pick" used to include merge commits as candidates to be matched up with other commits, resulting a lot of wasted time. The patch-id generation logic has been updated to ignore merges to avoid the wastage. * jk/rebase-i-drop-ident-check (2016-07-29) 1 commit (merged to 'next' on 2016-08-14 at 6891bcd) + rebase-interactive: drop early check for valid ident Even when "git pull --rebase=preserve" (and the underlying "git rebase --preserve") can complete without creating any new commit (i.e. fast-forwards), it still insisted on having a usable ident information (read: user.email is set correctly), which was less than nice. As the underlying commands used inside "git rebase" would fail with a more meaningful error message and advice text when the bogus ident matters, this extra check was removed. * jk/reduce-gc-aggressive-depth (2016-08-11) 1 commit (merged to 'next' on 2016-08-11 at 6810c6f) + gc: default aggressive depth to 50 "git gc --aggressive" used to limit the delta-chain length to 250, which is way too deep for gaining additional space savings and is detrimental for runtime performance. The limit has been reduced to 50. * jk/setup-sequence-update (2016-09-13) 16 commits (merged to 'next' on 2016-09-15 at 4df8399) + t1007: factor out repeated setup + init: reset cached config when entering new repo + init: expand comments explaining config trickery + config: only read .git/config from configured repos + test-config: setup git directory + t1302: use "git -C" + pager: handle early config + pager: use callbacks instead of configset + pager: make pager_program a file-local static + pager: stop loading git_default_config() + pager: remove obsolete comment + diff: always try to set up the repository + diff: handle --no-index prefixes consistently + diff: skip implicit no-index check when given --no-index + patch-id: use RUN_SETUP_GENTLY + hash-object: always try to set up the git repository (this branch is used by nd/init-core-worktree-in-multi-worktree-world.) There were numerous corner cases in which the configuration files are read and used or not read at all depending on the directory a Git command was run, leading to inconsistent behaviour. The code to set-up repository access at the beginning of a Git process has been updated to fix them. * js/cat-file-filters (2016-09-11) 4 commits (merged to 'next' on 2016-09-15 at a231380) + cat-file: support --textconv/--filters in batch mode + cat-file --textconv/--filters: allow specifying the path separately + cat-file: introduce the --filters option + cat-file: fix a grammo in the man page