protected override MutableObject Mutate(MutableObject mutable) { var groupId = GroupId.GetFirstValue(mutable); if (groupId == "") { DataShare.Remove(groupId); } foreach (var entry in DiffValue.GetEntries(mutable)) { if (DataShare.ContainsKey(groupId)) { DiffTarget.SetValue( DiffValue.GetValue(entry) - DataShare[groupId], entry); DataShare[groupId] = DiffValue.GetValue(entry); } else { DiffTarget.SetValue(0f, entry); DataShare[groupId] = DiffValue.GetValue(entry); } } return(mutable); }
/// <summary> /// Show changes between a <see cref = "Tree"/> and a selectable target. /// </summary> /// <param name = "oldTree">The <see cref = "Tree"/> to compare from.</param> /// <param name = "diffTarget">The target to compare to.</param> /// <returns>A <see cref = "TreeChanges"/> containing the changes between the <see cref="Tree"/> and the selected target.</returns> public TreeChanges Compare(Tree oldTree, DiffTarget diffTarget) { var comparer = handleRetrieverDispatcher[diffTarget](repo); using (DiffListSafeHandle dl = BuildDiffListFromTreeAndComparer(repo, oldTree.Id, comparer)) { return(new TreeChanges(dl)); } }
/// <summary> /// Show changes between a <see cref = "Tree"/> and a selectable target. /// </summary> /// <param name = "oldTree">The <see cref = "Tree"/> to compare from.</param> /// <param name = "diffTarget">The target to compare to.</param> /// <returns>A <see cref = "TreeChanges"/> containing the changes between the <see cref="Tree"/> and the selected target.</returns> public TreeChanges Compare(Tree oldTree, DiffTarget diffTarget) { var comparer = handleRetrieverDispatcher[diffTarget](repo); using (DiffListSafeHandle dl = BuildDiffListFromTreeAndComparer(repo, oldTree.Id, comparer)) { return new TreeChanges(dl); } }
public virtual TreeChanges Compare(Tree oldTree, DiffTarget diffTarget, IEnumerable <string> paths = null) { DiffTargets targets; switch (diffTarget) { case DiffTarget.Index: targets = DiffTargets.Index; break; case DiffTarget.WorkingDirectory: targets = DiffTargets.WorkingDirectory; break; default: targets = DiffTargets.Index | DiffTargets.WorkingDirectory; break; } return(Compare(oldTree, targets, paths)); }
public virtual TreeChanges Compare(Tree oldTree, DiffTarget diffTarget, IEnumerable<string> paths = null) { DiffTargets targets; switch (diffTarget) { case DiffTarget.Index: targets = DiffTargets.Index; break; case DiffTarget.WorkingDirectory: targets = DiffTargets.WorkingDirectory; break; default: targets = DiffTargets.Index | DiffTargets.WorkingDirectory; break; } return Compare(oldTree, targets, paths); }