2010-03-11 2 views
1

파일을 체크 아웃 할 때 다른 사람이 다시 체크 인 할 때까지 편집 할 수 있기를 바랍니다.이 작업을 수행 할 수있는 버전 제어 시스템이 있습니까? 현재 Subversion을 사용하고 있으며 '잠금'기능이 있다는 것을 알고 있지만 작업중인 각 파일에서 요청하지 않고 자동으로 처리하도록하고 싶습니다.한 번에 한 명의 사용자 만 파일을 작업 할 수있는 버전 제어 시스템은 무엇입니까?

+6

왜 그런 일을하고 싶습니까? 동시 작업 허용은 버전 관리의 가장 좋은 기능 중 하나입니다. Perforce는 전체적인 변경 목록을 한 번에 아주 쉽게 잠글 수 있습니다. http://www.perforce.com/perforce/doc.091/manuals/cmdref/lock.html –

+3

@ 닫기 투표 : VCS가 꽤 유용한 프로그래밍과 관련 있다고 말하고 싶습니다. – Erik

+0

@Carl Agreed. 이것은 최신 버전 제어의 승리 중 하나입니다.버전 제어 시스템이 자동으로 diff를 계산하고 충돌을 자동 병합 또는 수동으로 해결하는 메커니즘을 제공하기 전에 "체크 아웃 및 잠금"메커니즘 만 사용할 수 있었으며 일부 팀에서는 문제를 일으켰습니다. 사람들은 같은 파일을 만집니다. – Dathan

답변

0

Peforce는 뭔가 가깝습니다.

0

Microsoft SourceSafe (yuck).

4

많은 항목이 있습니다.

Source Safe는 다른 방식으로 작동하지 않는 것으로 유명합니다.

세레나 차원 그런 식으로 구성 할 수 있습니다.

TFS를 사용하면 독점적 인 체크 아웃을 할 수 있습니다.

대부분의 소스 제어 시스템에서는 이러한 작업을 수행 할 수 있으며, 일부는 이러한 방식으로 구현되고, 다른 일부는 필요에 따라 기능을 제공합니다.

그러나 팀에서 작업하는 경우이 작업을 수행하면 진행 상황이 악화됩니다. 한 번에 많은 사람들이 같은 파일에서 작업 할 수있게되면 시간을 절약 할 수있을뿐만 아니라 자원과 속도를보다 효율적으로 사용할 수 있습니다. 파일에 대해 다른 사람이 실제로 작업 할 수없는 특별한 상황에서만 배타 잠금을 사용해야합니다.

+0

Source Safe는 SourceSafe 2005에서 두 가지 방법을 모두 지원합니다. –

+0

원래 소스 컨트롤을 버전 제어로 사용 했으므로 여기서 아이디어를 얻었습니다. 나는 코드를 덮어 쓰거나 어딘가에서 합병하는 것에 대해 걱정할 필요가 없다는 것을 알기 때문에 더 좋아했다. 여기에서 코멘트를 읽은 후에, 모든 사람들이 파일을 잠그지 않는 것이 가장 효과적 일 것 같습니다. 일반적으로 이드는 3 명 정도되는 소규모 팀에서 일하고 있기 때문에 잠금 장치가 우리를 그만큼 뒤로 붙잡을 수 없을 것이라고 생각합니다. – chadley

+0

@chadley : 저는 잠금이 문제가되는 작은 팀에서 일했습니다. 나는 그것이 작품의 성격에 더 의존한다고 생각한다; 새로운 개발은 긴급 버그 수정보다 잠금에 의해 분리 될 가능성이 높습니다. 그리고 예, 병합 VCS는 처음 엔 무서울 수 있으며 익숙해 져야합니다. 가능한 한 언젠가는 해보십시오. 한 달 정도 사용한 후에도 마음에 드는지보십시오. 그게 내가 확신 한거야. –

2
  • CVS

  • 은 ClearCase

-

일반적으로 현대 VCSs에는 병합 모델을 선호 개발의 잠금 모델을 지양 할 것 같다.

편집 : SVN 병합은 - 제 생각에는 부러졌습니다. 일단 ClearCase/Mercurial/git merging을 사용하면 ... 빨리 배우게됩니다. :)

+0

CVS는 기본적으로 병합 역할을합니다. 원하는 경우 자문 잠금을 적용 할 수 있으며 이전 RCS 기능을 사용하여 파일을 잠글 수는 있지만 관리자 도구를 제외하고는 사용할 수 있는지 기억하지 못합니다. –

+0

@ David : 동의 함. 그러나 CVS *는 일종의 잠금 기능을 가지고 있습니다 (예약 된 체크 아웃). 그래서 추가했습니다. 'cvs admin -l' 나는 모인다. –

1

오래된 IBM "CMVC"도구는 그런 식으로 작동, 나는 생각한다. 그러나 나는 그것에 대해 생각하기가 불편하고 막연하게 슬프다.

+1

+1 재미 있고 슬픈. –

0

RCS은 수정 사항 관리의 주요 접근 방법으로 잠금을 사용합니다. 파일을 체크 아웃하고 편집하려는 경우 파일을 잠급니다. 다른 사람의 자물쇠를 강제로 덮어 쓸 수는 있지만 그렇게하면 변경 사항이 사라집니다. 자세한 내용은이 베스트 프랙티스 discussion을 참조하십시오.

+0

RCS는 또한 가장 오래된 VCS 중 하나입니다. 파일 단위로 작동하며 중앙 저장소를 쉽게 지원할 수도없고 DVCS 스타일의 병합을 제공하지도 않습니다. –

+0

@David Thornley : RCS와 현대 VCS를 옹호하지는 않지만 질문에 대답합니다. 기본적으로 주요 기능으로 잠금을 원한다면 그럴 것입니다. 다른 사람들은 핵심 기능으로 잠금 기능을 찾고 있다면 아마도 잘못된 문제를 해결할 것입니다. –

관련 문제