diff --git a/SparkleLib/Git/SparkleRepoGit.cs b/SparkleLib/Git/SparkleRepoGit.cs index b1327f74..32d77452 100644 --- a/SparkleLib/Git/SparkleRepoGit.cs +++ b/SparkleLib/Git/SparkleRepoGit.cs @@ -444,7 +444,6 @@ namespace SparkleLib { change_set.UserName = match.Groups [2].Value; change_set.UserEmail = match.Groups [3].Value; change_set.IsMerge = is_merge_commit; - change_set.SupportsNotes = true; change_set.Timestamp = new DateTime (int.Parse (match.Groups [4].Value), int.Parse (match.Groups [5].Value), int.Parse (match.Groups [6].Value), @@ -467,7 +466,7 @@ namespace SparkleLib { string file_path = entry_line.Substring (39); string to_file_path; - if (change_type.Equals ("A")) { + if (change_type.Equals ("A") && !file_path.Contains (".notes")) { change_set.Added.Add (file_path); } else if (change_type.Equals ("M")) { @@ -487,8 +486,12 @@ namespace SparkleLib { } } - change_set.Notes.AddRange (GetNotes (change_set.Revision)); - change_sets.Add (change_set); + if ((change_set.Added.Count + change_set.Edited.Count + + change_set.Deleted.Count) > 0) { + + change_set.Notes.AddRange (GetNotes (change_set.Revision)); + change_sets.Add (change_set); + } } } diff --git a/SparkleLib/SparkleChangeSet.cs b/SparkleLib/SparkleChangeSet.cs index 069bc791..5adfa4dd 100644 --- a/SparkleLib/SparkleChangeSet.cs +++ b/SparkleLib/SparkleChangeSet.cs @@ -28,7 +28,6 @@ namespace SparkleLib { public string Folder; public string Revision; public DateTime Timestamp; - public bool SupportsNotes = false; public bool IsMerge = false; public List Added = new List (); diff --git a/SparkleLib/SparkleRepoBase.cs b/SparkleLib/SparkleRepoBase.cs index 4584badf..e313faa2 100644 --- a/SparkleLib/SparkleRepoBase.cs +++ b/SparkleLib/SparkleRepoBase.cs @@ -308,7 +308,8 @@ namespace SparkleLib { if (!this.watcher.EnableRaisingEvents) return; - if (args.FullPath.Contains (Path.DirectorySeparatorChar + ".")) + if (args.FullPath.Contains (Path.DirectorySeparatorChar + ".") && + !args.FullPath.Contains (Path.DirectorySeparatorChar + ".notes")) return; WatcherChangeTypes wct = args.ChangeType; @@ -348,9 +349,9 @@ namespace SparkleLib { "([0-9]+).*" + "(.+)", RegexOptions.Compiled); - foreach (string file_name in Directory.GetFiles (notes_path)) { - if (file_name.StartsWith (revision)) { - string note_xml = String.Join ("", File.ReadAllLines (file_name)); + foreach (string file_path in Directory.GetFiles (notes_path)) { + if (Path.GetFileName (file_path).StartsWith (revision)) { + string note_xml = String.Join ("", File.ReadAllLines (file_path)); Match match_notes = regex_notes.Match (note_xml); @@ -513,6 +514,13 @@ namespace SparkleLib { writer.Write (note); writer.Close (); + + // The watcher doesn't like .*/ so we need to trigger + // a change manually + FileSystemEventArgs args = new FileSystemEventArgs (WatcherChangeTypes.Changed, + notes_path, note_name); + + OnFileActivity (args); SparkleHelpers.DebugInfo ("Note", "Added note to " + revision); } diff --git a/SparkleShare/SparkleController.cs b/SparkleShare/SparkleController.cs index 978fe1f6..931a8ea0 100644 --- a/SparkleShare/SparkleController.cs +++ b/SparkleShare/SparkleController.cs @@ -325,7 +325,7 @@ namespace SparkleShare { foreach (SparkleChangeSet change_set in activity_day) { string event_entry = "
"; - + if (change_set.IsMerge) { event_entry += "
Did something magical
"; @@ -391,25 +391,23 @@ namespace SparkleShare { } string comments = ""; - if (change_set.SupportsNotes) { - comments = "
"; + comments = "
"; - if (change_set.Notes != null) { - change_set.Notes.Sort ((x, y) => (x.Timestamp.CompareTo (y.Timestamp))); - - foreach (SparkleNote note in change_set.Notes) { - comments += "
" + - "

" + - note.UserName + "

" + - note.Body + - "
"; - } + if (change_set.Notes != null) { + change_set.Notes.Sort ((x, y) => (x.Timestamp.CompareTo (y.Timestamp))); + + foreach (SparkleNote note in change_set.Notes) { + comments += "
" + + "

" + + note.UserName + "

" + + note.Body + + "
"; } - - comments += "
"; } + comments += "
"; + string avatar_email = ""; if (File.Exists (GetAvatar (change_set.UserEmail, 48))) avatar_email = change_set.UserEmail; @@ -458,7 +456,8 @@ namespace SparkleShare { } string html = event_log_html.Replace ("", event_log) - .Replace ("", UserName); + .Replace ("", UserName) + .Replace ("", "file://" + GetAvatar (UserEmail, 48)); return html; } diff --git a/data/html/event-entry.html b/data/html/event-entry.html index dd7123ce..b9d4bdaf 100644 --- a/data/html/event-entry.html +++ b/data/html/event-entry.html @@ -12,17 +12,11 @@
-
- -
- - -
-
-
-
-
+ + + +
diff --git a/data/html/event-log.html b/data/html/event-log.html index deed8be5..680ccdff 100644 --- a/data/html/event-log.html +++ b/data/html/event-log.html @@ -5,11 +5,9 @@