소스 제어 트리에서 특정 레벨의 변경 사항 (있는 경우)을 알아야합니다. TFS와 같은 쿼리를 작성할 수있는 방법이 있습니까? 그 충분하지 있다면TFS 소스 제어 트리에서 특정 지점 이하의 모든 변경 사항을 찾는 방법
tf history c:\some\subdir -r -format:detailed -noprompt
회신 : 만약 내가 제대로 이해하고
소스 제어 트리에서 특정 레벨의 변경 사항 (있는 경우)을 알아야합니다. TFS와 같은 쿼리를 작성할 수있는 방법이 있습니까? 그 충분하지 있다면TFS 소스 제어 트리에서 특정 지점 이하의 모든 변경 사항을 찾는 방법
tf history c:\some\subdir -r -format:detailed -noprompt
회신 : 만약 내가 제대로 이해하고
하는 팀 탐색기를 사용하여 :
을 마우스 오른쪽 버튼으로 클릭하고 당신에게 모두를 표시 트리 또는 그 아래에서 해당 수준에서 체크인 된 변경 집합. TF 유틸리티 사용
: link
TFS SDK에 사용 : 여기
tf history c:\localFolder -r -format:detailed
는 사용에 대한 자세한 내용은 TF 기록 문서에 대한 링크입니다 프로그래밍 적으로해라. ly :
다음은 Google 코드 중 일부를 기반으로 한 샘플 방법입니다. 경로, 시작 시간 및 종료 시간을 가져 와서 지정한 두 시간 사이에 해당 경로 아래의 모든 변경 집합 세부 정보를 제공합니다.
private StringBuilder GetTfsModifications(string tfsPath, DateTime startTime, DateTime endTime)
{
StringBuilder bodyContent = new StringBuilder();
TeamFoundationServer tfs = new TeamFoundationServer("YourServerNameHere");
VersionControlServer vcs = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
// Get collection of changesets below the given path
System.Collections.IEnumerable changesets = vcs.QueryHistory(
tfsPath,
VersionSpec.Latest,
0,
RecursionType.Full,
null,
new DateVersionSpec(startTime),
new DateVersionSpec(endTime),
int.MaxValue,
true,
false);
// Iterate through changesets and extract any data you want from them
foreach (Changeset changeset in changesets)
{
StringBuilder changes = new StringBuilder();
StringBuilder assocWorkItems = new StringBuilder();
// Create a list of the associated work items for the ChangeSet
foreach (WorkItem assocWorkItem in changeset.WorkItems)
{
assocWorkItems.Append(assocWorkItem.Id.ToString());
}
// Get details from each of the changes in the changeset
foreach (Change change in changeset.Changes)
{
changes.AppendLine(string.Format(CultureInfo.InvariantCulture, "\t{0}\t{1}",
PendingChange.GetLocalizedStringForChangeType(change.ChangeType),
change.Item.ServerItem));
}
// Get some details from the changeset and append the individual change details below it
if (changes.Length > 0)
{
bodyContent.AppendLine(string.Format(CultureInfo.InvariantCulture, "{0}\t{1}\t{2}\t{3}\t{4}",
changeset.ChangesetId,
changeset.Committer.Substring(changeset.Committer.IndexOf('\\') + 1),
changeset.CreationDate,
changeset.Comment,
assocWorkItems.ToString()));
bodyContent.Append(changes.ToString());
}
}
return bodyContent;
}
는 대답은 간단 할 수있다.
프로그래밍 방식으로이 작업을 수행 하시겠습니까? –