You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But we can just delete them from the related commits, and keep the repository size low while retaining history.
If we do that we would have to rebase our existing patches, and keep the current master as old-master or something like that to keep the references alive.
I forgot to mention this sums up the weights of both the cleaned-up master and the old-master branch, the second branch doesn't add a single MB though since our commits are small and are negligible once compressed, and Git deduplicates the rest.
If we do that we would have to rebase our existing patches, and keep the current master as old-master or something like that to keep the references alive.
I recall we had the situation of needing to keep a reference alive with another one of our repos and invented some convention for it. We used a tag rather than a branch.
But we don't want to upload the upstream here. Actually one of those branches upstream/unvanquished should be named legacy, it's our old branch before rebasing on Unity's branch.
I also have a vague memory of a tag somewhere, but I don't remember where. I do believe we used a tag when we mistakenly committed a submodule from a pull request, or something like that.
The old truncated history is now living in the legacy/truncated-history branch.
I added three tags:
rewritten/e3fce84f253bc1e77bb239185c0fbff23dc8e3ee
The original last commit on Google upstream (they will likely never modify it ever).
rewritten/f0ed5cf1cc3ba57ea8323f23242bed8382552d51
The original first commit on Google upstream.
rewritten/78751ab2bd2918cdbe4d849412463351088d2e90
The commit from Google upstream that was used as (stripped and truncated) first commit of the legacy/truncated-history branch.
That's just a mistake with pushing a reference to an unmerged submodule branch though. I was imagining we needed the tag for a good reason, let's say rebasing our submodule over a newer upstream or something. orphaned doesn't seem like a great naming scheme for something that wasn't a mistake, but a tag seems better than a branch regardless.
Until now we used branches for such things in other repositories, we can switch to tags, but that's not a big deal.
We better be consistent if we switch to tags.
Activity
[-]Restore complete history?[/-][+]Restore (almost) complete history?[/+]illwieckz commentedon Dec 17, 2025
Here is a cleaned-up history with our commits replayed above:
I deleted those files from all commits:
Here are the sizes:
384M67MFor reference the truncated-history repository only weights
6.3M.illwieckz commentedon Dec 17, 2025
I forgot to mention this sums up the weights of both the cleaned-up
masterand theold-masterbranch, the second branch doesn't add a single MB though since our commits are small and are negligible once compressed, and Git deduplicates the rest.illwieckz commentedon Dec 17, 2025
I did a mistake in my script and the complete delete list wasn't processed. It's now fixed, the repository size is
57M.Before:
384MAfter:
57Millwieckz commentedon Jun 20, 2026
@slipher What do you think about it? I prefer to restore the stripped history even if it's a bit larger than the truncated history.
6.1M(our current repository)57M(my cleaned-up branch) ← what I propose384M(Google's upstream)slipher commentedon Jun 20, 2026
I recall we had the situation of needing to keep a reference alive with another one of our repos and invented some convention for it. We used a tag rather than a branch.
illwieckz commentedon Jun 20, 2026
Yes, we can do a tag as well. What's importent is that we keep a head to avoid the commits pruned on clean-up.
illwieckz commentedon Jun 21, 2026
Let's do this!
illwieckz commentedon Jun 21, 2026
About previous conventions, we have a
legacy/early-portbranch on RmlUI:We also have a bunch of
upstream/*branches on Crunch:But we don't want to upload the upstream here. Actually one of those branches
upstream/unvanquishedshould be namedlegacy, it's our old branch before rebasing on Unity's branch.I also have a vague memory of a tag somewhere, but I don't remember where. I do believe we used a tag when we mistakenly committed a submodule from a pull request, or something like that.
illwieckz commentedon Jun 21, 2026
I'm gonna use a branch and name it
legacy/truncated-history.illwieckz commentedon Jun 21, 2026
Done.
The old truncated history is now living in the
legacy/truncated-historybranch.I added three tags:
rewritten/e3fce84f253bc1e77bb239185c0fbff23dc8e3eeThe original last commit on Google upstream (they will likely never modify it ever).
rewritten/f0ed5cf1cc3ba57ea8323f23242bed8382552d51The original first commit on Google upstream.
rewritten/78751ab2bd2918cdbe4d849412463351088d2e90The commit from Google upstream that was used as (stripped and truncated) first commit of the
legacy/truncated-historybranch.illwieckz commentedon Jun 21, 2026
I now have to rebase my pull requests. Of course GitHub closed them… Annoying.
illwieckz commentedon Jun 21, 2026
To switch an already cloned local repository to the new
masterbranch, one can do:illwieckz commentedon Jun 21, 2026
To rebase a branch for a pending pull request, one can do:
Then delete this line:
illwieckz commentedon Jun 21, 2026
Pull requests are now rebased:
I split one more:
[-]Restore (almost) complete history?[/-][+]Restoring the (almost) complete history[/+]slipher commentedon Jun 22, 2026
Maybe I found the precedent I was thinking of: https://github.com/UnvanquishedAssets/unvanquished_src.dpkdir/releases/tag/orphaned%2Feea27936
That's just a mistake with pushing a reference to an unmerged submodule branch though. I was imagining we needed the tag for a good reason, let's say rebasing our submodule over a newer upstream or something.
orphaneddoesn't seem like a great naming scheme for something that wasn't a mistake, but a tag seems better than a branch regardless.illwieckz commentedon Jun 22, 2026
Ah yes, that's the one I was looking for. Yeah,
orphaned/doesn't fit the need here.illwieckz commentedon Jun 22, 2026
Until now we used branches for such things in other repositories, we can switch to tags, but that's not a big deal.
We better be consistent if we switch to tags.
illwieckz commentedon Jun 25, 2026
Let's consider this done. 🎉️