diff --git a/SparkleShare/Mac/UserInterface/EventLog.cs b/SparkleShare/Mac/UserInterface/EventLog.cs index 52aa690d..299dea1e 100644 --- a/SparkleShare/Mac/UserInterface/EventLog.cs +++ b/SparkleShare/Mac/UserInterface/EventLog.cs @@ -340,10 +340,10 @@ namespace SparkleShare { html = html.Replace ("", "#009ff8"); html = html.Replace ("", "#009ff8"); html = html.Replace ("", pixmaps_path); - html = html.Replace ("", pixmaps_path + "/document-added-12.png"); - html = html.Replace ("", pixmaps_path + "/document-deleted-12.png"); - html = html.Replace ("", pixmaps_path + "/document-edited-12.png"); - html = html.Replace ("", pixmaps_path + "/document-moved-12.png"); + html = html.Replace ("", pixmaps_path + "/document-added.png"); + html = html.Replace ("", pixmaps_path + "/document-deleted.png"); + html = html.Replace ("", pixmaps_path + "/document-edited.png"); + html = html.Replace ("", pixmaps_path + "/document-moved.png"); this.web_view = new WebView (new CGRect (0, 0, 481, 579), "", "") { Frame = new CGRect (new CGPoint (0, 0), new CGSize (ContentView.Frame.Width, ContentView.Frame.Height - 39)) diff --git a/SparkleShare/Mac/git.download b/SparkleShare/Mac/git.download index 6eb08bca..6d45ac8e 100644 --- a/SparkleShare/Mac/git.download +++ b/SparkleShare/Mac/git.download @@ -1 +1 @@ -https://github.com/desktop/dugite-native/releases/download/v2.15.1-rc2/dugite-native-v2.15.1-macOS-56.tar.gz 565765a6ffdbad10da6ec849dd86682fa7ad63254b9e07d951e6cf98bb24cac9 +https://github.com/desktop/dugite-native/releases/download/v2.16.2/dugite-native-v2.16.2-macOS-119.tar.gz 65d608eb16e0e262bae6bd7828b28cf640455e949003fec94c1233e084b9ccde diff --git a/Sparkles/Git/GitRepository.cs b/Sparkles/Git/GitRepository.cs index d0ef7d89..6e81f2a7 100644 --- a/Sparkles/Git/GitRepository.cs +++ b/Sparkles/Git/GitRepository.cs @@ -779,12 +779,26 @@ namespace Sparkles.Git { if (!entry_line.StartsWith (":") || entry_line.Contains ("\\177")) continue; - string file_path = entry_line.Substring (39); + int file_path_pos = 33; + int type_letter_pos = 31; + + // A recent version of Git changed the way raw commit file lines are displayed, so + // we need to slightly offset the character positions for older versions of Git + // Lines in older versions contained "...". For example: + // + // OLD: :000000 100644 0000000... 920a069... A .sparkleshare + // NEW: :000000 100644 0000000 920a069 A .sparkleshare + if (entry.IndexOf ("...") == 22) { + file_path_pos += 6; + type_letter_pos += 6; + } + + string file_path = entry_line.Substring (file_path_pos); if (file_path.Equals (".sparkleshare")) continue; - string type_letter = entry_line [37].ToString (); + string type_letter = entry_line [type_letter_pos].ToString (); bool change_is_folder = false; if (file_path.EndsWith (".empty")) { @@ -810,8 +824,11 @@ namespace Sparkles.Git { }; if (type_letter.Equals ("R")) { - int tab_pos = entry_line.LastIndexOf ("\t"); - file_path = entry_line.Substring (42, tab_pos - 42); + // The type code is actually "R100", so offset a little bit + file_path_pos += 3; + + int tab_pos = entry_line.LastIndexOf ("\t"); + file_path = entry_line.Substring (file_path_pos, tab_pos - file_path_pos); string to_file_path = entry_line.Substring (tab_pos + 1); try {