2013-10-25 3 views
2

나는 이것을 통해 생각해 보았고 그 의미를 이해한다고 생각했지만, https://www.mercurial-scm.org/wiki/ShareExtension에 대한 경고는 매우 일반적이기 때문에 온 전성 검사를 원했습니다.작업 디렉토리가 별도의 지점에있는 한 Mercurial 대기열과 공유 확장을 함께 사용하는 것이 안전합니까?

특히 경고 메시지는 "MQ와 공유 클론을 혼합하는 것은 좋지 않을 것입니다. 그렇게하면 다른 클론에 패치가 적용되는 동안 한 클론에서 패치를 푸시/팝하지 않아야합니다."

는 그러나 MQ의 작동 방식에 대한 이해를 기반으로, 그것은 밀어 단지 안전하지 않은/팝 패치 (역사를 생성/파괴) 당신은 누구의 작업 디렉토리의 부모 등의 변화에 ​​의해 영향을받는 이주있는 경우. 즉, 두 개의 공유가 지사 분기를 분리하도록 업데이트 된 경우, 패치를 밀어 넣거나 터지는 패치는 작업 디렉토리와 관련이없는 다른 작성/삭제 기록에만 영향을 미쳐야하므로 바람직하지 않은 측면이 없어야합니다 - 효과.

이 작업 디렉토리에 문제 정확성 위태롭게하거나 야기한다 작은 사이드 등의 개정 일련 번호가 어떤 상황의 변화 등의 효과,하지만 아무것도 될 것입니다.

이 올바른 아니면 내가 뭔가를 놓친 게 뭐죠?

답변

0

나는 이것에 대해 잘 모르겠지만, AFAIK 당신은 두 가지 (REPOS)에 동일한 파일 함량이 끝날 경우,이 여전히 공유 스토리지로 바람과 위력을 과시 할 수도 있습니다.

+0

적용 패치는 공유 스토리지에 바람 DO (그리고 그들은 당신이 적용 취소 /를 QPOP 때 밖으로 철수하는)하지만 다른 공유의 관점에서 이것은 단지 작업 디렉토리로 수렴 아니에요 지점에 역사를 파괴 작성하고 있으며, I 어떤 문제를 일으키는 지 알지 못합니다. 대기열에 있지만 패치에 적용되지 않는 패치는 실제 변경 집합이 아니며 공유 저장 장치에 없습니다. – rationull

+0

이것에 대해 더 생각해보십시오. 작업 디렉토리의 조상이 아닌 리비전/브랜치와 일치하는 파일 컨텐트가 히스토리 수정에 문제가 있다면, 이는 파일 컨텐트를 공유하는 저장소에서 관련이없는 리비전을 제거하는 것을 의미합니다 작업 디렉토리의 부모가 뭔가를 망칠 수 있습니다. 그건 나에게 맞는 소리하지 않습니다. – rationull

0

이 분명히 확실한 대답 아니지만, 난 그냥 다른 사람이이 상황에 관심이 다시 경우보고 싶었다. 필자는 이제 몇 달 동안 대규모 repo의 "중앙 복사본"에서 여러 공유를 실행했습니다. 각 공유는 자체 분기에 전용으로 사용되고 각 공유 내에서 MQ를 자유롭게 사용합니다. 나는 어떤 문제도 겪지 않았다. 다른 브랜치의 히스토리 변경은 끌어 오기/스트립과 관련이 없으며, 관련이없는 변경 세트가 추가, 수정 및 제거됩니다.