Hi guys, I proposed this awhile back, and got shot down. At the time, the arguments for using SVN for portage storage were pretty shallow, and someone was able to easily shoot them down. I believe I have come up with better reasoning for using SVN. Someone may still shoot them down, but hey, it's worth a try.
PROBLEM 1 Let's say openldap had a problem. So, we decide to mask the latest version of openldap, in an effort to roll back to the version that was working. Well, we find out that openldap still does not work. So, we finally determine that it is library W. So, now we mask library W, in an attempt to roll back to the version that was working. Oh no, now we find out that library W is used by 20 other packages, that require the latest version of library W in order to work. So, now we have to mask library W, and 20 packages in order to get our openldap system functional, assuming you cared about the 20 other broken packages, which may break other packages, which may break yet other packages. Wouldn't it be nice to just go "emerge --revert-portage", which goes back to the last exported copy of the portage, that you had from subversion? Boy, would that ever be convenient. It would be simple enough to store a local history of portage tags that the user was using in the past. PROBLEM 2 Have you ever synced the portage, only to find out there's a broken package simply because you synced in the middle of a mirror being updated? Well, subversion operations are entirely atomic, meaning no need to worry about such silly things. Also, copies (tags) could be created for every single day, and special ones for milestones. PROBLEM 3 Don't sync more than once a day, or you may be temporarily banned? Well, with SVN being tagged only once a day, there would be no need to worry about this, seeing that POTENTIAL ISSUES Now, I'm not entirely sure of the performance implications of subversion for this purpose. So, that would definitely have to either be tested, or someone would have to talk with the subversion folks to know if it would be a problem for thousands of users to access subversion in readonly mode. It would certainly be annoying for a developer to go "svn commit", and have to wait for half an hour because everyone else is updating their local copies. But, that could be solved by mirrors only getting updated once every day, at 12 midnight. How does one get SVN copied over to mirrors in an atomic way, or does the SVN location just get shut down during the mirror update? Any thoughts? -- gentoo-user@gentoo.org mailing list