From: Junio C Hamano <gitster@pobox.com>
To: Taylor Blau <me@ttaylorr.com>
Cc: Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>,
git@vger.kernel.org, johannes.schindelin@gmx.de,
Derrick Stolee <derrickstolee@github.com>
Subject: Re: [PATCH 0/4] rebase: update branches in multi-part topic
Date: Fri, 03 Jun 2022 11:52:33 -0700 [thread overview]
Message-ID: <xmqqr145fuku.fsf@gitster.g> (raw)
In-Reply-To: <YppSl4rOvVciLuXE@nand.local> (Taylor Blau's message of "Fri, 3 Jun 2022 14:27:35 -0400")
Taylor Blau <me@ttaylorr.com> writes:
> But I wonder if we can or should delay these update-refs as long as
> possible. In particular: what happens if I get past this "exec" line (so
> that I've already updated my bundle-redo/fetch branch to point at the
> new thing), but decide at some later point to abort the rebase?
>
> I think users will expect us to restore bundle-redo/fetch to where it
> was before if we end up in that case. Recovering from it manually sounds
> like kind of a headache.
That is a very good safety and usability concern. I am glad
somebody thought of it.
> What if instead we created labels here, and then delayed all ref updates
> to the end by replacing this with:
>
> label bundle-redo/fetch
>
> and then at the end of the todo list we'd add:
>
> exec git update-ref refs/heads/bundle-redo/fetch refs/rewritten/bundle-redo/fetch
>
> If we do all of those ref updates in a single transaction at the end, it
> should be much easier to roll back from if desired, and we'd avoid the
> aborted-rebase problem entirely.
;-)
next prev parent reply other threads:[~2022-06-03 18:52 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-03 13:37 [PATCH 0/4] rebase: update branches in multi-part topic Derrick Stolee via GitGitGadget
2022-06-03 13:37 ` [PATCH 1/4] log-tree: create for_each_decoration() Derrick Stolee via GitGitGadget
2022-06-03 17:39 ` Junio C Hamano
2022-06-03 17:58 ` Derrick Stolee
2022-06-03 18:40 ` Junio C Hamano
2022-06-03 13:37 ` [PATCH 2/4] branch: add branch_checked_out() helper Derrick Stolee via GitGitGadget
2022-06-03 18:31 ` Junio C Hamano
2022-06-03 13:37 ` [PATCH 3/4] rebase: add --update-refs option Derrick Stolee via GitGitGadget
2022-06-07 10:25 ` Phillip Wood
2022-06-03 13:37 ` [PATCH 4/4] rebase: add rebase.updateRefs config option Derrick Stolee via GitGitGadget
2022-06-03 16:56 ` [PATCH 0/4] rebase: update branches in multi-part topic Junio C Hamano
2022-06-03 18:27 ` Taylor Blau
2022-06-03 18:52 ` Junio C Hamano [this message]
2022-06-03 19:59 ` Jeff Hostetler
2022-06-03 20:03 ` Taylor Blau
2022-06-03 21:23 ` Junio C Hamano
2022-06-04 15:28 ` Phillip Wood
2022-06-06 15:12 ` Derrick Stolee
2022-06-07 10:11 ` Phillip Wood
2022-06-07 19:39 ` Derrick Stolee
2022-06-08 16:03 ` Junio C Hamano
2022-06-06 16:36 ` Junio C Hamano
2022-06-07 6:25 ` Elijah Newren
2022-06-07 20:42 ` [PATCH v2 0/7] " Derrick Stolee via GitGitGadget
2022-06-07 20:42 ` [PATCH v2 1/7] log-tree: create for_each_decoration() Derrick Stolee via GitGitGadget
2022-06-07 20:42 ` [PATCH v2 2/7] branch: add branch_checked_out() helper Derrick Stolee via GitGitGadget
2022-06-07 22:09 ` Junio C Hamano
2022-06-08 2:14 ` Derrick Stolee
2022-06-08 2:43 ` Derrick Stolee
2022-06-08 4:52 ` Junio C Hamano
2022-06-07 20:42 ` [PATCH v2 3/7] sequencer: define array with enum values Derrick Stolee via GitGitGadget
2022-06-07 22:11 ` Junio C Hamano
2022-06-07 20:42 ` [PATCH v2 4/7] sequencer: add update-refs command Derrick Stolee via GitGitGadget
2022-06-07 20:42 ` [PATCH v2 5/7] rebase: add --update-refs option Derrick Stolee via GitGitGadget
2022-06-07 20:42 ` [PATCH v2 6/7] sequencer: implement 'update-refs' command Derrick Stolee via GitGitGadget
2022-06-07 22:23 ` Junio C Hamano
2022-06-07 20:42 ` [PATCH v2 7/7] rebase: add rebase.updateRefs config option Derrick Stolee via GitGitGadget
2022-06-08 14:32 ` [PATCH v2 0/7] rebase: update branches in multi-part topic Phillip Wood
2022-06-08 18:09 ` Derrick Stolee
2022-06-09 10:04 ` Phillip Wood
2022-06-28 13:25 ` [PATCH v3 0/8] " Derrick Stolee via GitGitGadget
2022-06-28 13:25 ` [PATCH v3 1/8] t2407: test branches currently using apply backend Derrick Stolee via GitGitGadget
2022-06-28 20:44 ` Junio C Hamano
2022-06-29 12:54 ` Derrick Stolee
2022-06-30 16:44 ` Junio C Hamano
2022-06-30 17:35 ` Derrick Stolee
2022-06-28 13:25 ` [PATCH v3 2/8] branch: consider refs under 'update-refs' Derrick Stolee via GitGitGadget
2022-06-28 20:48 ` Junio C Hamano
2022-06-29 12:58 ` Derrick Stolee
2022-06-30 9:47 ` Phillip Wood
2022-06-30 16:50 ` Junio C Hamano
2022-06-30 16:49 ` Junio C Hamano
2022-06-30 9:32 ` Phillip Wood
2022-06-30 13:35 ` Derrick Stolee
2022-07-01 13:40 ` Phillip Wood
2022-06-28 13:25 ` [PATCH v3 3/8] rebase-interactive: update 'merge' description Derrick Stolee via GitGitGadget
2022-06-28 21:00 ` Junio C Hamano
2022-06-29 13:02 ` Derrick Stolee
2022-06-30 17:05 ` Junio C Hamano
2022-06-30 9:34 ` Phillip Wood
2022-06-28 13:25 ` [PATCH v3 4/8] sequencer: define array with enum values Derrick Stolee via GitGitGadget
2022-06-28 21:02 ` Junio C Hamano
2022-06-28 13:25 ` [PATCH v3 5/8] sequencer: add update-ref command Derrick Stolee via GitGitGadget
2022-06-30 9:39 ` Phillip Wood
2022-06-28 13:25 ` [PATCH v3 6/8] rebase: add --update-refs option Derrick Stolee via GitGitGadget
2022-06-28 21:09 ` Junio C Hamano
2022-06-29 13:03 ` Derrick Stolee
2022-07-01 9:20 ` Phillip Wood
2022-07-01 21:20 ` Elijah Newren
2022-07-04 12:56 ` Derrick Stolee
2022-07-04 17:57 ` Elijah Newren
2022-07-05 22:22 ` Derrick Stolee
2022-07-08 2:27 ` Elijah Newren
2022-06-28 13:25 ` [PATCH v3 7/8] rebase: update refs from 'update-ref' commands Derrick Stolee via GitGitGadget
2022-06-28 21:15 ` Junio C Hamano
2022-06-29 13:05 ` Derrick Stolee
2022-06-30 17:09 ` Junio C Hamano
2022-06-29 13:06 ` Derrick Stolee
2022-07-01 9:31 ` Phillip Wood
2022-07-01 18:35 ` Junio C Hamano
2022-07-01 23:18 ` Elijah Newren
2022-07-04 13:05 ` Derrick Stolee
2022-06-28 13:25 ` [PATCH v3 8/8] rebase: add rebase.updateRefs config option Derrick Stolee via GitGitGadget
2022-06-28 21:19 ` [PATCH v3 0/8] rebase: update branches in multi-part topic Junio C Hamano
2022-07-01 13:43 ` Phillip Wood
2022-07-12 13:06 ` [PATCH v4 00/12] " Derrick Stolee via GitGitGadget
2022-07-12 13:06 ` [PATCH v4 01/12] t2407: test bisect and rebase as black-boxes Derrick Stolee via GitGitGadget
2022-07-12 13:06 ` [PATCH v4 02/12] t2407: test branches currently using apply backend Derrick Stolee via GitGitGadget
2022-07-12 13:06 ` [PATCH v4 03/12] branch: consider refs under 'update-refs' Derrick Stolee via GitGitGadget
2022-07-15 15:37 ` Phillip Wood
2022-07-12 13:06 ` [PATCH v4 04/12] rebase-interactive: update 'merge' description Derrick Stolee via GitGitGadget
2022-07-12 13:06 ` [PATCH v4 05/12] sequencer: define array with enum values Derrick Stolee via GitGitGadget
2022-07-12 13:06 ` [PATCH v4 06/12] sequencer: add update-ref command Derrick Stolee via GitGitGadget
2022-07-12 13:07 ` [PATCH v4 07/12] rebase: add --update-refs option Derrick Stolee via GitGitGadget
2022-07-16 19:30 ` Elijah Newren
2022-07-19 15:50 ` Derrick Stolee
2022-07-18 9:05 ` SZEDER Gábor
2022-07-18 16:55 ` Derrick Stolee
2022-07-18 19:35 ` Junio C Hamano
2022-07-19 15:53 ` Derrick Stolee
2022-07-19 16:44 ` Junio C Hamano
2022-07-19 16:47 ` Derrick Stolee
2022-07-12 13:07 ` [PATCH v4 08/12] rebase: update refs from 'update-ref' commands Derrick Stolee via GitGitGadget
2022-07-15 13:25 ` Phillip Wood
2022-07-19 16:04 ` Derrick Stolee
2022-07-12 13:07 ` [PATCH v4 09/12] sequencer: rewrite update-refs as user edits todo list Derrick Stolee via GitGitGadget
2022-07-15 10:27 ` Phillip Wood
2022-07-15 13:13 ` Derrick Stolee
2022-07-18 13:09 ` Phillip Wood
2022-07-16 19:20 ` Elijah Newren
2022-07-12 13:07 ` [PATCH v4 10/12] rebase: add rebase.updateRefs config option Derrick Stolee via GitGitGadget
2022-07-12 13:07 ` [PATCH v4 11/12] sequencer: ignore HEAD ref under --update-refs Derrick Stolee via GitGitGadget
2022-07-12 13:07 ` [PATCH v4 12/12] sequencer: notify user of --update-refs activity Derrick Stolee via GitGitGadget
2022-07-15 10:12 ` Phillip Wood
2022-07-15 13:20 ` Derrick Stolee
2022-07-16 20:51 ` Elijah Newren
2022-07-16 22:09 ` Elijah Newren
2022-07-19 16:09 ` Derrick Stolee
2022-07-12 15:37 ` [PATCH v4 00/12] rebase: update branches in multi-part topic Junio C Hamano
2022-07-14 14:50 ` Derrick Stolee
2022-07-14 18:11 ` Junio C Hamano
2022-07-16 21:23 ` Elijah Newren
2022-07-16 20:56 ` Elijah Newren
2022-07-15 15:41 ` Phillip Wood
2022-07-19 18:33 ` [PATCH v5 " Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 01/12] t2407: test bisect and rebase as black-boxes Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 02/12] t2407: test branches currently using apply backend Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 03/12] branch: consider refs under 'update-refs' Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 04/12] rebase-interactive: update 'merge' description Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 05/12] sequencer: define array with enum values Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 06/12] sequencer: add update-ref command Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 07/12] rebase: add --update-refs option Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 08/12] rebase: update refs from 'update-ref' commands Derrick Stolee via GitGitGadget
2022-07-21 14:03 ` Phillip Wood
2022-07-19 18:33 ` [PATCH v5 09/12] sequencer: rewrite update-refs as user edits todo list Derrick Stolee via GitGitGadget
2022-07-21 14:04 ` Phillip Wood
2022-07-19 18:33 ` [PATCH v5 10/12] rebase: add rebase.updateRefs config option Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 11/12] sequencer: ignore HEAD ref under --update-refs Derrick Stolee via GitGitGadget
2022-07-19 18:33 ` [PATCH v5 12/12] sequencer: notify user of --update-refs activity Derrick Stolee via GitGitGadget
2022-07-21 4:35 ` [PATCH v5 00/12] rebase: update branches in multi-part topic Elijah Newren
2022-07-21 12:12 ` Derrick Stolee
2022-07-21 19:43 ` Elijah Newren
2022-07-21 20:05 ` Derrick Stolee
2022-07-21 14:04 ` Phillip Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqr145fuku.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=johannes.schindelin@gmx.de \
--cc=me@ttaylorr.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.