2013-08-22 1 views
0

내 개발을 위해 Visual Studio를 사용하고 있습니다. 트렁크, 지점 P 및 지점 E의 두 가지 기능 분기를 만들었습니다. 지점 EI가 자체 디렉토리에 새 프로젝트. 지점 P로 전환하기 전에이 디렉토리를 삭제해야합니다. 그렇지 않으면 엉망이됩니다. 내가 기억한다면 이것은 잘 작동합니다. 그러나 누군가 다른 사람이 내가 놓친 새로운 프로젝트를 추가하거나 디렉토리를 잊어 버렸다면 다시 엉망이됩니다.Subversion을 사용하여 최소한의 추가 단계로 Visual Studio 프로젝트의 분기 간을 전환하는 방법

* .sou, * .user bin 및 obj는 전역 무시로 설정되어 있습니다.

이제 E에서 P로 전환 할 때 지점 E에서 분기 P에없는 디렉토리를 삭제하는 것을 잊어 버리면 혼란이 시작됩니다. 버전이있는 파일은 작업 카피에서 삭제되지만, Subversion은 그것을 어떻게 처리해야할지 모르기 때문에 디렉토리가 남아 있습니다. 괜찮아. 그런 다음 작업 복사본을 P에서 E로 전환하면 "local unversioned, incoming add switch"라는 충돌이 발생합니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

해결 된 명령은 resolve 명령을 사용합니다. resolve 명령은 트리 충돌에 대한 유일한 옵션은 "accept work"를 사용하는 것인데 이것은 잘못된 것이지만 내가 볼 수있는 유일한 선택입니다. 그래서 일단 내가 필요로하지 않는 삭제를 위해 나의 새로운 라이브러리가 표시되었다고 발급합니다.

그렇다면 새 라이브러리를 전복 제어가 아닌 별도의 디렉토리로 체크 아웃해야합니다. 충돌을 해결하기 위해 지점 E에 변경 사항을 적용하면 새 라이브러리도 삭제됩니다. 그런 다음 방금 완료 한 체크 아웃 파일을 작업 사본으로 복사 한 다음 새 디렉토리를 추가하여 필자가 있던 곳으로 가져와야합니다. 역사가해야 할 일은 말할 것도 없습니다.

나는 어려운 길을 가고있을 것이지만 나는 책에서 아무것도 유도하지 못한다. Subversion 메일 링리스트는 도움이되지 않는다. 누구든지 더 나은 해결책을 찾았습니까?

+0

분기 (분기 E, P 및 트렁크)가 자주 전환되는 이유는 무엇입니까? 지점을 선택하고 완료되면 (그리고 일반적인 QA가 완료된 후) 변경 사항을 다른 지점 (일반적으로 E/P 지점을 간선으로, 그런 다음 간선 지점을 지점 P/E)으로 병합하십시오. 그래도 작동하지 않으면 세 가지 분기를 모두 체크 아웃하고 Visual Studio의 다른 인스턴스에서 작업중인 인스턴스를 열면됩니다. –

+0

나는 앞뒤로 너무 많이 바꿀 필요가 없었 으면 좋겠다. 그러나 나는 항상 내가하고 싶은 일을 고를 수는 없으며 때로는 사업이 내 손을 강요합니다. –

답변

0

마지막으로 Subversion 메일 링리스트에서 답변을 받았습니다. 사실 나는 두 가지를 받았다.

1) 각 분기마다 다른 작업 디렉토리를 만들 수 있습니다. 일부 작업에는 문제가있을 수 있지만 환경을 복제해야합니다. 어쩌면 영향을 최소화하기 위해 일을 리디렉션 할 수 있지만 시간 집중적 인 솔루션을 찾는 것이 아닙니다.

2) --force 옵션을 사용할 수 있습니다. 이것으로 치료할 수 있습니다. 나는 그것이 다른 문제를 일으키는 지 알게 될 것이지만, 지금 당장 나는 바로 갈 수있다.

관련 문제