tech-repository archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Proposal for more reliable git mirroring



I realize not everyone is onboard with the idea of moving towards using git; however, there's a substantial number of people who would benefit from having a reliable[1] mirror of the various NetBSD code bases[2] using git.

In order to create repos which maintain longer-term value, I propose the following: editing the CVS post-commit hook on cvs.netbsd.org to create a git commit for every CVS commit which comes in for one of the supported code bases, and commit it to an existing git repo (which would be created based on joerg's repo-conversion). This would address several concerns:

- the repo would always be up-to-date, because every time a CVS commit happens, a corresponding git commit happens
 - the SHA-1 of old commits would never change
- interested parties would gain more experience working with the NetBSD code using git. This includes, "what do we do in cases where we would normally use 'cvs admin' to fix the repo?"

I have not yet started on writing the code to implement this. We currently use a version of log_accum.pl heavily customized over years for CVS hooks, so implementation would involve creating some perl code. If anyone has existing code which could be repurposed to implement part/all of this, please contact me OOB. :)

Does anyone see any fundamental flaws in what I'm proposing here? My initial thought is that the git commits would be done on cvs.netbsd.org, but I would like to code this in such a way (patch creation, or some such) that they could happen on a different host, so there's a fallback in case too much additional load on nbcvs is created by this.

Thoughts?

+j


[1] there is a git mirror of src and pkgsrc which is kept reasonably up-to-date by joerg, but because it is converted anew every time, whenever someone uses "cvs admin", they potentially change the SHA-1 of old commits - which makes the git mirror nearly useless (at least for some uses).

[2] I'm proposing src, xsrc, pkgsrc and othersrc at this time


Home | Main Index | Thread Index | Old Index