Skip to content

ExternalOperationException from denied branch rename is swallowed #10375

@mstv

Description

@mstv

Environment

  • Git Extensions 33.33.33
  • Build 0bd62f6
  • Git 2.38.1.windows.1
  • Microsoft Windows NT 10.0.19044.0
  • .NET 6.0.10
  • DPI 96dpi (no scaling)

Issue description

Errors from renaming a branch are only visible in the Git Command Log:

Exception:
 GitExtUtils.ExternalOperationException: error: 'refs/heads/release/4.0' exists; cannot create 'refs/heads/release/4.0/debug'
fatal: Branch rename failed
 ---> System.Exception: error: 'refs/heads/release/4.0' exists; cannot create 'refs/heads/release/4.0/debug'
fatal: Branch rename failed
   --- End of inner exception stack trace ---
   at GitCommands.ExecutableExtensions.GetOutputAsync(IExecutable executable, ArgumentString arguments, Byte[] input, Encoding outputEncoding, CommandCache cache, Boolean stripAnsiEscapeCodes)
   at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
   at Microsoft.VisualStudio.Threading.JoinableTask`1.CompleteOnCurrentThread()
   at GitCommands.ExecutableExtensions.GetOutput(IExecutable executable, ArgumentString arguments, Byte[] input, Encoding outputEncoding, CommandCache cache, Boolean stripAnsiEscapeCodes)
   at GitCommands.GitModule.RenameBranch(String name, String newName)
   at GitUI.CommandsDialogs.FormRenameBranch.OkClick(Object sender, EventArgs e)
Standard err:
 error: 'refs/heads/release/4.0' exists; cannot create 'refs/heads/release/4.0/debug'
fatal: Branch rename failed

Steps to reproduce

  • create / checkout a branch like 'release/4.0'
  • create a branch 'release/4.0_debug'
  • rename it to 'release/4.0/debug'

Did this work in previous version of GitExtensions?

I doubt it

Diagnostics

No response

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions