2012-02-23 3 views
1

Mercurial을 사용하여 파일의 이름을 바꾸고 변경하지 않고 커밋하면 전체 파일을 저장소로 보내는 이유는 무엇입니까? (원격 저장소에 대한 후속 푸시가 얼마나 많은 데이터가 전송되는지 보여주기 때문에 알 수 있습니다.) 이름을 바꿀 필요가 있다는 것이 명백하지 않습니까?Mercurial에서 파일 이름의 비효율적 인 처리

Windows에서 TortoiseHG의 최신 버전을 사용하고 있으며 문제의 파일은 20MB 텍스트 파일입니다.

답변

3

이것은 Mercurial에서 사용 된 저장 형식의 결함입니다. 전체 기사에서 "lightweight copies"을 검색 할 수 있지만 간략하게는 이름을 바꿀 때 새 파일 이름에 대해 revlog이 새로 만들어지는 것이 문제입니다. 새로운 revlog는 전체 파일의 압축 된 스냅 샷으로 시작합니다. 일반적으로 큰 문제는 아니지만 여전히 크기가 0 인 delta보다 큽니다.

Mercurial을 패치하고 실험 코드를 실행하려는 경우가 아니면 지금은 거의 할 수 없습니다. 좋은 소식은 기다려야한다는 것입니다. 우리가 작업 한 패치는 기존 저장소를 자동으로 공간 효율적인 것으로 변환 할 수 있습니다. 이 문제는 네트워크상에서 hg clone을 사용하거나 로컬에서 hg clone --pull을 사용하는 경우 발생합니다.

+0

완벽한, 감사합니다. – max