<div dir="ltr"><div style="font-size:12.8000001907349px">Hi everybody,</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">As a follow-up to the changes that I proposed for <a href="http://common-lisp.net">common-lisp.net</a> to be implemented over the course of 2015 [<a href="https://mailman.common-lisp.net/pipermail/clo-devel/2015-February/000161.html">https://mailman.common-lisp.net/pipermail/clo-devel/2015-February/000161.html</a>], I've been looking at the more detailed steps to be executed to implement the proposal. Remember that the changes are targetting a more modern, but also a simplified (for users *and* admins) system. It's an investment, but one in simpler maintenance while improving user experience. Currently, I'm thinking that the steps (no timing yet) should be:</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">0. Install a Code Commenting plugin on Trac to make it match the GitLab code commenting capabilities</div><div style="font-size:12.8000001907349px">1. Finish my experiments regarding the GitLab setup / installation</div><div style="font-size:12.8000001907349px">2. Install GitLab on <a href="http://common-lisp.net/" target="_blank">common-lisp.net</a> (under the <a href="http://gitlab.common-lisp.net/" target="_blank">gitlab.common-lisp.net</a> domain? or should we prefer <a href="http://git.common-lisp.net/" target="_blank">git.common-lisp.net</a>?)</div><div style="font-size:12.8000001907349px">3. Run the migration to create all users and groups in GitLab</div><div style="font-size:12.8000001907349px">  --> do we want all project which we know *don't* use Git to be created in GitLab too?</div><div style="font-size:12.8000001907349px">4. Import the CMUCL git repositories (using the script to be used for all projects)</div><div style="font-size:12.8000001907349px">5. Run a trial period of 2 months with Raymond Toy and CMUCL to iron out any unnoticed issues</div><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">6. Import the user's git repositories</span><br></div><div style="font-size:12.8000001907349px">7. Import all other projects with Git repositories</div><div style="font-size:12.8000001907349px">8. Turn off gitweb --> introduce rewrite rules to point to gitlab</div><div style="font-size:12.8000001907349px">9. Turn off git plugin for Trac --> introduce rewrite rules to point to gitlab</div><div style="font-size:12.8000001907349px">10. Turn off git-daemon (fully depend on https checkouts)</div><div style="font-size:12.8000001907349px">11. Convert all project darcs repositories to git</div><div style="font-size:12.8000001907349px">  --> Notify all darcs project owners before we do about a planning/timing</div><div style="font-size:12.8000001907349px">12. Import the converted darcs repositories</div><div style="font-size:12.8000001907349px">13. Convert users' darcs repositories</div><div style="font-size:12.8000001907349px">  --> Notify all darcs users before we do about a planning/timing</div><div style="font-size:12.8000001907349px">14. Import converted users' darcs repositories</div><div style="font-size:12.8000001907349px">15. Turn off darcsweb webbrowsing --> introduce rewrite rules to point to gitlab</div><div style="font-size:12.8000001907349px">16. Contact CVS repository owners to ask if they want to migrate to Subversion or Git</div><div style="font-size:12.8000001907349px">  --> Which do we default to in case of no answer?</div><div style="font-size:12.8000001907349px">17. Convert CVS repositories to Subversion (where requested / defaulted)</div><div style="font-size:12.8000001907349px">18. Convert CVS repositories to Git (where requested / defaulted)</div><div style="font-size:12.8000001907349px">19. Import git-converted CVS repositories</div><div style="font-size:12.8000001907349px">20. Turn off ViewVC (Subversion & CVS) web-browsing --> introduce rewrite rules to point to gitlab/Trac</div><div style="font-size:12.8000001907349px">21. Turn off cvsd and related cron jobs</div><div style="font-size:12.8000001907349px"><div>22. Turn off svnserve (fully depend on https checkouts)</div><div><br></div><div>"Import git repository" here means "move into gitlab space", which means the user will *only* be able to access the repository through GitLab's access methods (HTTPS and SSH(git user)) . Before we go to that step, we'll probably need to announce this step to all users who have git repositories in their home directories. (So they can object to the move -- if they do, the repository won't be moved, but we *will* scrap gitweb and git-daemon...)</div><div><br></div><div>Every step which says "Import" or "Convert" entails the creation (and testing) of a scripted procedure, as far as I'm concerned. Some steps will necessarily be executed in sequence. However some parts may be executed in parallel (e.g. contacting users about preferences and developing the scripted procedure). I'm hoping that when I sign up for this task, others pick up the rest of the work that relates to cl-net, such as fixing the mailing list archives or getting OAuth working for both Trac and GitLab (assuming we want that; do we?).</div><div><br></div><div>The order above is explicitly selected to benefit as soon as possible from having GitLab up and running, with namespaces reserved (hence the full group and user creation right at the start), but possibly unused at first (due to later imports of projects and repositories).</div><div>I'm not completely sure about steps 10 and 22; if we can make step 10 work, I'm inclined to research if we can keep step 22 as well.</div><div><br></div><div>So, judging by the number of steps to be executed, this may take all year, with one or two steps every month. I don't have a problem with that, though thought it'd be good to set expectations.</div><div><br></div><div>So, apart from the fact that it looks like an enormous amount of work, what are your comments? (Note that I see this as a consequence of years and years maintenance backlog; so, it's not something that I expect to be solved in a day or two.)</div></div><div><br></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Bye,<div><br></div><div>Erik.</div><div><br></div><div><a href="http://efficito.com/" target="_blank">http://efficito.com</a> -- Hosted accounting and ERP.</div><div>Robust and Flexible. No vendor lock-in.</div></div></div>
</div>