2011-05-11 3 views
2

그래서 내가 유지 관리하는 고전적인 ASP webapp에 대한 SCM으로 Subversion을 사용하고 있습니다. 우리는 종속성 또는 장기간 개발이있는 변경 사항을 처리하기 위해 기능 브랜칭을 사용합니다.분기 및 공유 dev 서버?

우리는 Dev/QA를위한 공유 웹 서버를 사용하는데, 이것이 나의 질문이 들어오는 곳입니다. 중앙 Dev 서버는 트렁크의 작업 복사본입니다. 그런 다음 기능 분기에서 Dev의 변경 사항을 볼 필요가있을 때 병합합니다. 데브 작업 카피에. 지금까지 그렇게 좋았지 만, 나는 길 아래의 불균형으로 나 자신을 설정하고 있습니까?

예를 들어 오늘 애널리스트는 내가 피쳐로 변경 한 내용을 "제거하고"데브레이션을 위해 Dev 사이트에 병합 할 수 있다고 말했습니다. 피쳐가 죽어서가 아니라, 더 이상 볼 필요가 없습니다. 그리고 나는 그것을 쉽게 할 수 없다는 것을 깨달았습니다. 지금 내가 병합 한 변경 사항은 Dev 작업 복사본에 로컬 수정으로 나타나기 때문에 쉽게 제거 할 수는 없습니다. 영향을받는 파일의 변경 사항을 수동으로 되돌려 야합니다. 전체 되돌리기는 /와 관련된 변경 사항을 죽일 수 있기 때문입니다. 다른 기능들).

더 많이 쓸수록 내 자신의 질문에 답한 것처럼 느껴집니다. 분기 전략 (환경 별 분기)을 변경해야합니까? 또는 각 지점 (dev.mysite.com:4801, dev.mysite.com:4802)에 대해 별도의 "공유 된 개발"사이트가 있어야합니까? 아니면 이걸 어떻게 다룰 수 있니?

답변

1

제거하려는 기능이 하나의 특정 버전, 트렁크와 관련된 모든 지점에 완전히 포함되어있는 경우 트렁크 분기의 작업 복사본에서 특정 버전의 역 병합을 수행 할 수 있어야합니다 . "svn merge" 명령의 옵션을 살펴보십시오. 이 페이지에 따르면,이 같은 명령을 실행 할 수 있어야한다 :

SVN은 트렁크 작업 복사본에서,이 originaly 지점에 최선을 다하고 하나의 버전을 제거해야 -c -Revision YourDevBranch YourWorkingCopy

병합합니다.

그러나 문제가 원래 개발 브랜치 에서조차 하나의 개정판에서만 커미트되는 여러 기능과 관련된 경우 수동으로 수정 사항을 제거하는 것이 유일한 선택 인 것 같습니다.

+0

맞아, 변경 사항을 병합 취소 할 수 있습니다. 이전에는 그런 유형의 병합을 사용하지 않았습니다. 이 접근법이 어느정도 유효하다는 것을 알았습니까? –

+0

예, 실제로 저의 요점이었습니다 :) – yms

관련 문제