From 8f6083a671cdf6fd4d53b3d2e06640a7847649f0 Mon Sep 17 00:00:00 2001 From: wimh Date: Fri, 26 Aug 2011 22:00:33 +0200 Subject: [PATCH] fix crash if file was renamed remote see #8 (https://github.com/wimh/SparkleShare/issues/8) --- SparkleLib/Git/SparkleRepoGit.cs | 3 ++- SparkleLib/SparkleRepoBase.cs | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/SparkleLib/Git/SparkleRepoGit.cs b/SparkleLib/Git/SparkleRepoGit.cs index 650e1753..57243311 100644 --- a/SparkleLib/Git/SparkleRepoGit.cs +++ b/SparkleLib/Git/SparkleRepoGit.cs @@ -494,7 +494,8 @@ namespace SparkleLib { if ((change_set.Added.Count + change_set.Edited.Count + - change_set.Deleted.Count) > 0) { + change_set.Deleted.Count + + change_set.MovedFrom.Count) > 0) { change_set.Notes.AddRange (GetNotes (change_set.Revision)); change_sets.Add (change_set); diff --git a/SparkleLib/SparkleRepoBase.cs b/SparkleLib/SparkleRepoBase.cs index b782741a..f781d57c 100644 --- a/SparkleLib/SparkleRepoBase.cs +++ b/SparkleLib/SparkleRepoBase.cs @@ -442,8 +442,13 @@ namespace SparkleLib { if (SyncStatusChanged != null) SyncStatusChanged (SyncStatus.Idle); - if (NewChangeSet != null) - NewChangeSet (GetChangeSets (1) [0], LocalPath); + List change_sets = GetChangeSets (1); + if (change_sets != null && change_sets.Count > 0) { + SparkleChangeSet change_set = change_sets [0]; + + if (NewChangeSet != null) + NewChangeSet (change_set, LocalPath); + } // There could be changes from a // resolved conflict. Tries only once,