private static int GetIntervalChangeSetCount(DateTime startInterval, DateTime endInterval, string username, VersionControlServer versionControlServer) { DateVersionSpec versionFrom = new DateVersionSpec(startInterval); VersionSpec versionTo = new DateVersionSpec(endInterval); var userHistory = versionControlServer.QueryHistory( "$/", VersionSpec.Latest, 0, RecursionType.Full, username, versionFrom, versionTo, Int32.MaxValue, false, false); var count = userHistory.OfType<Changeset>().Count(); return count; }
static List<int> GetIdsFromHistory(string path, VersionControlServer tfsClient) { if (tfsClient == null) { tfsClient = GetTfsClient(); } IEnumerable submissions = tfsClient.QueryHistory( path, VersionSpec.Latest, 0, RecursionType.None, // Assume that the path is to a file, not a directory null, null, null, Int32.MaxValue, false, false); List<int> ids = new List<int>(); foreach(Changeset cs in submissions) { ids.Add(cs.ChangesetId); } return ids; }
public IEnumerable <IChangeset> GetHistory(EntryPoint entryPoint) { Log.Info("Querying changesets for " + entryPoint); var history = _versionControlServer.QueryHistory( SanePath.Combine(_teamProject.ServerItem, entryPoint.Path), tfs.VersionSpec.Latest, 0, // no deletionId tfs.RecursionType.Full, null, // any user entryPoint.VersionFrom.Spec(), entryPoint.VersionTo.Spec(), int.MaxValue, // number of items to return false, // don't include individual item changes false, // no slotMode false, // don't include download info true // true: sort ascending, first changeset first ); return(history .Cast <tfs.Changeset>() .Select(c => new Changeset(c))); }
public void UpdatePath(VersionControlServer vcs, string path) { if (String.IsNullOrEmpty(path)) return; currentVcs = vcs; store.Clear(); bool detailed = false; IEnumerable changeSets = vcs.QueryHistory(path, VersionSpec.Latest, 0, RecursionType.Full, null, null, null, stopAfter, detailed, false, false); foreach (Changeset changeSet in changeSets) { store.AppendValues(changeSet.ChangesetId, changeSet.Owner, changeSet.CreationDate.ToString("d"), changeSet.Comment); } // this would be nice be seems to cause a segfault //ColumnsAutosize(); }
private static IEnumerable GetMergeHistory(VersionControlServer vcs, MergeSource ms) { var changesetVersionSpec = new ChangesetVersionSpec(ms.VersionFrom); var versionTo = new ChangesetVersionSpec(ms.VersionTo); return vcs.QueryHistory( ms.ServerItem, changesetVersionSpec, 0, RecursionType.Full, null, changesetVersionSpec, versionTo, 2147483647, true, true); }
private static IEnumerable GetChangesetsFromServer(VersionControlServer versionControlServer, string workspaceMappingServerUrl) { return versionControlServer.QueryHistory(workspaceMappingServerUrl, VersionSpec.Latest, DELETION_ID, RecursionType.Full, null, null, VersionSpec.Latest, 1, true, false, true); }
private void FetchChangesets(VersionControlServer server, string path, VersionSpec version) { var changesets = server.QueryHistory(path, version, 0, RecursionType.None, null, null, version, int.MaxValue, true, false, true, false); foreach (Changeset changeset in changesets) { if (changeset.Changes.Length != 1) { throw new InvalidOperationException("Expected exactly 1 change, but got " + changeset.Changes.Length + " for ChangesetId " + changeset.ChangesetId); } this.changesets.Add(changeset); filenames.Add(null); manualResetEvents.Add(null); var change = changeset.Changes[0]; if (change.ChangeType.HasFlag(ChangeType.Branch)) { var item = server.GetBranchHistory(new[] {new ItemSpec(change.Item.ServerItem, RecursionType.None)}, new ChangesetVersionSpec(changeset.ChangesetId))[0][0].GetRequestedItem().Relative.BranchFromItem; if (item != null) { FetchChangesets(server, item.ServerItem, new ChangesetVersionSpec(item.ChangesetId)); } } } }