MergeData.cs #1

  • //
  • guest/
  • robert_cowham/
  • perforce/
  • API/
  • P4.Net/
  • main/
  • src/
  • P4API/
  • MergeData.cs
  • View
  • Commits
  • Open Download .zip Download (3 KB)
using System;
using System.Text;
using p4dn;
using System.IO;

namespace P4API
{
    public enum MergeAction
    {
        Quit,           //  CMS_QUIT   user wants to quit
        Skip,           //  CMS_SKIP   skip the integration record
        AcceptMerged,	//  CMS_MERGED accepted merged theirs and yours
        AcceptEdit,     //  CMS_EDIT   accepted edited merge
        AcceptTheirs,   //  CMS_THEIRS accepted theirs
        AcceptYours     //  CMS_YOUR   accepted yours
    }

    public class MergeData
    {
        private P4MergeData _mergeData;

        internal MergeData(P4MergeData mergeData)
        {
            _mergeData = mergeData;
        }

        public FileInfo BaseFile
        {
            get
            {
                return _mergeData.GetBasePath();
            }
        }

        public FileInfo YourFile
        {
            get
            {
                return _mergeData.GetYourPath();
            }
        }

        public MergeAction MergeHint
        {
            get
            {
                switch (_mergeData.GetMergeHint())
                {
                    case P4MergeStatus.CMS_QUIT:
                        return MergeAction.Quit;
                    case P4MergeStatus.CMS_SKIP:
                        return MergeAction.Skip;
                    case P4MergeStatus.CMS_EDIT:
                        return MergeAction.AcceptEdit;
                    case P4MergeStatus.CMS_MERGED:
                        return MergeAction.AcceptMerged;
                    case P4MergeStatus.CMS_YOURS:
                        return MergeAction.AcceptYours;
                    case P4MergeStatus.CMS_THEIRS:
                        return MergeAction.AcceptTheirs;
                }
                return MergeAction.Quit;
            }
        }

        public FileInfo TheirFile
        {
            get
            {
                return _mergeData.GetTheirPath();
            }
        }
        public FileInfo ResultFile
        {
            get
            {
                return _mergeData.GetResultPath();
            }
        }

        public string BaseName
        {
            get
            {
                return _mergeData.GetBaseName();
            }
        }
        public string YourName
        {
            get
            {
                return _mergeData.GetYourName();
            }
        }
        public string TheirName
        {
            get
            {
                return _mergeData.GetTheirName();
            }
        }
        public bool RunMergeTool()
        {
            return _mergeData.RunMergeTool();
        }
    }
}
# Change User Description Committed
#1 6414 Robert Cowham Initial branch
//guest/shawn_hladky/P4.Net/main/src/P4API/MergeData.cs
#1 6353 Shawn Hladky P4.Net:  Implemented diff functionality
Implemented Merge functionality
Converted print commands to the callback interface