void ICustomDataItem.Deserialize(ITypeSerializer handler, DataCollection data) { DataItem items = (DataItem)data.Extract("Items"); handler.Deserialize(this, data); IProgressMonitor monitor = handler.SerializationContext.ProgressMonitor; if (monitor == null) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } if (items != null) { string baseDir = Path.GetDirectoryName(handler.SerializationContext.BaseFile); monitor.BeginTask(null, items.ItemData.Count); try { foreach (DataValue item in items.ItemData) { string file = Path.Combine(baseDir, item.Value); WorkspaceItem it = Services.ProjectService.ReadWorkspaceItem(monitor, file); if (it != null) { Items.Add(it); } monitor.Step(1); } } finally { monitor.EndTask(); } } }
public override void Update(string localPath, bool recurse, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(Path.GetFullPath(localPath)); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = RunMercurialRepoCommand(localPath, "commands.update(repo.ui,repo)"); monitor.Log.WriteLine(output); }
} // CanRebase public override void Rebase(string mergeLocation, string localPath, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(Path.GetFullPath(localPath)); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = RunMercurialRepoCommand(localPath, "commands.pull(repo.ui,repo,'{0}',update=True,rebase=True)", mergeLocation); monitor.Log.WriteLine(output); monitor.Log.WriteLine("Rebased {0} onto {1}", localPath, mergeLocation); } // Rebase
public override void Push(string pushLocation, string localPath, bool remember, bool overwrite, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(localPath); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = RunMercurialRepoCommand(localPath, "commands.push(repo.ui,repo,dest='{0}',force={1})", pushLocation, overwrite? "True": "False"); monitor.Log.WriteLine(output); monitor.Log.WriteLine("Pushed to {0}", pushLocation); }
public override void Pull(string pullLocation, string localPath, bool remember, bool overwrite, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(localPath); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = RunMercurialRepoCommand(localPath, "commands.pull(repo.ui,repo,'{0}',update=True)", pullLocation); monitor.Log.WriteLine(output); monitor.Log.WriteLine("Pulled to {0}", localPath); }
public override void Branch(string branchLocation, string localPath, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(localPath); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = RunMercurialCommand("commands.clone(myui,'{0}','{1}')", branchLocation, localPath); monitor.Log.WriteLine(output); monitor.Log.WriteLine("Cloned to {0}", localPath); }
} // GetAnnotations public override void Export(string localPath, string exportPath, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(Path.GetFullPath(localPath)); exportPath = NormalizePath(exportPath); if (!IsValidExportPath(exportPath)) { throw new MercurialClientException(string.Format("Invalid export path: {0}", exportPath)); } if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = RunMercurialRepoCommand(localPath, "commands.archive(repo.ui,repo,'{0}',prefix='')", exportPath); monitor.Log.WriteLine(output); monitor.Log.WriteLine("Exported to {0}", exportPath); } // Export
public override void Push(string pushLocation, string localPath, bool remember, bool overwrite, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(Path.GetFullPath(localPath)); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = string.Empty; StringBuilder command = new StringBuilder(); command.AppendFormat("mycmd = builtins.cmd_push()\n"); command.AppendFormat("mycmd.outf = StringIO.StringIO()\n"); command.AppendFormat("try:\n"); command.AppendFormat(string.Format(" mycmd.run(location=ur'{0}',remember={2},overwrite={3},directory=ur'{1}',strict=False)\n", pushLocation, localPath, remember ? "True" : "False", overwrite ? "True" : "False")); command.AppendFormat(" output = mycmd.outf.getvalue()\n"); command.AppendFormat("finally:\n"); command.AppendFormat(" mycmd.outf.close()\n"); lock (lockme) { output = StringFromPython(run(new List<string>{ "output" }, command.ToString())[0]); } monitor.Log.WriteLine(output); monitor.Log.WriteLine("Pushed to {0}", pushLocation); }
// List public override void Merge(string mergeLocation, string localPath, bool remember, bool overwrite, BazaarRevision start, BazaarRevision end, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(Path.GetFullPath(localPath)); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string revisionSpec = string.Empty; string output = string.Empty; if (null != start && BazaarRevision.FIRST != start.Rev && BazaarRevision.NONE != start.Rev) { string endrev = "-1"; if (null != end && BazaarRevision.HEAD != end.Rev && BazaarRevision.NONE != end.Rev) { endrev = end.Rev; } revisionSpec = string.Format("'{0}..{1}'", start.Rev, endrev); } else if (null != end && BazaarRevision.HEAD != end.Rev && BazaarRevision.NONE != end.Rev) { revisionSpec = string.Format("'1..{0}'", end.Rev); }// build revisionspec string StringBuilder command = new StringBuilder(); command.AppendFormat("mycmd = builtins.cmd_merge()\n"); command.AppendFormat("mycmd.outf = StringIO.StringIO()\n"); command.AppendFormat("try:\n"); command.AppendFormat(string.Format(" mycmd.run(location=ur'{0}',revision={1},force={4},remember={2},directory=ur'{3}')\n", mergeLocation, string.IsNullOrEmpty(revisionSpec) ? "None" : revisionSpec, remember ? "True" : "False", localPath, overwrite ? "True" : "False")); command.AppendFormat(" output = mycmd.outf.getvalue()\n"); command.AppendFormat("finally:\n"); command.AppendFormat(" mycmd.outf.close()\n"); lock (lockme) { output = StringFromPython(run(new List<string>{ "output" }, command.ToString())[0]); } monitor.Log.WriteLine(output); monitor.Log.WriteLine("Merged to {0}", localPath); }
// GetAnnotations public override void Export(string localPath, string exportPath, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(localPath); exportPath = NormalizePath(exportPath); if (!IsValidExportPath(exportPath)) { throw new BazaarClientException(string.Format("Invalid export path: {0}", exportPath)); } if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = string.Empty; StringBuilder command = new StringBuilder(); command.AppendFormat("mycmd = builtins.cmd_export()\n"); command.AppendFormat("mycmd.outf = StringIO.StringIO()\n"); command.AppendFormat("try:\n"); command.AppendFormat(string.Format(" mycmd.run(dest=ur'{0}',branch_or_subdir=ur'{1}')\n", exportPath, localPath)); command.AppendFormat(" output = mycmd.outf.getvalue()\n"); command.AppendFormat("finally:\n"); command.AppendFormat(" mycmd.outf.close()\n"); lock (lockme) { output = StringFromPython(run(new List<string>{ "output" }, command.ToString())[0]); } monitor.Log.WriteLine(output); monitor.Log.WriteLine("Exported to {0}", exportPath); }
public override void Checkout(string url, string targetLocalPath, BazaarRevision rev, bool recurse, MonoDevelop.Core.IProgressMonitor monitor) { if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string pyrev = "None"; string realUrl = url; StringBuilder command = new StringBuilder(); Match match = UrlRegex.Match(url); if (match.Success) { realUrl = UrlRegex.Replace(url, @"${protocol}://${host}$3${path}"); } lock (lockme) { run(null, "b = branch.Branch.open_containing(url=ur\"{0}\")[0]\n", realUrl); } monitor.Log.WriteLine("Opened {0}", url); if (null != rev && BazaarRevision.HEAD != rev.Rev && BazaarRevision.NONE != rev.Rev) { command.AppendFormat("revspec = revisionspec.RevisionSpec.from_string(spec=\"{0}\")\n", rev.Rev); pyrev = "revspec.in_history(branch=b).rev_id"; } command.AppendFormat("b.create_checkout(to_location=ur\"{1}\", revision_id={0})\n", pyrev, NormalizePath(targetLocalPath)); lock (lockme) { run(null, command.ToString()); } monitor.Log.WriteLine("Checkout to {0} completed", targetLocalPath); }
public override void Branch(string branchLocation, string localPath, MonoDevelop.Core.IProgressMonitor monitor) { localPath = NormalizePath(Path.GetFullPath(localPath)); if (null == monitor) { monitor = new MonoDevelop.Core.ProgressMonitoring.NullProgressMonitor(); } string output = string.Empty; StringBuilder command = new StringBuilder(); command.AppendFormat("mycmd = builtins.cmd_branch()\n"); command.AppendFormat("mycmd.outf = StringIO.StringIO()\n"); command.AppendFormat("try:\n"); command.AppendFormat(string.Format(" mycmd.run(from_location=ur'{0}',to_location=ur'{1}')\n", branchLocation, localPath)); command.AppendFormat(" output = mycmd.outf.getvalue()\n"); command.AppendFormat("finally:\n"); command.AppendFormat(" mycmd.outf.close()\n"); lock (lockme) { output = StringFromPython(run(new List<string>{ "output" }, command.ToString())[0]); } monitor.Log.WriteLine(output); monitor.Log.WriteLine("Branched to {0}", localPath); }