sourcegit-scm / sourcegit

Windows/macOS/Linux GUI client for GIT users
MIT License
1.32k stars 134 forks source link

Displays "No changes or EOL changes" for all commits #449

Closed lamyergeier closed 2 weeks ago

lamyergeier commented 1 month ago

Installed on Fedora 40 (Wayland) using

  1. helper script: https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md#install-from-source-helper-script
  2. Using AppImage for sourcegit

I have more than a 1000 commits! As the below screenshot shows it shows "No changes or EOL changes" for all commits

image

love-linger commented 1 month ago

Could you please do some tests for me? What's the output when you run git diff --ignore-cr-at-eol ${COMMIT_SHA}^ ${COMMIT_SHA} -- ${FILE_PATH}

[!NOTE] You need replace the ${COMMIT_SHA} and ${FILE_PATH}

lamyergeier commented 1 month ago
$ git diff --ignore-cr-at-eol  71811303211d5ced9aaee125d61c77bfdf188d1d^ 71811303211d5ced9aaee125d61c77bfdf188d1d YouTube.log.json
diff --git a/YouTube.log.json b/YouTube.log.json
index 9614db2..ac7ea04 100644
--- a/YouTube.log.json
+++ b/YouTube.log.json
@@ -14920,5 +14920,14 @@
     "duration_string": "47:46",
     "upload_date": "20230922",
     "download_date": "2024-09-08"
+  },
+  {
+    "id": "PaOBzTTNhRM",
+    "title": "5 Minuten (und 36 Sek) Harry Podcast #30 - I'll stand by you always",
+    "webpage_url": "https://www.youtube.com/watch?v=PaOBzTTNhRM",
+    "channel": "coldmirror",
+    "duration_string": "1:01:06",
+    "upload_date": "20231224",
+    "download_date": "2024-09-08"
   }
 ]

image

image

lamyergeier commented 1 month ago

Also, when changes are made to a staged file (e.g. by adding characters to a new line) it shows following

image

love-linger commented 1 month ago

It's very strange. Do you only have the problem in this repo, or do all repos have the problem?

lamyergeier commented 1 month ago

Facing same problem with other more complicated repositories! Above example had just one file in the repository, below has several files:

git diff --ignore-cr-at-eol  HEAD^ HEAD 

diff --git a/Classical/Western/Rachmaninoff/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192]/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192].m3u8.new b/Classical/Western/Rachmaninoff/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192]/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192].m3u8
similarity index 96%
rename from Classical/Western/Rachmaninoff/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192]/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192].m3u8.new
rename to Classical/Western/Rachmaninoff/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192]/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192].m3u8
index ac8336b..6037ba4 100644
--- a/Classical/Western/Rachmaninoff/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192]/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192].m3u8.new 
+++ b/Classical/Western/Rachmaninoff/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192]/Rachmaninoff 24 Préludes, Boris Giltburg (2019) [24-192].m3u8 
@@ -1,7 +1,7 @@
 #EXTM3U

 #EXTINF:255.106667, Sergey Rachmaninov - 01 Morceaux de fantaisie, op. 3 - No. 2 in C-sharp minor. Prélude
-#01 Morceaux de fantaisie, op. 3 - No. 2 in C-sharp minor. Prélude.flac
+01 Morceaux de fantaisie, op. 3 - No. 2 in C-sharp minor. Prélude.flac

 #EXTINF:220.720000, Sergey Rachmaninov - 02 10 Préludes, op. 23 - No. 1 in F-sharp minor. Largo
 #02 10 Préludes, op. 23 - No. 1 in F-sharp minor. Largo.flac
@@ -46,7 +46,7 @@
 #15 13 Préludes, op. 32 - No. 4 in E minor. Allegro con brio.flac

 #EXTINF:194.733333, Sergey Rachmaninov - 16 13 Préludes, op. 32 - No. 5 in G major. Moderato
-#16 13 Préludes, op. 32 - No. 5 in G major. Moderato.flac
+16 13 Préludes, op. 32 - No. 5 in G major. Moderato.flac

 #EXTINF:102.626667, Sergey Rachmaninov - 17 13 Préludes, op. 32 - No. 6 in F minor. Allegro appassionato
 #17 13 Préludes, op. 32 - No. 6 in F minor. Allegro appassionato.flac
@@ -71,4 +71,3 @@

 #EXTINF:313.626667, Sergey Rachmaninov - 24 13 Préludes, op. 32 - No. 13 in D-flat major. Grave
 #24 13 Préludes, op. 32 - No. 13 in D-flat major. Grave.flac
-
diff --git a/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a.gen.m3u8 b/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to King Lear, op. 58a/Shostakovich Suite from the Incidental Music to King Lear, op. 58a.gen.m3u8
similarity index 100%
rename from Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a.gen.m3u8
rename to Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to King Lear, op. 58a/Shostakovich Suite from the Incidental Music to King Lear, op. 58a.gen.m3u8
diff --git a/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a.m3u8.new b/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to King Lear, op. 58a/Shostakovich Suite from the Incidental Music to King Lear, op. 58a.m3u8.new
similarity index 100%
rename from Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a/Shostakovich Suite from the Incidental Music to _King Lear_, op. 58a.m3u8.new
rename to Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Suite from the Incidental Music to King Lear, op. 58a/Shostakovich Suite from the Incidental Music to King Lear, op. 58a.m3u8.new
diff --git a/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1].gen.m3u8 b/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1].gen.m3u8
deleted file mode 100644
index 2dd3d05..0000000
--- a/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1].gen.m3u8 
+++ /dev/null
@@ -1,5 +0,0 @@
-#EXTM3U
-
-#EXTINF:380.933265, Dmitri Shostakovich - 1-15 _Festive Overture_, op. 96
-1-15 _Festive Overture_, op. 96.flac
-
diff --git a/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1].m3u8.new b/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1].m3u8.new
deleted file mode 100644
index 75138aa..0000000
--- a/Classical/Western/Shostakovich/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1]/Shostakovich Symphony No. 6 & 7; Incidental Music to King Lear, Boston Symphony Orchestra (2019) [16-44.1].m3u8.new 
+++ /dev/null
@@ -1,5 +0,0 @@
-#EXTM3U
-
-#EXTINF:380.933265, Dmitri Shostakovich - 1-15 _Festive Overture_, op. 96
-#1-15 _Festive Overture_, op. 96.flac
-

image

image

love-linger commented 1 month ago

I installed Fedora 40 in a virtual machine (VirtualBox) and cannot reproduce this issue

image

nevse commented 2 weeks ago

I have a similar issue on macOS. It seems to depend on something specific in the environment, but I can't figure out what it might be.

image
love-linger commented 2 weeks ago

@nevse Cound you start the app from commandline by open -a SourceGit to see if the issue still exists?

love-linger commented 2 weeks ago

or could you test the diff command to make sure the command used by SourceGit is supported on your system.

git diff --ignore-cr-at-eol --unified=4 COMMIT_HASH^ COMMIT_HASH -- "FILE_PATH"

[!NOTE] Remember replace the COMMIT_HASH & FILE_PATH with yours

love-linger commented 2 weeks ago

In addition, I pushed a commit to force the --patch parameter in the git diff command. I'm not sure if it is the reason that causes this issue since I can't reproduce it, but from the git manual, the issue seems to be somewhat related to this parameter.

You can download the CI build from https://github.com/sourcegit-scm/sourcegit/actions/runs/11383888642

nevse commented 2 weeks ago

I've tried the version from CI and recieved such error message:

fatal: external diff died, stopping at src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in

If I start your app via command line open -a SourceGit it doesn't show this error.

And diff command seems work well image

love-linger commented 2 weeks ago

i think i know the problem. you are using an external diff tool...

nevse commented 2 weeks ago
image
nevse commented 2 weeks ago

Yes, I had forgotten that my .gitconfig had an external diff configured. I removed it, and everything is okay now.

lamyergeier commented 1 week ago

@love-linger Is it possible by sourcegit to ignore the "external diff tool setting" defined in the gitconfig?

love-linger commented 1 week ago

@love-linger Is it possible by sourcegit to ignore the "external diff tool setting" defined in the gitconfig?

I'm trying to make it possible...