2013-03-20 3 views
1

내 작품에는 비주얼 스튜디오 솔루션을 구성하기 위해 서로 결합 된 수많은 개별 TFS 프로젝트가 있습니다. 이러한 개별 TFS 프로젝트는 여러 솔루션에서 코드를 재사용 할 수 있도록 유지 관리됩니다. 틀림없이 이것이 나쁜 생각이었습니다. 이제 분기해야 할 때마다 각 TFS 프로젝트를 개별적으로 분기해야합니다 (우리도이 작업을 수행 할 앱을 작성했습니다).git-tfs 여러 개의 tfs 프로젝트에 대해 하나의 체크 인

$/Production/[superproject]/MAIN 
$/Production/[superproject]/dev/[branch] 
$/Production/[dependency1]/MAIN 
$/Production/[dependency1]/dev/[branch/ 

[superproject]는 솔루션 내에서 [dependency1]이 필요합니다 : 우리는 다음과 같습니다 프로젝트 구조와 끝까지. 우리는 이러한 모든 프로젝트를 동일한 작업 공간으로 매핑하게됩니다.

내 일상적인 개발에서 Git을 사용하려면 Git-TFS를 사용하고 싶습니다. 지금까지 내가 이것을 발견 한 가장 좋은 방법은 각각의 TFS 프로젝트를위한 서브 모듈로 "master"git repo를 만드는 것이다. 이런 식으로 나는 git submodule foreach을 사용하여 분기, 차등 등을 수행 할 수 있습니다.

불행히도 체크섬 관련 정책은 변경 집합이 여러 TFS 프로젝트에 걸쳐 있더라도 작업에 대해 하나의 변경 집합을 사용하는 것입니다. 모든 변경 사항을 하나의 TFS 프로젝트 (예 : 하나의 git 하위 모듈)로 제한하는 경우에는 문제가되지 않지만 하나의 작업에 대해 여러 하위 모듈에 변경 사항이있을 경우 어떻게해야할지 모릅니다. 나의 현재 계획은 각각 git submodule foreach 'git-tfs shelve mytask_$name'을 사용하여 각 개인을 선반에 얹은 다음 거기에서부터 체크인하여 내 TFS 작업 공간으로 가져 오는 것입니다. 이는 이미 매핑 한 TFS 브랜치에 대해서만 작동합니다. Git을 처음 사용하는 목적의 절반을 무효로 만듭니다.

누구와 비슷한 문제가 발생 했습니까? 이미 거기에 어떤 해결책이 있습니까, 아마도 TFS 명령 줄 & 스크립트를 사용하고 있습니까? 그렇지 않다면 git-tfs에 대한 pull 요청을 만드는 데 시간을 할애한다고 가정합니다. 문제가 해결되면 Git-TF를 사용하고 있습니다.

감사합니다.

답변