.pijul takes 6.5 gigabytes / how is it possible?

Hi. I decided to check how much memory .pijul directory takes up and was a little surprised.
I admit that I might have accidentally recorded a large file, but the largest directory in my project is build/, which is 310 megabytes and I am sure I did not record it because the .ignore file includes it. Other files are less than 100-400 kilobytes.
The repository contains 427 changes.

Is it my fault or Pijul’s fault?
What could I have done that made repository size so large?
Are there ways to check what record contains a large file?

This sounds a bit much indeed. Pijul stores two things;

  • The compressed patches containing the actual contents of changes to your files. If you’ve made large changes to binary files, this could get big, especially if files are hard to compress.
  • A datastructure which I’ve been meaning to store compressed for a long time now, but never managed to find the time. I’m still hopeful that I’ll be able to finish these things in 2025.

I’d be interested to see which of these is heavier, would you mind running something like du -h -d 1 .pijul ?

Also, pijul debug > /dev/null checks for corruption, which is unlikely by now, but may bloat your .pjiul

Not a problem!

  du -h -d 1 .pijul

  pijul debug > /dev/null # printed ()

For some reason, the image gets discarded, so here is the output of the first command:

3.7G	.pijul/pristine
1.9M	.pijul/changes
  0B	.pijul/identities
3.7G	.pijul

I just realized it shows 3.7 GB, but macOS displays 6.5 GB.
That’s strange.

is your repo public?

My repository is private.