Hello, everyone. I would like to announce that our little rsync->git band-aid mirror [1] is doing fine and we're actively working towards improving Gentoo development experience.
First of all, we have enabled tree-wide repoman scans using travis-ci [2]. Besides providing regularly updated repository state report, it can be used to scan Pull Requests for tree-wide damage :). Asides from the benefit to external contributors, Gentoo developers can use it to avoid having to run repoman locally. For example, if you are doing a big old version cleanup, do it in git and submit a Pull Request, and travis will figure out if you don't break any revdeps. Secondly, I have committed app-portage/lightweight-cvs-toolkit for your committing pleasure. It consists of three tools: a. lcvs-init -- that can be used to quickly create partial CVS checkout, having only pure categories checked out. The repository is set to use 'gentoo' as master, so you can easily commit into CVS while keeping the dependencies, eclasses and profiles synced to your regular rsync/git checkout (with working cache!). The idea is explained more thoroughly on the wiki [3] and in the script output. b. lcvs-merge-pr -- a convenient tool to merge github PR (or any git patch) into your CVS checkout. It 'cvs up -dP' directories as necessary, git-applies the patch omitting ChangeLogs and Manifests, calls cvs add/cvs rm as appropriate. All you have to do is update the ChangeLog and commit :). More about merging on the wiki [4]. c. lcvs-revert -- a convenient tool to revert commits. Pretty much the idea is: someone breaks something e.g. by removing ebuilds, and you want to revert that. Instead of playing all the fancy 'cvs add' magic, you just find the matching git commit and lcvs-revert it. Using logic similar to lcvs-merge-pr, it fetches the diff and reverse-applies it. Then you check if everything went fine, ChangeLog and commit :). More info on the wiki [5] as well. Thanks to all the people that helped me get this running, and have fun :). [1]:https://github.com/gentoo/gentoo-portage-rsync-mirror [2]:https://travis-ci.org/gentoo/gentoo-portage-rsync-mirror [3]:https://wiki.gentoo.org/wiki/Lightweight_CVS_Checkout [4]:https://wiki.gentoo.org/wiki/Project:Git_mirror/Merging_Pull_Requests [5]:https://wiki.gentoo.org/wiki/Project:Git_mirror/Reverting_Gentoo_commits -- Best regards, Michał Górny
pgpKlWKnOcn7l.pgp
Description: OpenPGP digital signature
