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); }
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))); } } }
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); } } }
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); }
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); } }