Skip to content

Commit 89bc8a7

Browse files
committed
feature: add original pick-order for commits in Interactive Rebase window (#1676)
Signed-off-by: leo <longshuang@msn.cn>
1 parent 99389db commit 89bc8a7

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

src/ViewModels/InteractiveRebase.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ public record InteractiveRebasePrefill(string SHA, Models.InteractiveRebaseActio
1515

1616
public class InteractiveRebaseItem : ObservableObject
1717
{
18+
public int OriginalOrder
19+
{
20+
get;
21+
}
22+
1823
public Models.Commit Commit
1924
{
2025
get;
@@ -59,8 +64,9 @@ public string FullMessage
5964
}
6065
}
6166

62-
public InteractiveRebaseItem(Models.Commit c, string message, bool canSquashOrFixup)
67+
public InteractiveRebaseItem(int order, Models.Commit c, string message, bool canSquashOrFixup)
6368
{
69+
OriginalOrder = order;
6470
Commit = c;
6571
FullMessage = message;
6672
CanSquashOrFixup = canSquashOrFixup;
@@ -142,7 +148,7 @@ public InteractiveRebase(Repository repo, Models.Commit on, InteractiveRebasePre
142148
for (var i = 0; i < commits.Count; i++)
143149
{
144150
var c = commits[i];
145-
list.Add(new InteractiveRebaseItem(c.Commit, c.Message, i < commits.Count - 1));
151+
list.Add(new InteractiveRebaseItem(commits.Count - i, c.Commit, c.Message, i < commits.Count - 1));
146152
}
147153

148154
var selected = list.Count > 0 ? list[0] : null;

src/Views/InteractiveRebase.axaml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
<Grid Height="26" Margin="8,0" ClipToBounds="True">
8585
<Grid.ColumnDefinitions>
8686
<ColumnDefinition Width="16"/>
87+
<ColumnDefinition Width="Auto" SharedSizeGroup="CommitOrderColumn"/>
8788
<ColumnDefinition Width="110"/>
8889
<ColumnDefinition Width="*"/>
8990
<ColumnDefinition Width="32"/>
@@ -111,16 +112,23 @@
111112
VerticalAlignment="Center"/>
112113
</Border>
113114

115+
<!-- Original Order -->
116+
<TextBlock Grid.Column="1"
117+
Margin="4,0,0,0"
118+
FontFamily="{DynamicResource Fonts.Monospace}"
119+
Text="{Binding OriginalOrder, StringFormat='#{0}'}"
120+
HorizontalAlignment="Center"/>
121+
114122
<!-- Action -->
115-
<Button Grid.Column="1" Opacity="1" Margin="4,0,0,0" Padding="8,2" Background="Transparent" Click="OnButtonActionClicked">
123+
<Button Grid.Column="2" Opacity="1" Margin="4,0,0,0" Padding="8,2" Background="Transparent" Click="OnButtonActionClicked">
116124
<StackPanel Orientation="Horizontal">
117125
<Ellipse Width="14" Height="14" Fill="{Binding Action, Converter={x:Static c:InteractiveRebaseActionConverters.ToIconBrush}}"/>
118126
<TextBlock Margin="8,0" Text="{Binding Action, Converter={x:Static c:InteractiveRebaseActionConverters.ToName}}"/>
119127
</StackPanel>
120128
</Button>
121129

122130
<!-- Subject -->
123-
<Grid Grid.Column="2" ColumnDefinitions="Auto,*" ClipToBounds="True">
131+
<Grid Grid.Column="3" ColumnDefinitions="Auto,*" ClipToBounds="True">
124132
<Button Grid.Column="0"
125133
Classes="icon_button"
126134
Margin="0,0,6,0" Padding="0"
@@ -142,24 +150,24 @@
142150
</Grid>
143151

144152
<!-- Author Avatar -->
145-
<v:Avatar Grid.Column="3"
153+
<v:Avatar Grid.Column="4"
146154
Width="16" Height="16"
147155
Margin="8,0,0,0"
148156
VerticalAlignment="Center"
149157
User="{Binding Commit.Author}"/>
150158

151159
<!-- Author Name -->
152-
<Border Grid.Column="4" ClipToBounds="True">
160+
<Border Grid.Column="5" ClipToBounds="True">
153161
<TextBlock Margin="6,0,12,0" Text="{Binding Commit.Author.Name}"/>
154162
</Border>
155163

156164
<!-- Commit SHA -->
157-
<Border Grid.Column="5" ClipToBounds="True">
165+
<Border Grid.Column="6" ClipToBounds="True">
158166
<TextBlock Text="{Binding Commit.SHA, Converter={x:Static c:StringConverters.ToShortSHA}}"/>
159167
</Border>
160168

161169
<!-- Commit Time -->
162-
<Border Grid.Column="6">
170+
<Border Grid.Column="7">
163171
<TextBlock Margin="16,0,8,0" Text="{Binding Commit.CommitterTimeStr}"/>
164172
</Border>
165173
</Grid>

0 commit comments

Comments
 (0)