コード例 #1
0
        private void Bgw_DoPush(object sender, DoWorkEventArgs e)
        {
            Destination = metroFromTextBox.Text;
            Parameters parameters;

            parameters = new Parameters()
            {
                Cleanup           = true,
                Command           = Command.CompleteSync,
                DeleteUnversioned = true,
                Message           = "Adding new directory for my project",
                Mkdir             = true,
                Password          = metroPasswordTextBox.Text != "" ? metroPasswordTextBox.Text : null,
                Path                     = Destination,
                Revert                   = false,
                TrustServerCert          = true,
                UpdateBeforeCompleteSync = false,
                Url      = metroLabelRepoUrl.Text,
                Username = metroUserNameTextBox.Text == "" ? null : metroUserNameTextBox.Text,
                Verbose  = true,
            };
            try
            {
                SvnUtils.CompleteSync(parameters);
            }
            catch (Exception ex) {
                MessageBox.Show("SVNerro\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            //Temp temp = new Temp();
            //string d = temp.GetTemporaryDirectory();
            //parameters = new Parameters()
            //{
            //    Cleanup = true,
            //    Command = Command.CompleteSync,
            //    DeleteUnversioned = true,
            //    Message = "Adding new directory for my project",
            //    Mkdir = true,
            //    Password = metroPasswordTextBox.Text != "" ? metroPasswordTextBox.Text : null,
            //    Path = Destination,
            //    Revert = true,
            //    TrustServerCert = true,
            //    UpdateBeforeCompleteSync = true,
            //    Url = metroLabelRepoUrl.Text,
            //    Username = metroUserNameTextBox.Text == "" ? null : metroUserNameTextBox.Text,
            //    Verbose = true,

            //};
            //SvnUtils.CompleteSync(parameters);
            //CloneDirectory(Path.Combine(d, ".svn"), Path.Combine(Destination, ".svn"));

            ////Temp.CloneDirectory(d + "/.svn", Destination + "/.svn");

            //parameters.Path = Destination;
            //parameters.Command = Command.CompleteSync;
            //SvnUtils.CompleteSync(parameters);
            //DeleteDirectory(d);
        }
コード例 #2
0
        public void Run()
        {
            var svnParams = new Dictionary <string, string> {
                { SvnUtilsBase.SvnUserOptionName, Parameter.SvnLogin },
                { SvnUtilsBase.SvnPasswordOptionName, Parameter.SvnPassword }
            };

            using (var svnClient = new SvnUtils(svnParams, Logger)) {
                if (svnClient.GetList(SvnTarget.FromString(Parameter.UrlPath), out var repositoryPackages))
                {
                    ChangePackages(svnClient, repositoryPackages.Where(args => !string.IsNullOrWhiteSpace(args.Path)));
                }
            }
        }
コード例 #3
0
 protected virtual void ChangePackages(SvnClient svnClient, IEnumerable <SvnListEventArgs> repositoryPackages)
 {
     foreach (var repositoryPackage in repositoryPackages.Where(args => !string.IsNullOrWhiteSpace(args.Path)))
     {
         var packagePath = Path.Combine(Parameter.PkgPath, repositoryPackage.Name);
         var packageUrl  = repositoryPackage.Uri.ToString();
         if (Directory.Exists(packagePath) &&
             !string.IsNullOrWhiteSpace(SvnUtils.GetRepositoryPathWithFolder(packagePath)))
         {
             SwitchPackage(svnClient, packageUrl, packagePath);
         }
         else
         {
             CheckOutPackage(svnClient, packageUrl, packagePath);
         }
     }
 }
コード例 #4
0
        private static int StartOperation(string operation)
        {
            switch (operation)
            {
            case Constant.CreateFeatureCommandName:
                using (var svnUtils = new SvnUtils(ProgramOptions, Logger)) {
                    return(Convert.ToInt32(svnUtils.CreateFeature()));
                }

            case Constant.UpdateFeatureCommandName:
                using (var svnUtils = new SvnUtils(ProgramOptions, Logger)) {
                    if (svnUtils.UpdateFromReleaseBranch() && svnUtils.CommitIfNoError)
                    {
                        return(Convert.ToInt32(svnUtils.CommitChanges(true)));
                    }
                }
                break;

            case Constant.FinishFeatureCommandName:
                using (var svnUtils = new SvnUtils(ProgramOptions, Logger)) {
                    svnUtils.ReintegrationMergeToBaseBranch();
                }
                break;

            case Constant.CloseFeatureCommandName:
                using (var svnUtils = new SvnUtils(ProgramOptions, Logger)) {
                    svnUtils.DeleteClosedFeature();
                }
                break;

            case Constant.FixFeatureCommandName:
                using (var svnUtils = new SvnUtils(ProgramOptions, Logger)) {
                    return(Convert.ToInt32(svnUtils.FixBranch()));
                }

            default:
                Usage();
                break;
            }

            return(0);
        }
コード例 #5
0
        private void Bgw_DoClone(object sender, DoWorkEventArgs e)
        {
            Destination = Path.Combine(metroDestinationTextBox.Text);
            Temp       temp       = new();
            string     d          = temp.GetTemporaryDirectory();
            Parameters parameters = new()
            {
                Cleanup           = true,
                Command           = Command.CheckoutUpdate,
                DeleteUnversioned = true,
                Message           = "Adding new directory for my project",
                Mkdir             = true,
                Password          = metroPasswordTextBox.Text != "" ? metroPasswordTextBox.Text : null,
                Path                     = d,
                Revert                   = true,
                TrustServerCert          = true,
                UpdateBeforeCompleteSync = true,
                Url      = metroLabelRepoUrl.Text,
                Username = metroUserNameTextBox.Text == "" ? null : metroUserNameTextBox.Text,
                Verbose  = true,
            };

            try
            {
                SvnUtils.CheckoutUpdate(parameters);
                CloneDirectory(Path.Combine(d, ".svn"), Path.Combine(Destination, ".svn"));
                File.SetAttributes(Path.Combine(Destination, ".svn"), File.GetAttributes(Path.Combine(Destination, ".svn")) | FileAttributes.Hidden);

                parameters.Path    = Destination;
                parameters.Command = Command.CompleteSync;
                SvnUtils.CompleteSync(parameters);
                DeleteDirectory(d);
            }
            catch (Exception ex) {
                MessageBox.Show("SVNerro\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }