jdolan / quetoo-data

Quetoo ("Q2") game data. Creative Commons Attribution license.
http://quetoo.org
Creative Commons Attribution Share Alike 4.0 International
14 stars 3 forks source link

Rebase quetoo-data to current snapshot #50

Closed jdolan closed 8 years ago

jdolan commented 8 years ago

@Panjoo @anthonywebb1 @WickedShell @kaadmy

There have been grumblings amongst the IRC team that the data repo is unwieldy. This is mostly because of the Git history — every version of every file that’s ever been in the game, past or present, is actually hidden away in the “.git” folder. Every time we modify a file, it basically adds the size of that entire file to the size of the repository.

A simple “fix” is to rebase the repository, leaving only the most recent commit: http://stackoverflow.com/questions/1657017/how-to-squash-all-git-commits-into-one

This effectively “wipes” the history, so we would lose access to all previous versions of assets. So that is why I’m CC'ing everyone on this issue: is that something you would be okay with? Do our “src” and “target” folders contain enough context / posterity for us to forfeit all of the Git history? I believe, in squashing all of the previous commits, we’d reclaim 1-2GB of space from the data repo.

Personally, I just want to do whatever makes life easier for the team. If we do not need the history, let’s lose it. If the history is helpful on a somewhat regular basis, let’s keep it. In case we decide to lose it, I am in the process now of archiving this repository here: https://github.com/quetoo/quetoo-data-archive

(Note that we now have a Github Organization -- that repository is not under my personal account)

So what are the team's thoughts?

jdolan commented 8 years ago

Btw, as for impact, if we do decide to rebase, I'll ask that you guys have your working copies in an un-modified state (no pending changes). I'll then perform the rebase, and you guys will do a normal "pull." Shouldn't create any drama that way.

kaadmy commented 8 years ago

I'm perfectly fine with this as I can't do anything with it in it's current state :)

jdolan commented 8 years ago

I'm not hearing any protest, so.. :>

anthonywebb1 commented 8 years ago

Sounds fine to me. I have backups of all the sounds I've made.

jdolan commented 8 years ago

tl;dr Make absolutely certain you stash any pending changes before pulling quetoo-data!

Sadly, I've not been able to clone this repository on Github. It seems we've been grandfathered in: there are a dozen or so old revisions of map-wake.pak in the revision history that are in excess of 100MB, which is Github's maximum file size for personal repos. Back when these files were created, I don't think Github enforced a size limit. So now, when I try to push the repository to a new home on Github, it errors -- but only after uploading the entire thing, of course ;)

The only sane option left is to rebase / squash all (or most) of the older commits. I'm doing that right now. It should bring the size of the repository way down. But be prepared for when you pull next: it may take a few minutes while git reconciles the history.

jdolan commented 8 years ago

Hi all,

This was done last night. We shaved 1.2GB off of the data repository, which ain't bad. To update your local copies, do a git pull. Git will probably then claim that your working copies are 521 commits ahead of origin/master. Please don't push in this state. To align your working copies with this repository, perform git reset --hard origin/master. If you have the command line git installed, that's easily done. If you have a GUI client that doesn't allow to do this easily, then (unfortunately) you may wish to just nuke your working copies and re-clone this repository.

Please reply here if you run into problems. Thanks!