음, 그렇습니다.
내가 원격 저장소를 소스로 사용하고 있음을 나타내는 것으로 알고 있지만 질문의 제목이 약간 넓기 때문에 더 넓은 질문에 답하고 있습니다.
외관상으로 명백한 최종 결과는 동일합니다. 두 저장소의 파일은 바이너리 동일하지 않지만 (참고로, 나는 당신이 추적하는 파일에 대해 말하는 것이 아니라, Mercurial이 그 파일을 추적하기 위해 사용하는 "데이터베이스", 역사, changesets 등에 대해 말하고있다. . 모두 같다.
그런 점에서 그렇습니다. 그 두 가지는 똑같은 것을하는 것 같습니다.
그러나 그들은 다른 방식으로합니다.
이 할 경우
hg clone REMOTE_URL
hg init && hg pull REMOTE_URL
그런 다음 실제 차이가 없다합니다.당신이 할 경우
그러나 :
hg clone LOCAL_PATH
hg init && hg pull LOCAL_PATH
그런 다음 이 차이가있을 수 있습니다 (참고,이 클론/풀은 디스크에 이미 다른 저장소에서)입니다. 가능한 경우 로컬 클론이 저장소에 대한 하드 링크를 사용합니다. 즉, 저장소에있는 모든 파일의 새 복사본을 만들지 않고 디스크에 새 링크를 만들면 훨씬 빠르게 실행되고 거의 공간이 필요하지 않습니다.
그런 다음 기록 수정을 시작하면 즉, 새로운 변경 집합을 커밋하면 해당 파일이 필요에 따라 연결이 끊어지고 전체 복사본이 만들어집니다.
파일이 하드 링크를 만들지 않는 정확한 추론은 나에게 알려지지 않음에 유의하십시오. Mercurial wiki에서이 기능에 대한 자세한 내용을 볼 수 있습니다 (Hardlinked Clones).
당겨서는 안됩니다. 다른 저장소에서 읽고 대상 저장소에 새 파일을 작성/갱신합니다. 이렇게하려면 더 많은 시간과 디스크 공간이 필요합니다. 그래서
는 요약 :
hg clone LOCAL_PATH
가 훨씬 적은 디스크 공간을 사용하고 복제하는 경우/원격 저장소에서 당겨, 아니오가 더 빨리 hg init && hg pull LOCAL_PATH
- 보다 훨씬을 실행할 수 없습니다 실제 차이
+1 나를 때린다. ** :) ** - 그리고 Vaibhav는 아마'hg update --clean'을해야 할 것입니다. –
감사합니다 !!!! hg clone의 기본 경로를 비활성화하는 방법을 찾고있었습니다. –