(this branch uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
Typofix.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.
* jc/war-on-string-list (2018-09-28) 1 commit
* jc/war-on-string-list (2018-10-19) 1 commit
- fetch: replace string-list used as a look-up table with a hashmap
Replace two string-list instances used as look-up tables in "git
fetch" with a pair of hashmaps. WIP as there is another such use
of string-list nearby that should be converted at the same time.
Replace three string-list instances used as look-up tables in "git
fetch" with hashmaps.
* js/rebase-i-break (2018-10-12) 2 commits
- rebase -i: introduce the 'break' command
- rebase -i: clarify what happens on a failed `exec`
(merged to 'next' on 2018-10-19 at 6db9b14495)
+ rebase -i: introduce the 'break' command
+ rebase -i: clarify what happens on a failed `exec`
(this branch uses ag/rebase-i-in-c; is tangled with ag/sequencer-reduce-rewriting-todo, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
"git rebase -i" learned a new insn, 'break', that the user can
insert in the to-do list. Upon hitting it, the command returns
control back to the user.
Will merge to 'next' after 'pk/rebase-in-c-6-final'.
Will merge to 'master' after 'pk/rebase-in-c-6-final'.
* js/remote-archive-v2 (2018-09-28) 4 commits
...
...
@@ -560,21 +677,6 @@ of the repositories listed at
Breaks interoperability.
* jt/non-blob-lazy-fetch (2018-10-04) 2 commits
(merged to 'next' on 2018-10-12 at 7466c6bd7d)
+ fetch-pack: exclude blobs when lazy-fetching trees
+ fetch-pack: avoid object flags if no_dependents
A partial clone that is configured to lazily fetch missing objects
will on-demand issue a "git fetch" request to the originating
repository to fill not-yet-obtained objects. The request has been
optimized for requesting a tree object (and not the leaf blob
objects contained in it) by telling the originating repository that
no blobs are needed.
Will merge to 'master'.
* ma/t7005-bash-workaround (2018-09-28) 1 commit
(merged to 'next' on 2018-10-16 at 543e1e6574)
+ t7005-editor: quote filename to fix whitespace-issue
...
...
@@ -584,78 +686,27 @@ of the repositories listed at
- Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
(merged to 'next' on 2018-10-19 at b734d81006)
+ builtin rebase: prepare for builtin rebase -i
+ Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
(this branch is used by pk/rebase-in-c-6-final; uses ag/rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, jc/rebase-in-c-5-test-typofix and js/rebase-i-break.)
"rebase" that has been rewritten learns the new calling convention
used by "rebase -i" that was rewritten in C, tying the loose end
between two GSoC topics that stomped on each other's toes.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.
+ list-objects: support for skipping tree traversal
(merged to 'next' on 2018-10-16 at 64d351d342)
+ filter-trees: code clean-up of tests
(merged to 'next' on 2018-10-12 at c66e49d4ca)
...
...
@@ -1104,86 +982,91 @@ of the repositories listed at
* pk/rebase-in-c-2-basic (2018-09-06) 11 commits
- builtin rebase: support `git rebase <upstream> <switch-to>`
- builtin rebase: only store fully-qualified refs in `options.head_name`
- builtin rebase: start a new rebase only if none is in progress
- builtin rebase: support --force-rebase
- builtin rebase: try to fast forward when possible
- builtin rebase: require a clean worktree
- builtin rebase: support the `verbose` and `diffstat` options
- builtin rebase: support --quiet
- builtin rebase: handle the pre-rebase hook and --no-verify
- builtin rebase: support `git rebase --onto A...B`
- builtin rebase: support --onto
(merged to 'next' on 2018-10-19 at c2a0046e52)
+ builtin rebase: support `git rebase <upstream> <switch-to>`
+ builtin rebase: only store fully-qualified refs in `options.head_name`
+ builtin rebase: start a new rebase only if none is in progress
+ builtin rebase: support --force-rebase
+ builtin rebase: try to fast forward when possible
+ builtin rebase: require a clean worktree
+ builtin rebase: support the `verbose` and `diffstat` options
+ builtin rebase: support --quiet
+ builtin rebase: handle the pre-rebase hook and --no-verify
+ builtin rebase: support `git rebase --onto A...B`
+ builtin rebase: support --onto
(this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
Rewrite "git rebase" in C.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.
* pk/rebase-in-c-3-acts (2018-09-06) 7 commits
- builtin rebase: stop if `git am` is in progress
- builtin rebase: actions require a rebase in progress
- builtin rebase: support --edit-todo and --show-current-patch
- builtin rebase: support --quit
- builtin rebase: support --abort
- builtin rebase: support --skip
- builtin rebase: support --continue
(merged to 'next' on 2018-10-19 at 9275677430)
+ builtin rebase: stop if `git am` is in progress
+ builtin rebase: actions require a rebase in progress
+ builtin rebase: support --edit-todo and --show-current-patch
+ builtin rebase: support --quit
+ builtin rebase: support --abort
+ builtin rebase: support --skip
+ builtin rebase: support --continue
(this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
Rewrite "git rebase" in C.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.
* pk/rebase-in-c-4-opts (2018-10-11) 18 commits
- builtin rebase: support --root
- builtin rebase: add support for custom merge strategies
- builtin rebase: support `fork-point` option
- merge-base --fork-point: extract libified function
- builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
- builtin rebase: support `--allow-empty-message` option
- builtin rebase: support `--exec`
- builtin rebase: support `--autostash` option
- builtin rebase: support `-C` and `--whitespace=<type>`
- builtin rebase: support `--gpg-sign` option
- builtin rebase: support `--autosquash`
- builtin rebase: support `keep-empty` option
- builtin rebase: support `ignore-date` option
- builtin rebase: support `ignore-whitespace` option
- builtin rebase: support --committer-date-is-author-date
- builtin rebase: support --rerere-autoupdate
- builtin rebase: support --signoff
- builtin rebase: allow selecting the rebase "backend"
(merged to 'next' on 2018-10-19 at 2770b2f5d5)
+ builtin rebase: support --root
+ builtin rebase: add support for custom merge strategies
+ builtin rebase: support `fork-point` option
+ merge-base --fork-point: extract libified function
+ builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
+ builtin rebase: support `--allow-empty-message` option
+ builtin rebase: support `--exec`
+ builtin rebase: support `--autostash` option
+ builtin rebase: support `-C` and `--whitespace=<type>`
+ builtin rebase: support `--gpg-sign` option
+ builtin rebase: support `--autosquash`
+ builtin rebase: support `keep-empty` option
+ builtin rebase: support `ignore-date` option
+ builtin rebase: support `ignore-whitespace` option
+ builtin rebase: support --committer-date-is-author-date
+ builtin rebase: support --rerere-autoupdate
+ builtin rebase: support --signoff
+ builtin rebase: allow selecting the rebase "backend"
(this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
Rewrite "git rebase" in C.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.
* pk/rebase-in-c-5-test (2018-10-11) 6 commits
- builtin rebase: error out on incompatible option/mode combinations
- builtin rebase: use no-op editor when interactive is "implied"
- builtin rebase: show progress when connected to a terminal
- builtin rebase: fast-forward to onto if it is a proper descendant
- builtin rebase: optionally pass custom reflogs to reset_head()
- builtin rebase: optionally auto-detect the upstream
(merged to 'next' on 2018-10-19 at 0e48bc8243)
+ builtin rebase: error out on incompatible option/mode combinations
+ builtin rebase: use no-op editor when interactive is "implied"
+ builtin rebase: show progress when connected to a terminal
+ builtin rebase: fast-forward to onto if it is a proper descendant
+ builtin rebase: optionally pass custom reflogs to reset_head()
+ builtin rebase: optionally auto-detect the upstream
(this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
Rewrite "git rebase" in C.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.
* pk/rebase-in-c-6-final (2018-10-11) 1 commit
- rebase: default to using the builtin rebase
(merged to 'next' on 2018-10-19 at 52f1dadf69)
+ rebase: default to using the builtin rebase
(this branch uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, jc/rebase-in-c-5-test-typofix and js/rebase-i-break.)
The final step of rewriting "rebase -i" in C.
Will merge to 'next'.
Will merge to 'master'.
* ps/stash-in-c (2018-10-15) 21 commits
...
...
@@ -1234,39 +1117,41 @@ of the repositories listed at
* ag/rebase-i-in-c (2018-10-09) 20 commits
- rebase -i: move rebase--helper modes to rebase--interactive
- rebase -i: remove git-rebase--interactive.sh
- rebase--interactive2: rewrite the submodes of interactive rebase in C
- rebase -i: implement the main part of interactive rebase as a builtin
- rebase -i: rewrite init_basic_state() in C
- rebase -i: rewrite write_basic_state() in C
- rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
- rebase -i: implement the logic to initialize $revisions in C
- rebase -i: remove unused modes and functions
- rebase -i: rewrite complete_action() in C
- t3404: todo list with commented-out commands only aborts
- sequencer: change the way skip_unnecessary_picks() returns its result
- sequencer: refactor append_todo_help() to write its message to a buffer
- rebase -i: rewrite checkout_onto() in C
- rebase -i: rewrite setup_reflog_action() in C
- sequencer: add a new function to silence a command, except if it fails
- rebase -i: rewrite the edit-todo functionality in C
- editor: add a function to launch the sequence editor
- rebase -i: rewrite append_todo_help() in C
- sequencer: make three functions and an enum from sequencer.c public
(merged to 'next' on 2018-10-19 at 1b24712d46)
+ rebase -i: move rebase--helper modes to rebase--interactive
+ rebase -i: remove git-rebase--interactive.sh
+ rebase--interactive2: rewrite the submodes of interactive rebase in C
+ rebase -i: implement the main part of interactive rebase as a builtin
+ rebase -i: rewrite init_basic_state() in C
+ rebase -i: rewrite write_basic_state() in C
+ rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
+ rebase -i: implement the logic to initialize $revisions in C
+ rebase -i: remove unused modes and functions
+ rebase -i: rewrite complete_action() in C
+ t3404: todo list with commented-out commands only aborts
+ sequencer: change the way skip_unnecessary_picks() returns its result
+ sequencer: refactor append_todo_help() to write its message to a buffer
+ rebase -i: rewrite checkout_onto() in C
+ rebase -i: rewrite setup_reflog_action() in C
+ sequencer: add a new function to silence a command, except if it fails
+ rebase -i: rewrite the edit-todo functionality in C
+ editor: add a function to launch the sequence editor
+ rebase -i: rewrite append_todo_help() in C
+ sequencer: make three functions and an enum from sequencer.c public
(this branch is used by ag/sequencer-reduce-rewriting-todo, js/rebase-i-break, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
Rewrite of the remaining "rebase -i" machinery in C.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.
* pk/rebase-in-c (2018-08-06) 3 commits
- builtin/rebase: support running "git rebase <upstream>"
- rebase: refactor common shell functions into their own file
- rebase: start implementing it as a builtin
(merged to 'next' on 2018-10-19 at 26c29ace53)
+ builtin/rebase: support running "git rebase <upstream>"
+ rebase: refactor common shell functions into their own file
+ rebase: start implementing it as a builtin
(this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
Rewrite of the "rebase" machinery in C.
Will merge to 'next' together with pk/rebase-i-in-c-6-final.
Will merge to 'master' together with pk/rebase-i-in-c-6-final.