2011-08-23 6 views
3

내 로컬 컴퓨터에 자식 저장소를 복제하려고하는데 저장소가 너무 크기 때문에 "malloc failed"이라고 말하고 있습니다.rsync git big repository

누구든지 디렉토리를 복사하는 데 사용할 수있는 정확한 rsync 명령을 알고 있습니까? 아니면 큰 저장소를 복제 할 수있는 다른 방법이 있습니까?

나는 rsyncing 시도했지만 그것은 나에게 다음과 같은 오류 제공 : 자식 클론을 사용하려고 할 때 나는 다음과 같은 오류가

Invalid command: 'rsync --server --sender -v . username/dir.git' 
    You appear to be using ssh to clone a git:// URL. 
    Make sure your core.gitProxy config option and the 
    GIT_PROXY_COMMAND environment variable are NOT set. 
rsync: connection unexpectedly closed (0 bytes received so far) [receiver] 
rsync error: error in rsync protocol data stream (code 12) at io.c(463) [receiver=2.6.8] 

을 :

remote: Counting objects: 52708, done. 
remote: Compressing objects: 100% (52188/52188), done. 
fatal: Out of memory, malloc failed (tried to allocate 1471836719 bytes) 
fatal: index-pack failed 
+0

http://stackoverflow.com/questions/6842687/the-remote-end-hung-up-enexpectedly에서 설명한대로 'git config --global http.postBuffer 524288000' 이후에 clone 명령을 다시 시도 할 수 있습니까? - 동안 자식 복제/6849424 # 6849424? – VonC

+0

@VonC - 처음에 어떤 프로토콜을 사용하고 있는지 묻지 말아야합니까? 이 설정은 ssh/git이 사용되는 경우 중요하지 않습니까? – manojlds

+0

복제하려면'rsync'를 실제로 사용합니까? :? – KingCrunch

답변

2

git의 최신 버전을 사용하십시오. 최신 버전이 이것을 처리 할 수 ​​있습니다. 또는 새 버전을 이미 사용하는 경우 git config core.bigFileThreshold을 작은 크기로 설정하십시오.

+0

나는 몰랐다. 그 특정한 환경에 대해서. +1 – VonC

0

더 많은 메모리를 할 수 있도록 ulimit를 사용해보십시오 git 프로세스에서 사용됩니다.

  • ulimit를 -m XXX
  • ulimit를 -v YYY
+0

이 작동하지 않았습니다. 여전히 같은 오류가 발생했습니다. – Jasmine

0

하나 개 정말 큰 파일이있는 경우, 당신이 다른 옵션을 생각하지만, 그것을 제거하려고하지 않는다 assumming 당신의 repo에서 :

  • 원격 서버에 액세스 할 수
  • 아무도 그 복제를 관리하지 못했습니다 (프로세스 내역이 변경되어 기존 클론에 문제가 발생할 수 있음).

section "Removing a File from Every Commit" from the Pro Git book을 참조하십시오.

git filter-branch --tree-filter 'rm -f bigFile' -- --all 

section "Checklist for Shrinking a Repository" of git filter-branch도 확인하십시오.

+0

원격 저장소를 사용하면 그렇게 생각하지 않습니다. (Naissa가 로컬 복제본을 만들려고합니다.) 어떤 사람도 저장소를 복제 할 수 없다고 생각하십니까? –

+1

@Christopher : 처음에이 질문에 대답했을 때 아무도 그 repo를 복제 할 수 없었던 것이 이른 시간이었습니다.) – VonC