You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Diffs of large files made of mostly a single line can take very long #45
The problem is not the file size, but when diff'ing text files which are made of a huge single line, so GitUp spends a lot of time computing the wrapping. And in Side-by-Side mode vs Unified mode, it needs to do it twice by definition, so it would be twice as slow.
In the meantime, I would recommend trying to mark such minified files as binary through the use of Git attributes. This way they won't even be diff'ed.
changed the title [-]Very long load time on diffs of large single line files[/-][+]Diffs of large files made of mostly a single line can take very long[/+]on Mar 2, 2016
Might be good to just not display diffs that are > n changes unless the user requests it? I frequently will have to force quit if/when I come across a huge diff.
So, what's the resolution on this? GitUp still chokes on even moderately large files (or large sets of files, or sets of mixed files). It would be nice if diffing aborted and/or showed something like github's "file is too large, click if you really want to see it"
This is true even for advanced mode, even though there have been reports that advanced mode is faster than simple mode.
If one of my commits involves an Xcode project file, Gitup can hang up to 5 minutes while it produces the diff. The fix is simple: do not show diffs on large files. For the record the diff view in Xcode works very well on large project files, so it can be done if we want it. I just don't think it is needed.
i reproduced the problem and took screenshots of the code freezes.
example for about 2 min freeze. it is for diff of a lot of cocoapods changes in the project
As I can see, the problem in the libgit2 find function.
But i don't know how to fix the problem, the code not so easy for me.
Seems like it needs a complex solution to fix it.
I think we need similar solution from app SourceTree like "diff was suppressed of file size or pattern" and maybe settings for that.
Activity
[-]Very long load time on diffs of large single line files[/-][+]Diffs of large files made of mostly a single line can take very long[/+]swisspol commentedon Mar 2, 2016
The diffing should be abort if taking too long anyway.
mdtusz commentedon May 31, 2016
Might be good to just not display diffs that are
> nchanges unless the user requests it? I frequently will have to force quit if/when I come across a huge diff.dmitriid commentedon Sep 19, 2017
So, what's the resolution on this? GitUp still chokes on even moderately large files (or large sets of files, or sets of mixed files). It would be nice if diffing aborted and/or showed something like github's "file is too large, click if you really want to see it"
This is true even for advanced mode, even though there have been reports that advanced mode is faster than simple mode.
NikKovIos commentedon Jan 22, 2018
+1 for fixing this. Have to work with a big files and every time the app freeze when looking a detailed commit.
It would be better a:
file is too large, click if you really want to see itand a button to expand code.phatmann commentedon Oct 12, 2018
If one of my commits involves an Xcode project file, Gitup can hang up to 5 minutes while it produces the diff. The fix is simple: do not show diffs on large files. For the record the diff view in Xcode works very well on large project files, so it can be done if we want it. I just don't think it is needed.
Any reason no one has submitted a PR for this?
bonyadmitr commentedon Jul 18, 2023
@lucasderraugh Hello
i reproduced the problem and took screenshots of the code freezes.
example for about 2 min freeze. it is for diff of a lot of cocoapods changes in the project

As I can see, the problem in the libgit2 find function.
But i don't know how to fix the problem, the code not so easy for me.
Seems like it needs a complex solution to fix it.
I think we need similar solution from app SourceTree like "diff was suppressed of file size or pattern" and maybe settings for that.
p.s. Thank you so much for the GitUp!