public IEnumerable QueryHistory(string localPath, VersionSpec version, RecursionType recursion, WorkspaceVersionSpec toVersion) { Type[] parameterTypes = new[] { typeof(string), version.Type, typeof(int), recursion.Type, typeof(string), toVersion.Type, toVersion.Type, typeof(int), typeof(bool), typeof(bool) }; MethodInfo queryHistoryMethod = _type.GetMethod("QueryHistory", parameterTypes); IEnumerable history = (IEnumerable)queryHistoryMethod.Invoke( _instance, new[] { localPath, version.Instance, 0, recursion.Instance, null, null, toVersion.Instance, int.MaxValue, false, false } ); return history; }
private static int GetChangeset(VersionControlServer versionControlServer, string workingDirectory) { int changesetId = 0; WorkspaceVersionSpec workspaceVersionSpec = new WorkspaceVersionSpec( _versionAssembly, versionControlServer.GetWorkspace(workingDirectory) ); IEnumerable history = versionControlServer.QueryHistory( workingDirectory, new VersionSpec(_versionAssembly).Latest, new RecursionType(_versionAssembly).Full, workspaceVersionSpec ); IEnumerator historyEnumerator = history.GetEnumerator(); Changeset changeset = new Changeset(_versionAssembly); if (historyEnumerator.MoveNext()) changeset = new Changeset(_versionAssembly, historyEnumerator.Current); if (changeset.Instance != null) changesetId = changeset.ChangesetId; return changesetId; }