2009-05-01 3 views
16

직장에서 Visual Source Safe 2005를 사용해야합니다. DVCS와 결합하여 버그가 있거나 컴파일되지 않으면 동료를 방해하지 않고 파일을 로컬에서 체크인 할 수 있습니다.DVCS와 Visual Source Safe를 결합하십시오.

내 생각에는 Mercurial을 사용해도 작동하지만 이상한 문제가 발생합니다. 즉, 다른 사람이 내가 체크 아웃 한 파일을 체크 아웃했다고 생각합니다.

  1. 해제 자동 체크 아웃 :

    는 여기에 내가 그것을 관리하는 방법에 대한 내 생각을합니다.

  2. 내 변화를 밀어 준비가 의욕
  3. 에서 로컬
  4. 일 ...
    1. 복제 내 머큐리얼 저장소.
    2. Visual Source Safe 리포지토리를 업데이트하십시오.
    3. Mercurial을 사용하여 두 개의 리포지토리를 가져 와서 병합하십시오.
    4. 모든 것을 Visual Source Safe로 검사하십시오.

이 소리 합리적인합니까? 저는 항상 VSS에 관한 나쁜 소식을 듣고 있습니다.이 질문은 저에게 직접 문제를 직접 묻는 것입니까?

+0

문제가 다시 표현해야보다 정확한 하나 : "어떻게 좋은 버전 관리 시스템 빨아 만들기 위해" –

+0

나는 같은 위치에있다. 그러나 당신이 설명한 과정은 vss를 단독으로 사용하는 것보다 나쁩니다 :-) –

+0

나는 변경 사항을 거의 푸시하지 않으므로 그리 나쁘지 않을 것입니다. – WBlasko

답변

13

WBlasko

저도 같은 문제를 발견했습니다. 다른 개발자가 잠금을 해제 할 때까지 기다리지 않고 필요한 경우 파일을 변경하고 병합하고 싶었습니다. 나를 위해 일한 솔루션했다 :

c:\vss\projectA 

2A) 의욕

cd vss\projectA 
C:\vss\projectA>hg init 
로 초기화 :

1)는 VSS 프로젝트의 최신 버전을 다운로드 (나는 VSS 아래의 모든 VSS 프로젝트)를 배치

2B)는 뜻

hg clone vss\projectA myProjects\projectA 

3에서 변경 될 수 있습니다 장소에 프로젝트를 복제) 최신 변화를 잡아 VSS 복사본에서 건너 뛰기 (1과 2에서 온 경우 건너 뛰십시오)

C:\myProjects\projectA>hg pull 
C:\myProjects\projectA>hg update 
(solve conflicts if any) 

4) 복제 된 버전으로 자유롭게 작업하십시오. 나중에 VSS 복사본에 작업을 밀어 :

C:\myProjects\projectA>hg push 
(don't run hg update yet, wait for VSS latestes version) 

5) 이제 VSS 프로젝트에 모든 파일의 체크 아웃을 수행

6)를 실행하여 변경 사항을 병합 할 VSS 프로젝트의 "HG 업데이트" 최신 VSS 변경 사항

C:\vss\projectA>hg update 
(if there are conflicts, resolve them) 

7) 커밋 변경

C:\vss\projectA>hg commit 

8

)는 3 반복 단계로 돌아가서 다른 사람들에게 잠금 해제 체크인 VSS() 수행 영원히 후 3-8 단계 .. .;-)

이 방법을 사용하면 기존 버전의 프로젝트와 여전히 "대화"하면서 좋은 버전 제어 시스템으로 작업 할 수 있습니다. 등

그냥 첫 번째 업데이트에주의 하시고, 당신은) 수은 C를 사용하는 방법을 알고 지점을 다른 사용자와 저장소를 공유 할 수 있습니다) 가) 어떤 문제가 잠긴 파일 B를 : 당신은 또한 즐길 수있을 것/체크인 VSS를 수행 한 후 충돌 테스트를 해결하고

건배, 루이스

+1

굉장한 아이디어. VS에서 VSS 바인딩을 어떻게 처리합니까? 올바르게 기억한다면, 그 바인딩은 솔루션과 프로젝트 파일 내에 저장됩니다. 따라서 "복제 된"디렉터리에서 작업 할 때 VS는 여전히 솔루션이 VSS에 바인딩되어 있다고 생각합니다. – mlsteeves

+1

@ mlsteeves : 자동 체크 아웃을 사용 중지하면 문제가되지 않습니다. –

+0

감사합니다. 내가 다르게 한 유일한 이유는 vss \ projectA의 위치를 ​​나에게 나타내는 "VSS"라는 태그를 유지한다는 것입니다. 이렇게하면 수정 된 파일 목록을 얻기 위해'hg status --ref xx : yy' (xx와 yy는 개정 번호 임)를 할 수 있습니다. 그런 다음 그 파일 만 체크 아웃하십시오. – mlsteeves