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

Reply via email to