Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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));
            }
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }