* Elijah Newren <newren@xxxxxxxxx> wrote: Hi folks, as I'm doing many backups via git (eg. hourly sql dumps), I'd like to cut off the history (eg. at the n'th past commit) and reclaim the space - both on local and remote side (even differently). So let me propose another approach: fake-root's Fake-roots are special refs that declare certain commit objects as root-commits). Each time git walks down the history, it checks whether the current commit is an fake-root and so treats it as having no ancestor. That should be generic enough let everything else (commit, push, gc, etc) work as usual. The only tricky point is when to update remote fake-roots: the remote should not cut off my local repo (unless explicitly asked). So remote fake-roots should only be imported if the local/receiving side has not the dropped commits anymore. hmm, maybe it's even more wise to get one step back in history and introduce fake-empty's (which also have no parents) instead of fake-root's ? A fake-empty is imported as soon as the original object is missing. Of course, it's important that this feature has to be explicitly enabled (maybe even on per-remote basis) to prevent security flaws. cu -- ---------------------------------------------------------------------- Enrico Weigelt, metux IT service -- http://www.metux.de/ phone: +49 36207 519931 email: weigelt@xxxxxxxx mobile: +49 151 27565287 icq: 210169427 skype: nekrad666 ---------------------------------------------------------------------- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme ---------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html