paulfitz / daff

align and compare tables
https://paulfitz.github.io/daff
MIT License
790 stars 68 forks source link

SourceTree keep on chrashing with enabled daff in git project #153

Open studentutu opened 4 years ago

studentutu commented 4 years ago

Good afternoon, it works perfectly as intended in standart git bash, but each time I'm trying to see the diff on the actual file inside the SourceTree it crashes. Could you make some kind of a workaround for it? I'm trying to fix it with myself, but to no avail(

image image

paulfitz commented 4 years ago

Hi @studentutu, is that top window (the one with "Select a file to view the diff") vscode? Perhaps it is confused by custom diff formats (I'm surprised it crashes though). I'll take a look at installing vscode and replicating. Thanks for reporting the problem.

studentutu commented 4 years ago

@paulfitz sorry for not giving more info about the issue - top window is just a SourceTree window, but yes, I'm using VSCode as my default viewer, though sourcetree has it's own view on the diffs

studentutu commented 4 years ago

@paulfitz HI, have you tried to reproduce the issue?

paulfitz commented 4 years ago

@studentutu I did install VSCode, and poked around, but I see now that was the wrong program. Is "SourceTree" this application? https://www.sourcetreeapp.com/

studentutu commented 4 years ago

@paulfitz yes, Sourcetree - better GUI for large projects if you are using Unity/Unreal game engine or similarly larged projects,sorry I should have posted it in the issue(

ebw44 commented 2 years ago

If it can help a way to avoid the problem for me was to remove the integration of daff into git and add the following to my .gitconfig

[alias]
    diff-csv = !git -c diff.external=\"daff diff --git\" diff *.csv

With that you can run git diff-csv when you want to see the diff of all the csv in your repository, but external tools like Sourcetree are not affected.

manticorp commented 1 year ago

I have the same issue.

SourceTree logs report:

ERROR [2023-06-16 14:08:39,551] [1] [SourceTree.App] [Log] - Object reference not set to an instance of an object. The application is terminating.
System.NullReferenceException: Object reference not set to an instance of an object.
   at SourceTree.Utils.DvcsHelper.ParseDiffToModel(String diff, Int32 maxFiles, DiffEnvironment diffEnvironment, IConfigurationManager configurationManager, Int32 lineLimit)
   at SourceTree.ViewModel.DiffViewModel.<ProcessDiffForStatus>d__191.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at SourceTree.ViewModel.DiffViewModel.<LaunchDiffProcessing>d__194.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at SourceTree.App.Main()