public List<int> GetChangeSetListBetweenTwoLabels(string LabelScope, string BaseLabel, string TargetLabel) { //tf.exe history /collection:http://server/tfs/defaultcollection "$/project/solution" // /version:LBuild.Solution_20130308.1~LBuild.Soolution_20130328.2 /recursive var vcs = tpc.GetService<VersionControlServer>(); var sourceSpec = new LabelVersionSpec(BaseLabel, LabelScope); var targetSpec = new LabelVersionSpec(TargetLabel, LabelScope); var deltaChangesets = new List<Changeset>(); var rtn = new List<int>(); foreach (Changeset changeSet in vcs.QueryHistory( path: LabelScope, version: targetSpec, deletionId: 0, recursion: RecursionType.Full, user: string.Empty, versionFrom: sourceSpec, versionTo: targetSpec, maxCount: int.MaxValue, includeChanges: true, slotMode: false, includeDownloadInfo: false, sortAscending: true ) ) rtn.Add(changeSet.ChangesetId); return rtn; }
/// <summary> /// Get the label details. /// </summary> protected override void InternalExecute() { var label1 = this.Label1.Get(this.ActivityContext); var label2 = this.Label2.Get(this.ActivityContext); var label1Spec = new LabelVersionSpec(label1.Name, label1.Scope); var label2Spec = new LabelVersionSpec(label2.Name, label2.Scope); var vcs = this.VersionControlServer.Get(this.ActivityContext); var queryHistoryResult = vcs.QueryHistory("$/", VersionSpec.Latest, 0, RecursionType.Full, null, label1Spec, label2Spec, int.MaxValue, false, false).Cast<Changeset>(); this.Changeset.Set(this.ActivityContext, queryHistoryResult); }
/// <summary> /// Get the label details. /// </summary> protected override void InternalExecute() { var label1 = this.Label1.Get(this.ActivityContext); var label2 = this.Label2.Get(this.ActivityContext); var label1Spec = new LabelVersionSpec(label1.Name, label1.Scope); var label2Spec = new LabelVersionSpec(label2.Name, label2.Scope); var vcs = this.VersionControlServer.Get(this.ActivityContext); var queryHistoryResult = vcs.QueryHistory("$/", VersionSpec.Latest, 0, RecursionType.Full, null, label1Spec, label2Spec, int.MaxValue, false, false).Cast <Changeset>(); this.Changeset.Set(this.ActivityContext, queryHistoryResult); }
private int GetMostRecentChangesetId(string path, LabelVersionSpec labelVersionSpec) { int mostRecentChangesetId = 0; foreach (VersionControlLabel label in clientHelper.VersionControl.QueryLabels(labelVersionSpec.Label, path, null, true)) { foreach (Item item in label.Items) { mostRecentChangesetId = Math.Max(item.ChangesetId, mostRecentChangesetId); } } return(mostRecentChangesetId); }
private ChangesetVersionSpec ConvertToChangesetSpec(LabelVersionSpec spec) { VersionControlLabel Label = this.ServerConnection.SourceControl.QueryLabels(spec.Label, spec.Scope, null, true)[0]; int HighestChangesetId = 0; foreach (Item item in Label.Items) { if (HighestChangesetId < item.ChangesetId) { HighestChangesetId = item.ChangesetId; } } return(new ChangesetVersionSpec(HighestChangesetId)); }
public string GetReleaseNotesBetweenTwoLabels(string LabelScope, string BaseLabel, string TargetLabel) { var vcs = tpc.GetService<VersionControlServer>(); var proj = vcs.GetTeamProject(_projectName); var sourceSpec = new LabelVersionSpec(BaseLabel, LabelScope); var targetSpec = new LabelVersionSpec(TargetLabel, LabelScope); var deltaChangesets = new List<Changeset>(); foreach (Changeset changeSet in vcs.QueryHistory( path: LabelScope, version: targetSpec, deletionId: 0, recursion: RecursionType.Full, user: string.Empty, versionFrom: sourceSpec, versionTo: targetSpec, maxCount: int.MaxValue, includeChanges: true, slotMode: false, includeDownloadInfo: false, sortAscending: true ) ) deltaChangesets.Add(changeSet); var html = "";// ReleaseNotesRender.GetHtml(deltaChangesets); //Create output byte[] b; using (var memoryStream = new System.IO.MemoryStream()) { using (var r = new System.IO.StreamWriter(memoryStream, Encoding.UTF8)) { // Various for loops etc as necessary that will ultimately do this: //r.Write(html.style); //r.Write(html.workitems); //r.Write(html.changesets); } b = memoryStream.ToArray(); } return html; }
private int GetMostRecentChangesetId( string path, LabelVersionSpec labelVersionSpec ) { int mostRecentChangesetId = 0; foreach( VersionControlLabel label in clientHelper.VersionControl.QueryLabels( labelVersionSpec.Label, path, null, true ) ) { foreach( Item item in label.Items ) { mostRecentChangesetId = Math.Max( item.ChangesetId, mostRecentChangesetId ); } } return mostRecentChangesetId; }
public void GetFromTFVC(string SourceControlPath, string LocalPath, string Label) { Workspace _ws = this.GetWorkSpace(SourceControlPath, LocalPath); string[] _items = new string[]{SourceControlPath}; LabelVersionSpec _Labelvs = new LabelVersionSpec(Label); _ws.Get(_items, _Labelvs, RecursionType.Full, GetOptions.GetAll); //push elements to local mapping _ws.Delete();//delete the workspace, but the local elements will remain. }
private void GetSource(SourceProject project, IIntegrationResult result) { if (project.CleanCopy) { // If we have said we want a clean copy, then delete old copy before getting. Log.Debug("Deleting " + project.WorkingDirectory); DeleteDirectory(project.WorkingDirectory); } Workspace[] workspaces = this.SourceControl.QueryWorkspaces(Workspace, this.SourceControl.AuthorizedUser, Workstation.Current.Name); Workspace workspace = null; if (workspaces.Length > 0) { // The workspace exists. if (DeleteWorkspace) { // We have asked for a new workspace every time, therefore delete the existing one. Log.Debug("Removing existing workspace " + Workspace); this.SourceControl.DeleteWorkspace(Workspace, this.SourceControl.AuthorizedUser); workspaces = new Workspace[0]; } else { Log.Debug("Existing workspace detected - reusing"); workspace = workspaces[0]; } } if (workspaces.Length == 0) { Log.Debug("Creating new workspace name: " + Workspace); workspace = this.SourceControl.CreateWorkspace(Workspace, this.SourceControl.AuthorizedUser, DEFAULT_WORKSPACE_COMMENT); } try { workspace.Map(project.ProjectPath, project.WorkingDirectory); Log.Debug(String.Format("Getting {0} to {1}", project.ProjectPath, project.WorkingDirectory)); VersionSpec verSpec = LatestVersionSpec.Instance; if (project.ApplyLabel) { verSpec = new LabelVersionSpec(result.Label); } else if (!String.IsNullOrEmpty(project.Label)) { verSpec = new LabelVersionSpec(project.Label); } GetRequest getReq = new GetRequest(new ItemSpec(project.ProjectPath, RecursionType.Full), verSpec); if (project.CleanCopy) { Log.Debug("Forcing a Get Specific with the options \"get all files\" and \"overwrite read/write files\""); workspace.Get(getReq, GetOptions.GetAll | GetOptions.Overwrite); } else { Log.Debug("Performing a Get Latest"); workspace.Get(getReq, GetOptions.None); } } finally { if (workspace != null && DeleteWorkspace) { Log.Debug("Deleting the workspace"); workspace.Delete(); } } }
private ChangesetVersionSpec ConvertToChangesetSpec(LabelVersionSpec spec) { VersionControlLabel Label = this.ServerConnection.SourceControl.QueryLabels(spec.Label, spec.Scope, null, true)[0]; int HighestChangesetId = 0; foreach (Item item in Label.Items) { if (HighestChangesetId < item.ChangesetId) { HighestChangesetId = item.ChangesetId; } } return new ChangesetVersionSpec(HighestChangesetId); }