示例#1
0
        // Given a changeset, fetch all of the associated files
        public bool GetChangeset(string localpath, Changeset change)
        {
            long               ResultValue;
            bool               Cancelled;
            string             ResultDescription;
            SAWSDiffMergeParam DiffMergeParam = new SAWSDiffMergeParam();

            Console.WriteLine("Fetching changeset {0} ({1}) by {2}: {3}", change.Id, change.CommitDate, change.Author, change.Comment);

            foreach (SourceFile file in change.Files.ToList())
            {
                ResultValue = sawObject.GetOldVersionFile(file.SourceName, file.VersionLow, file.VersionHigh, localpath + file.SourceName.Trim('$').Replace('/', '\\'),
                                                          false, Enum_ModifiedFileHandling.Enum_ReplaceModifiedFile, Enum_EOL.Enum_EOLNative, Enum_CompareFileBy.Enum_CompareFileByChecksum,
                                                          Enum_SetLocalFileTime.Enum_SetLocalFileTimeCheckIn, DiffMergeParam, out Cancelled, out ResultDescription);
                //Console.WriteLine("{0}: Fetched {1} --> {2}", ResultValue, file.SourceName, localpath + file.SourceName.Trim('$').Replace('/', '\\'));
                if (ResultValue != 0)
                {
                    // If there was an error fetching the file, remove it from the list so we don't try to add it to git
                    Console.WriteLine("ERROR: {0}\t {1}", ResultValue, ResultDescription);
                    change.Files.Remove(file);
                }
            }

            return(true);
        }
示例#2
0
        public bool GetFile(int version, string strLocalPath, string strRemotePath)
        {
            if (!(this.bConnected && this.bLogin))
            {
                return(false);
            }
            Boolean Cancelled;
            string  ResultDescription;
            string  FileNameOnServer = SAWCommon.ConvertPath(strRemotePath);
            int     VersionNumberLow = version;
            string  LocalFileName    = strLocalPath;
            var     MergeParam       = new SAWSDiffMergeParam();

            if (0 != sdkObject.GetOldVersionFile(FileNameOnServer, VersionNumberLow, 0, LocalFileName, false,
                                                 Enum_ModifiedFileHandling.Enum_ReplaceModifiedFile, Enum_EOL.Enum_EOLNative,
                                                 Enum_CompareFileBy.Enum_CompareFileByChecksum, Enum_SetLocalFileTime.Enum_SetLocalFileTimeCurrent,
                                                 MergeParam, out Cancelled, out ResultDescription))
            {
                return(false);
            }
            else
            {
                return(!Cancelled);
            }
        }
示例#3
0
        public bool CheckOutProject(string strLocalPath, string strRemotePath, string Comment)
        {
            if (!(this.bConnected && this.bLogin))
            {
                return(false);
            }

            Boolean Cancelled;
            String  ResultDescription;
            String  ProjectToCheckout  = SAWCommon.ConvertPath(strRemotePath);
            String  LocalDirectory     = strLocalPath;
            var     OperationResultSet = new SAWSOperationResultSet();
            var     MergeParam         = new SAWSDiffMergeParam();

            if (0 != sdkObject.CheckoutProject(ProjectToCheckout, LocalDirectory, Comment, false, false, false,
                                               Enum_ModifiedFileHandling.Enum_AskModifiedFile, Enum_EOL.Enum_EOLNative, Enum_CompareFileBy.Enum_CompareFileByChecksum,
                                               Enum_SetLocalFileTime.Enum_SetLocalFileTimeCurrent, MergeParam, out Cancelled, out ResultDescription, out OperationResultSet))
            {
                return(false);
            }
            else
            {
                return(!Cancelled);
            }
        }
示例#4
0
        public bool CheckOutFiles(string strLocalPath, string strRemotePath)
        {
            if (!(this.bConnected && this.bLogin))
            {
                return(false);
            }

            bool   Cancelled;
            string ResultDescription;
            var    CheckoutFileSet    = new SAWSCheckoutFileSet();
            var    CheckoutFile       = new SAWSCheckoutFile();
            var    OperationResultSet = new SAWSOperationResultSet();
            var    MergeParam         = new SAWSDiffMergeParam();

            CheckoutFile.FileToCheckout = SAWCommon.ConvertPath(strRemotePath);
            CheckoutFile.LocalFileName  = strLocalPath;
            CheckoutFileSet.Add(CheckoutFile);

            if (0 != sdkObject.CheckoutFiles(CheckoutFileSet, true, "lock", true, Enum_ModifiedFileHandling.Enum_ReplaceModifiedFile, Enum_EOL.Enum_EOLNative,
                                             Enum_CompareFileBy.Enum_CompareFileByChecksum, Enum_SetLocalFileTime.Enum_SetLocalFileTimeCurrent, MergeParam, out Cancelled, out ResultDescription, out OperationResultSet))
            {
                return(false);
            }
            else
            {
                return(!Cancelled);
            }
        }
示例#5
0
        public bool CheckInProject(string strLocalPath, string strRemotePath, string Comment)
        {
            if (!(this.bConnected && this.bLogin))
            {
                return(false);
            }

            Boolean Cancelled;
            String  ResultDescription;
            String  ProjectToCheckin   = SAWCommon.ConvertPath(strRemotePath);
            String  LocalDirectory     = strLocalPath;
            var     OperationResultSet = new SAWSOperationResultSet();
            var     MergeParam         = new SAWSDiffMergeParam();

            if (0 != sdkObject.CheckInProject(ProjectToCheckin, LocalDirectory, false, false, false, false,
                                              Enum_CompareFileBy.Enum_CompareFileByChecksum, Enum_EOL.Enum_EOLNative, false, Enum_SetLocalFileTime.Enum_SetLocalFileTimeCurrent,
                                              Enum_CheckinUnchangedFileHandling.Enum_AskCheckinUnchangedFile, Comment, MergeParam, out Cancelled, out ResultDescription, out OperationResultSet))
            {
                return(false);
            }
            else
            {
                bool bSucceed = true;
                foreach (SAWSOperationResult result in OperationResultSet)
                {
                    if (result.OperationResult != 0)
                    {
                        bSucceed = false;
                        break;
                    }
                }

                return(bSucceed && !Cancelled);
            }
        }
示例#6
0
        public bool CheckInFiles(string strLocalPath, string strRemotePath, string Comment)
        {
            bool   Cancelled;
            string ResultDescription;
            var    CheckinFileSet     = new SAWSCheckinFileSet();
            var    CheckinFile        = new SAWSCheckinFile();
            var    OperationResultSet = new SAWSOperationResultSet();
            var    MergeParam         = new SAWSDiffMergeParam();

            CheckinFile.FileToCheckin = SAWCommon.ConvertPath(strRemotePath);
            CheckinFile.LocalFileName = strLocalPath;
            CheckinFileSet.Add(CheckinFile);

            if (0 != sdkObject.CheckInFiles(CheckinFileSet, false, false, Enum_CompareFileBy.Enum_CompareFileByChecksum,
                                            Enum_EOL.Enum_EOLNative, false, true, Enum_SetLocalFileTime.Enum_SetLocalFileTimeCurrent, Enum_CheckinUnchangedFileHandling.Enum_CheckinUnchangedFile,
                                            Comment, MergeParam, out Cancelled, out ResultDescription, out OperationResultSet))
            {
                return(false);
            }
            else
            {
                return(!Cancelled);
            }
        }