Fetch pack error when getting port tree

Hi all.

I see that Freebsd has moved from svn to git. Ok.
On my local machine, when I try:
git clone --branch main https://git.FreeBSD.org/ports.git /usr/ports
It's ok.

However, on a ec2 server, this command always generates this error, closed to 60%:
Code:
Cloning into '/usr/ports'...
remote: Enumerating objects: 936, done.
remote: Counting objects: 100% (936/936), done.
remote: Compressing objects: 100% (120/120), done.
fatal: fetch-pack: invalid index-pack output02.95 MiB | 6.89 MiB/s

I guess it's a swap error, regarding my log messages.
Code:
pid 48081 (git), jid 0, uid 0, was killed: out of swap space

Unfortunally, I can't add a swap space to this machine (when the process fails, my memory is full).
Code:
last pid: 48142;  load averages:  0.92,  0.84,  0.69             up 97+02:14:18  16:18:56
49 processes:  1 running, 48 sleeping
CPU:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 1572K Active, 636K Inact, 64K Laundry, 171M Wired, 15M Buf, 635M Free

I tried several tricks, like:
Code:
git config --global pack.packSizeLimit 50m
git config --global pack.windowMemory 50m
git config --global core.compression 9
But it does not fix the issue.

Do you have any idea to bypass this issue, and update my ports tree with git and my memory limit?

Thanks a lot! If you need any details, feel free to ask.

Regards,
 
and update my ports tree with git and my memory limit?
You can use net/gitup instead. But I believe that also uses quite a bit of memory (author is aware and is trying to improve it). There's still portsnap(8) you can use. That's probably the least memory hungry and the easiest to use.

But I would suggest not getting a ports tree at all on these "small" machines and simply use packages. No fuss, just pkg-install(8) and be done. If you need specific options or versions, set up your own repository on a big box and have your "small" machines get their packages from your repository.
 
You can use net/gitup instead. But I believe that also uses quite a bit of memory (author is aware and is trying to improve it). There's still portsnap(8) you can use. That's probably the least memory hungry and the easiest to use.
Thanks a lot. Indeed, with net/gitup, it's ok for me! But I guess it's a temp option, regarding your next message.

But I would suggest not getting a ports tree at all on these "small" machines and simply use packages. No fuss, just pkg-install(8) and be done. If you need specific options or versions, set up your own repository on a big box and have your "small" machines get their packages from your repository.
Yeah, it's been a long years I'm used to update my ports tree with svnlite(1). But regarding the memory required just for getting sources with the new process, I think I'm gonna look the own repository option in a short term (it's just for specific options for nginx and one other port...).

Thanks!
 
Back
Top