우리는 우리에게 훌륭한 Mercurial 워크 플로우를 만들었습니다. 그러나 나는 궁금한 점이 있습니다 : 기본적으로 모든 사용자가 항상 자신의 변경 집합을 "푸시"할 수있는 "정크"저장소를 만드는 것이 가능하고 "푸시 -f" ?"push -f"/ 백업 전용 Mercurial 저장소가 추가로 필요합니까?
즉 : 해당 저장소의 목표는 이 아니며은 통합/병합/제거해야합니다. 사실 이 아니고은 우리 워크 플로우의 일부가됩니다. 정말로 "모든 변경 세트를 백업하는 장소"가 될 것입니다.
우리가 변경 세트를 검색하는 유일한 순간은 사용자가 하드 디스크 크래시 또는 도난을 당했고 변경 사항을 그가 "hypetethic"changeset backup "repo에"push "했지만 저장소에 저장하지 않았을 때입니다 (실제로는 항상 액세스 할 수있는 "확인되지 않은"정크 저장소를 항상 사용 가능하게 유지하는 것이 매우 쉬울 것이라는 사실 중 하나가 될 수 있습니다).
"push -f"로 3 명의 사용자와 테스트를했는데 이제는 다음과 같이 보입니다. (작업 디렉토리의 부모는 changeset 0에서 맨 아래에 있고 은 영원히 유지됩니다) 거기에) :
$ hg glo | grep -v user: | grep -v date
o changeset: 3:4337a665659f
| tag: tip
| parent: 0:ab3e3171d569
| summary: 1st change by user B
|
| o changeset: 2:2349e3eed60d
|/ parent: 0:ab3e3171d569
| summary: 1st change by user C
|
| o changeset: 1:10405f5e0994
|/ summary: 1st change by user A
|
@ changeset: 0:ab3e3171d569
summary: Init
사용자가 다른 저장소에서 가져 오기를 시작하거나 작업을 병합 한 후에도 계속 작동합니까?
다른 말로하면 병합 문제를 해결하는 것이 중요하지 않으며 "push -f"와 새 머리 만들기가 매우 환영받을 곳이며 작업 디렉토리의 부모가 인 경우 항상은 " 변경 집합 0 ". "changesets backup"폴더 (예 : 실제 워크 플로우에서는 아직 통합되지 않은 변경 집합을 백업하는 경우) 역할을하는 것이 유일한 목표입니다.
이 방법이 효과가 있습니까?
그리고 이것은 일반적인 관행입니까? 이 워크 플로우를 사용할 때 백업을 쉽게 만들 수 없다는 불만을 목격했습니다. 그런 생각이 어떤 목적을위한 것이라고 생각하십니까? (나에게 유용하게 보이지만 어디서나 묘사 된 것을 본 적이 없으므로 궁금합니다.) – SyntaxT3rr0r
@OldEnthusiast : 일종의 일이지만, 일반적인 관행이라고 생각하지 않습니다. 그리고, 글쎄, 나는 그것이 잘 될 것이라고 생각하고 그것이 더 잘 작동하도록하기 위해해야 할 일을 생각했다. 나는 그것이 나쁜 생각이라고 생각하지 않는다. 비록 당신이 그 저장소에 많은 뻔뻔 스러움으로 끝날 것이라고 생각 하긴하지만. – Omnifarious
비슷한 일을 생각하고 있습니다. 내 생각은 모든 개발자 repos와 중앙 repo가 백업 repo에 밀어 것이었다. 특정 업무가 중단되었거나 중앙 repo로 피드백되지 않았거나 개발자가 중앙 repo로 전송하기 전에 자신의 로컬 커밋을 붕괴하기로 결정한 경우에만 죽은 머리를 기대할 수 있습니다. 내 예상 복원 워크 플로우는 중앙 repo를 복제 한 다음 백업에서 필요한 것을 가져 오는 것입니다. 너 어떻게 시작 했니? – morechilli