Skip to content

Commit f436b76

Browse files
committed
Prevent error when branch is in detached HEAD state.
1 parent 08660b1 commit f436b76

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

Assets/Plugins/CandyCoded.GitStatus/Scripts/CustomEditor/GitStatusPanel.cs

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,36 @@ private void OnGUI()
2626

2727
var selectedBranch = Array.IndexOf(GitStatus.branches, GitStatus.branch);
2828

29-
selectedBranch = EditorGUILayout.Popup("Branch:", selectedBranch, GitStatus.branches);
29+
if (selectedBranch == -1)
30+
{
31+
32+
GUILayout.Label($"Branch: {GitStatus.branch}");
3033

31-
if (!GitStatus.branches[selectedBranch].Equals(GitStatus.branch))
34+
}
35+
else
3236
{
3337

34-
if (GitStatus.changedFiles?.Length > 0)
38+
selectedBranch = EditorGUILayout.Popup("Branch:", selectedBranch, GitStatus.branches);
39+
40+
if (!GitStatus.branches[selectedBranch].Equals(GitStatus.branch))
3541
{
3642

37-
EditorUtility.DisplayDialog(
38-
"Unable to checkout branch",
39-
$"Unable to checkout {GitStatus.branches[selectedBranch]} as with {GitStatus.changedFiles?.Length} changes. " +
40-
"Commit, discard or stash before checking out a different branch.",
41-
"Ok");
43+
if (GitStatus.changedFiles?.Length > 0)
44+
{
4245

43-
}
44-
else
45-
{
46+
EditorUtility.DisplayDialog(
47+
"Unable to checkout branch",
48+
$"Unable to checkout {GitStatus.branches[selectedBranch]} as with {GitStatus.changedFiles?.Length} changes. " +
49+
"Commit, discard or stash before checking out a different branch.",
50+
"Ok");
51+
52+
}
53+
else
54+
{
55+
56+
Git.CheckoutBranch(GitStatus.branches[selectedBranch]);
4657

47-
Git.CheckoutBranch(GitStatus.branches[selectedBranch]);
58+
}
4859

4960
}
5061

0 commit comments

Comments
 (0)