Uploaded image for project: 'Sourcetree for Windows'
  1. Sourcetree for Windows
  2. SRCTREEWIN-3374

Crash in Apply Patch, when selecting a file that was generated by hg diff

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Low Low
    • None
    • 1.6.14
    • Mercurial
    • None
    • using the standalone, with System Mercurial version 3.4
      OS = Windows 8.1 x64
      Java = 8u45

      To reproduce:

      • run the attachment. This will create a hg repository and a patch file by using hg diff
      • open the repository in SourceTree & do Apply Patch
      • select the file "patch.diff" (which is in the newly created repository) as the patch file
        => SourceTree crashes

      (note that doing "hg import patch.diff" works without problems)

      The relevant portion of sourcetree.log:

      2015-07-12T11:39:12: Fatal error:
      System.ArgumentException: Second path fragment must not be a drive or UNC name.
      Parameter name: path2

      2015-07-12T11:39:12: Stack trace:
      at System.IO.Path.InternalCombine(String path1, String path2)
      at System.IO.FileSystemEnumerableIterator`1.GetFullSearchString(String fullPath, String searchPattern)
      at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
      at System.IO.Directory.EnumerateFiles(String path, String searchPattern, SearchOption searchOption)
      at SourceTree.ViewModel.ApplyPatchDialogViewModel.AnalysePatchImpl(String patchText, Boolean& isCommit, Boolean& isExtendedDiff, Int32& stripLevel, String& basePath, String& msg) in c:\projects\atlassian.com\dev\bitbucket.org\sourcetreewin\ViewModel\ApplyPatchDialogViewModel.cs:line 432
      at SourceTree.ViewModel.ApplyPatchDialogViewModel.<>c_DisplayClass7.<AnalysePatch>b_6() in c:\projects\atlassian.com\dev\bitbucket.org\sourcetreewin\ViewModel\ApplyPatchDialogViewModel.cs:line 250
      at System.Threading.Tasks.Task`1.InnerInvoke()
      at System.Threading.Tasks.Task.Execute()
      — End of stack trace from previous location where exception was thrown —
      at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SourceTree.ViewModel.ApplyPatchDialogViewModel.<AnalysePatch>d__9.MoveNext() in c:\projects\atlassian.com\dev\bitbucket.org\sourcetreewin\ViewModel\ApplyPatchDialogViewModel.cs:line 252
      — End of stack trace from previous location where exception was thrown —
      at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__4(Object state)
      at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
      at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

              Unassigned Unassigned
              42a5f642f91a Anthony Vanelverdinghe
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: