문제

우리는 동일한 폐쇄형(으, 멍청한 정부) 네트워크에 두 명의 개발자가 있고, 또 다른 개발자는 길을 따라 몇 분 운전하고, 네 번째 개발자는 전국 절반에 있습니다.동일한 네트워크에 있지 않은 사람들에게는 이메일, FTP 및 제거 미디어가 모두 가능한 전송 방법입니다.

저는 두 명의 폐쇄형 네트워크 개발자 중 한 명입니다. 우리를 "마스터" 위치로 생각하세요.

그룹에 가장 적합한 Mercurial 설정/패턴은 무엇입니까?원격 개발자와 변경 사항을 전송하는 가장 좋은 방법은 무엇입니까?제가 담당하고 있기 때문에 개발할 수 있는 다른 로컬 저장소와 함께 최소한 하나의 마스터 저장소를 유지해야 한다고 생각했습니다.각 사람은 마스터의 복제본만 있으면 됩니다.이게 옳은 거니?이것이 나에게도 병합에 대한 책임을지게 만드는 것 같아요?

보시다시피 저는 여전히 분산 버전 제어에 대해 고민하고 있습니다.연결 상황에서 이를 수행할 수 있는 다른 방법은 없다고 생각합니다.

도움이 되었습니까?

해결책

네트워크 외부의 사용자는 다음을 수행할 수 있습니다. 패치, 및/또는 사용 이메일 업데이트를 메인 저장소나 자신과 같은 누군가에게 보내서 병합하세요.다른 내부 사람들은 자신과 같은 로컬 복사본을 갖고 병합을 수행할 수 있습니다. 그러나 이러한 패치를 네트워크 외부 패치로 가지고 있는 경우 아무도 혼동하지 않도록 한 사람이 처리하는 것이 더 나을 수 있지만 그렇게 해야 합니다. 자신을 고려하십시오.

다른 방법으로 동기화하면 패치를 생성하고 원격 개발자에게 이메일을 보내거나 플래시 드라이브를 가져와 시스템을 패치할 수 있습니다.팀 내에서 좋은 의사소통이 필요합니다. 제가 당신의 입장이 아닌 것에 감사드립니다.

이것이 제가 제안하는 유일한 제안입니다. 당연하게도 VPN 연결을 제공하십시오!어떻게 진행되고 있는지, 어떤 계획이 매주 그루브로 안정되는지 등에 대해 듣고 싶습니다.

다른 팁

패치는 간단하고 다양한 솔루션입니다.

대규모 변경 그룹(특히 바이너리 변경 및 병합)을 이동하기 위해 Mercurial은 바이너리 번들을 제공합니다.번들은 기본적으로 네트워크를 통해 전송되는 바이너리 항목입니다. hg push, 그러나 여기서는 파일에 캡처되어 있습니다.

어떻게든(플래시 드라이브, DVD 등을 통해) 복제품을 얻었다고 가정해 보겠습니다.불러라 upstream.그런 다음 두 번째 클론을 만들어 호출합니다. devel.나는 모든 개발을 devel 커밋, 병합 등을 많이 수행합니다.Mercurial이 배포되므로 이 모든 작업을 오프라인으로 수행할 수 있습니다.

어떤 변경 세트가 누락되었는지 확인하려면 upstream 그래요

% hg outgoing ../upstream

보낼 내용이 있을 때 사용하면 됩니다.

% hg bundle changes.hg ../upstream

모든 메타 데이터를 포함한 변경 세트가 포함된 이진 압축 파일을 가져옵니다.그런 다음 이 파일을 CD에 구워 메일로 보낼 수 있습니다.

번들 수신자는 다음을 수행할 수 있습니다.

% hg incoming changes.hg

변경 세트 목록을 확인하고

% hg pull changes.hg

변경 세트의 압축을 풀고 저장소에 추가합니다.그런 다음 그는 병합해야 할 가능성이 높습니다. 이는 마치 그가 HTTP 또는 SSH를 통해 저장소에서 직접 가져온 것과 같습니다.

참고로 upstream 저장소는 업스트림 저장소에서 이미 발견된 변경 집합을 기억하는 편리한 방법으로만 사용됩니다.변경 세트 ID를 적어두고 사용할 수도 있습니다. hg bundle --base 기본(공통) 변경 세트를 지정하기 위해 번들링할 때.보다 hg help bundle 또는 위키에서 찾아봐.

옳은.폐쇄된 네트워크에 접속할 수 있는 유일한 방법은 플래시 드라이브를 이용하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top