+
+
+ Oldest commit first. Reorder commits, then choose how each one should be replayed.
+
+
+ {#if error}
+
+ {/if}
+
+ {#if isLoading}
+
Loading rebase range…
+ {:else if !base}
+
Select the branch or commit that should become the new base.
+ {:else if rows.length === 0}
+
No linear commits are available above this base.
+ {:else}
+
+ {#each rows as row, index (row.hash)}
+
+
+
+
+
+
+ {row.short_hash}
+
+ {#if row.action === "reword"}
+ updateMessage(index, (event.target as HTMLInputElement).value)} disabled={isBusy} aria-label={`New message for ${row.short_hash}`} maxlength="240" />
+ {:else}
+ {row.summary}
+ {/if}
+ {row.author_name} · {new Date(row.date).toLocaleString()}
+
+
+ {/each}
+
+ {/if}
+
+ {#if invalidSquash}
+
Squash and fixup need an earlier commit that is not dropped.
+ {:else if invalidReword}
+
Reword messages cannot be empty.
+ {/if}
+