Skip to content

Commit a112d21

Browse files
committed
enhance: disable pull/stash/apply/git-flow/git-lfs buttons in bare repository
1 parent b9b5220 commit a112d21

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

src/Views/CreateBranch.axaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
Text="{DynamicResource Text.CreateBranch.LocalChanges}"
7171
IsVisible="{Binding !IsBareRepository}"/>
7272
<Border Grid.Row="2" Grid.Column="1" MinHeight="32" IsVisible="{Binding !IsBareRepository}">
73-
<WrapPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center">
73+
<WrapPanel Orientation="Horizontal" VerticalAlignment="Center">
7474
<RadioButton Content="{DynamicResource Text.CreateBranch.LocalChanges.DoNothing}"
7575
x:Name="RadioDoNothing"
7676
GroupName="LocalChanges"

src/Views/RepositoryToolbar.axaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<Path Width="14" Height="14" Data="{StaticResource Icons.Fetch}"/>
4343
</Button>
4444

45-
<Button Classes="icon_button" Width="32" Margin="16,0,0,0" Click="Pull" HotKey="{OnPlatform Ctrl+Shift+Down, macOS=⌘+Shift+Down}">
45+
<Button Classes="icon_button" Width="32" Margin="16,0,0,0" Click="Pull" IsVisible="{Binding !IsBare}" IsEnabled="{Binding !IsBare}" HotKey="{OnPlatform Ctrl+Shift+Down, macOS=⌘+Shift+Down}">
4646
<ToolTip.Tip>
4747
<StackPanel Orientation="Vertical">
4848
<TextBlock Text="{DynamicResource Text.Pull}"/>
@@ -64,7 +64,7 @@
6464
<Path Width="14" Height="14" Data="{StaticResource Icons.Push}"/>
6565
</Button>
6666

67-
<Button Classes="icon_button" Width="32" Margin="16,0,0,0" Click="StashAll">
67+
<Button Classes="icon_button" Width="32" Margin="16,0,0,0" Click="StashAll" IsVisible="{Binding !IsBare}">
6868
<ToolTip.Tip>
6969
<StackPanel Orientation="Vertical">
7070
<TextBlock Text="{DynamicResource Text.Stash}"/>
@@ -75,7 +75,7 @@
7575
<Path Width="14" Height="14" Data="{StaticResource Icons.Stashes.Add}"/>
7676
</Button>
7777

78-
<Button Classes="icon_button" Width="32" Margin="16,0,0,0" Command="{Binding ApplyPatch}" ToolTip.Tip="{DynamicResource Text.Apply}">
78+
<Button Classes="icon_button" Width="32" Margin="16,0,0,0" Command="{Binding ApplyPatch}" IsVisible="{Binding !IsBare}" ToolTip.Tip="{DynamicResource Text.Apply}">
7979
<Path Width="14" Height="14" Data="{StaticResource Icons.Diff}"/>
8080
</Button>
8181

@@ -88,11 +88,11 @@
8888
<Path Width="14" Height="14" Data="{StaticResource Icons.Branch.Add}"/>
8989
</Button>
9090

91-
<Button Classes="icon_button" Width="32" Margin="8,0,0,0" Click="OpenGitFlowMenu" ToolTip.Tip="{DynamicResource Text.GitFlow}">
91+
<Button Classes="icon_button" Width="32" Margin="8,0,0,0" Click="OpenGitFlowMenu" IsVisible="{Binding !IsBare}" ToolTip.Tip="{DynamicResource Text.GitFlow}">
9292
<Path Width="14" Height="14" Data="{StaticResource Icons.GitFlow}"/>
9393
</Button>
9494

95-
<Button Classes="icon_button" Width="32" Margin="8,0,0,0" Click="OpenGitLFSMenu" ToolTip.Tip="{DynamicResource Text.GitLFS}">
95+
<Button Classes="icon_button" Width="32" Margin="8,0,0,0" Click="OpenGitLFSMenu" IsVisible="{Binding !IsBare}" ToolTip.Tip="{DynamicResource Text.GitLFS}">
9696
<Path Width="14" Height="14" Data="{StaticResource Icons.LFS}"/>
9797
</Button>
9898

src/Views/RepositoryToolbar.axaml.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ private void Pull(object _, RoutedEventArgs e)
5959
var launcher = this.FindAncestorOfType<Launcher>();
6060
if (launcher is not null && DataContext is ViewModels.Repository repo)
6161
{
62+
if (repo.IsBare)
63+
{
64+
App.RaiseException(repo.FullPath, "Can't run `git pull` in bare repository!");
65+
return;
66+
}
67+
6268
var startDirectly = launcher.HasKeyModifier(KeyModifiers.Control);
6369
launcher.ClearKeyModifier();
6470
repo.Pull(startDirectly);

0 commit comments

Comments
 (0)