<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/rebase-interactive.c, branch v2.22.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.22.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.22.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-03-07T00:17:57Z</updated>
<entry>
<title>rebase-interactive: rewrite edit_todo_list() to handle the initial edit</title>
<updated>2019-03-07T00:17:57Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2019-03-05T19:18:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a930eb03a8299b5b29284dd9e3c253c38187167a'/>
<id>urn:sha1:a930eb03a8299b5b29284dd9e3c253c38187167a</id>
<content type='text'>
edit_todo_list() is changed to work on a todo_list, and to handle the
initial edition of the todo list (ie. making a backup of the todo
list).

It does not check for dropped commits yet, as todo_list_check() does not
take the commits that have already been processed by the rebase (ie. the
todo list is edited in the middle of a rebase session).

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase-interactive: append_todo_help() changes</title>
<updated>2019-03-07T00:17:57Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2019-03-05T19:18:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=af1fc3adc5bf0d831ee3c1c8e86c1b7ce59e070e'/>
<id>urn:sha1:af1fc3adc5bf0d831ee3c1c8e86c1b7ce59e070e</id>
<content type='text'>
This moves the writing of the comment "Rebase $shortrevisions onto
$shortonto ($command_count commands)" from todo_list_write_to_file() to
append_todo_help().

shortrevisions, shortonto, and command_count are passed as parameters to
append_todo_help().

During the initial edit of the todo list, shortrevisions and shortonto
are not NULL.  Therefore, if shortrevisions or shortonto is NULL, then
edit_todo would be true, otherwise it would be false.  Thus, edit_todo
is removed from the parameters of append_todo_help().

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase-interactive: use todo_list_write_to_file() in edit_todo_list()</title>
<updated>2019-03-07T00:17:57Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2019-03-05T19:18:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ddb81e50724002645d7ec7d9ffdb714d02a47759'/>
<id>urn:sha1:ddb81e50724002645d7ec7d9ffdb714d02a47759</id>
<content type='text'>
Just like complete_action(), edit_todo_list() used a
function (transform_todo_file()) that read the todo list from the disk
and wrote it back, resulting in useless disk accesses.

This changes edit_todo_list() to call directly todo_list_write_to_file()
instead.

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sequencer: refactor check_todo_list() to work on a todo_list</title>
<updated>2019-01-29T20:09:24Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2019-01-29T15:01:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6ca89c6f399b86983c7e93a3c5b918cad8292b47'/>
<id>urn:sha1:6ca89c6f399b86983c7e93a3c5b918cad8292b47</id>
<content type='text'>
This refactors check_todo_list() to work on a todo_list to avoid
redundant reads and writes to the disk.  The function is renamed
todo_list_check().  The parsing of the two todo lists is left to the
caller.

As rebase -p still need to check the todo list from the disk, a new
function is introduced, check_todo_list_from_file().  It reads the file
from the disk, parses it, pass the todo_list to todo_list_check(), and
writes it back to the disk.

As get_missing_commit_check_level() and the enum
missing_commit_check_level are no longer needed inside of sequencer.c,
they are moved to rebase-interactive.c, and made static again.

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sequencer: refactor transform_todos() to work on a todo_list</title>
<updated>2019-01-29T20:09:24Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2019-01-29T15:01:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cbef27d61cd6ae4f1ecae054eb9df06e898148d8'/>
<id>urn:sha1:cbef27d61cd6ae4f1ecae054eb9df06e898148d8</id>
<content type='text'>
This refactors transform_todos() to work on a todo_list.  The function
is renamed todo_list_transform().

As rebase -p still need to check the todo list from the disk, a new
function is introduced, transform_todo_file().  It is still used by
complete_action() and edit_todo_list() for now, but they will be
replaced in a future commit.

todo_list_transform() is not a static function, because it will be used
by edit_todo_list() from rebase-interactive.c in a future commit.

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase-interactive.c: remove the_repository references</title>
<updated>2018-11-12T05:50:06Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2018-11-10T05:49:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=36e7ed69de2c07a0214e79bde45714b92ac30ff2'/>
<id>urn:sha1:36e7ed69de2c07a0214e79bde45714b92ac30ff2</id>
<content type='text'>
While at there add a forward declaration for struct strbuf.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sequencer.c: remove implicit dependency on the_repository</title>
<updated>2018-11-12T05:50:05Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2018-11-10T05:48:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=005af339c9ad292f9ae2fe3555d8d362a225ca45'/>
<id>urn:sha1:005af339c9ad292f9ae2fe3555d8d362a225ca45</id>
<content type='text'>
Note that the_hash_algo stays, even if we can easily replace it with
repo-&gt;hash_algo. My reason is I still believe tying hash_algo to a
struct repository is a wrong move. But if I'm wrong, we can always go
for another round of conversion.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase -i: introduce the 'break' command</title>
<updated>2018-10-12T14:03:04Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2018-10-12T13:14:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=71f82465b1c9546a09c442c3c9aa22ecbb76f820'/>
<id>urn:sha1:71f82465b1c9546a09c442c3c9aa22ecbb76f820</id>
<content type='text'>
The 'edit' command can be used to cherry-pick a commit and then
immediately drop out of the interactive rebase, with exit code 0, to let
the user amend the commit, or test it, or look around.

Sometimes this functionality would come in handy *without*
cherry-picking a commit, e.g. to interrupt the interactive rebase even
before cherry-picking a commit, or immediately after an 'exec' or a
'merge'.

This commit introduces that functionality, as the spanking new 'break'
command.

Suggested-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase -i: remove unused modes and functions</title>
<updated>2018-08-29T20:38:18Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2018-08-28T12:10:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=91f0d95dcb4dd9c388881b64a7d79a3809927126'/>
<id>urn:sha1:91f0d95dcb4dd9c388881b64a7d79a3809927126</id>
<content type='text'>
This removes the modes `--skip-unnecessary-picks`, `--append-todo-help`,
and `--checkout-onto` from rebase--helper.c, the functions of
git-rebase--interactive.sh that were rendered useless by the rewrite of
complete_action(), and append_todo_help_to_file() from
rebase-interactive.c.

skip_unnecessary_picks() and checkout_onto() becomes static, as they are
only used inside of the sequencer.

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sequencer: refactor append_todo_help() to write its message to a buffer</title>
<updated>2018-08-10T18:56:22Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2018-08-10T16:51:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a9f5476fbca515171e42a4e06b584a9241341ae9'/>
<id>urn:sha1:a9f5476fbca515171e42a4e06b584a9241341ae9</id>
<content type='text'>
This refactors append_todo_help() to write its message to a buffer
instead of the todo-list.  This is needed for the rewrite of
complete_action(), which will come after the next commit.

As rebase--helper still needs the file manipulation part of
append_todo_help(), it is extracted to a temporary function,
append_todo_help_to_file().  This function will go away after the
rewrite of complete_action().

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
