2014-03-26 6 views
0

필자는 웹 사이트의 코드를 문서화하고 배포하는 도구를 작성 중이며 테스트하는 동안 이상한 점이 발견되어 변경 집합에 대한 내 이해가 의심 스럽습니다.TFS 변경 집합은 솔루션의 파일 만 참조해야합니까?

내가보고있는 것은 실제로 솔루션의 일부가 아닌 파일을 참조하는 변경 집합입니다 (어느 시점에서 보았을지라도).

  • 이 폴더가 추가 :이 결정할 수 가장 잘으로

    는 일련의 사건 (모든하지만이 회사에 입사 그래서이 모든 소스 제어 역사에서 추론되기 전에 마지막 단계 일이)입니다 전자 메일의 템플릿으로 사용되는 12 개의 txt 파일을 포함하는 프로젝트에이 파일들은 TFS에 체크인됩니다.

  • 2 주 후에 txt 파일 중 4 개가 프로젝트에서 제거되지만 물리적으로 삭제되지 않습니다.
  • 2 년 후 개발자는 전자 메일 템플릿을 업데이트하는 작업을 수행했으며 폴더의 모든 txt 파일을 변경했습니다.

내가 변경 집합 X 및 변경들의리스트는 TXT 각각에 대한 "편집"을 포함 보면 X 변경 집합의 결과로 자신의 변화

  • 개발자 검사가 프로젝트 "에"아니다 사 제거 된 네 개의 파일을 포함한 파일. 나는 CSPROJ 파일을 검사 했으므로 변경 세트가 만들어진 시점에 제거 된 파일에 대한 참조가 전혀 없습니다.

    내 코드가 변경 집합의 모든 변경 사항을 반복 할 때 변경된 파일을 변경 결과로 배포해야하는 파일을 식별하기 위해 변경된 파일을 해당 프로젝트와 결합하려고 시도합니다. 즉 그것의 .html 또는 .jpg 그때 그것은 단지 복사된다. 그러나 만일 그 원시 코드라면 나는 그 파일로부터 컴파일 된 연관된 바이너리를 배치 할 필요가있다). 따라서이 파일을 찾아서 자신이 속한 프로젝트를 찾으려고 할 때 실패합니다.

    변경 집합이 이러한 제거 된 파일을 참조해야합니까, 아니면 TFS의 버그입니까? 아니면 코드가 TFS 2008에서 TFS 2012로 마이그레이션되었을 때 일어날 수있는 일입니까? 버그가 아니라면 어떤 상황에서 TFS가 프로젝트에없는 파일의 변경 내용을 추적 할 것으로 기대합니까?

    완전히 새로운 프로젝트를 설정하고 소스 컨트롤에 추가 한 다음 관련 텍스트 파일을 추가, 제거 및 편집했지만 동일한 방식으로 동작하지 못하도록 복제하려고 시도했습니다.

  • 답변

    0

    TFS가 맞습니다. Visual Studio 솔루션은 버전 제어에서 파일의 하위 집합을 시각적으로 관리하기위한 훌륭한 인터페이스입니다. 둘 이상의 솔루션을 보유하고 여러 위치에서 파일을 변경하는 것이 일반적이지만 단일 변경 세트로 기록하려는 단일 논리 변경 사항은 여전히 ​​있습니다.

    +0

    음 ... 이해합니다.하지만 제 질문에 답변을 잘 모르겠습니다. –

    +1

    좋아요. 무슨 뜻인지 알아 냈습니다. 중요한 단어는 "하위 집합"입니다. 필자는 변경 집합이 소스 제어에만 관련되어 있으며 Visual Studio 솔루션과 우연히 관련이 있다는 점을 짐작합니다. 내 개인적인 경험으로 팀은 모든 관련 파일을 프로젝트에 솔루션에 추가하므로이를 숨기는 1-2-1 상관 관계가 있습니다. 이 문제가 발생한 이유는 소스 컨트롤에있는 프로젝트에 파일을 추가하면 소스 컨트롤에 추가되지만 프로젝트에서 제거하면 버전 컨트롤에서 제거되지 않으므로 해당 상관 관계가 깨집니다. –

    +0

    그건 좋은 방법입니다. –