[Amforth] SVN to GIT [Re: draft: roadmap for AmForth]
Hi! > Point 5 is huge and needs to be broken into smaller steps. > > I would appreciate any response, and if you could > include, which target you are using, all the better. We (http://www.project-open.com/) are in the process of moving from CVS to GIT for the next ]project-open[ V5.1 release. The process is the same for SVN, the tool is actually called svn2git... We decided to host our repos on a private GitLab instance because: - GitLab allows us to setup permissions for "packages" (see below). That's important for us, because customer specific packages contain code that is not public. - GitLab is open source. - The GitLab founders are credible with their open source philosophy and the business model seems viable. We also publish on GitHub for PR reasons. It's free... Previously, our code was kept in a CVS repository. We installed GitLab in a VM and moved the CVS repository to the same CentOS VM that is running GitLab. Every night we now run "cvs2git" which is originally from http://cvs2svn.tigris.org/cvs2svn.html but now available for example here: https://github.com/mhagger/cvs2svn We have configured cvs2git to push the CVS changes both to GitHub and our private GitLab repos. This has worked without problems for quite some time, many repositories (our product consists of ~200 "packages" which are represented by separate repos) and very large repositories (we've got ~4 million LoC in total). Our next ]po[ V5.1 release will be based on GIT. We like that we can work with GIT on the "customer" side, while still using CVS as the upstream/master repository for some time. CVS is still referenced by many integration links, so we can't just break this. I believe the AmForth community should take several decisions: - Gradual or "big bang" migration? Should SVN and GIT run in parallel for some time, or is it OK to have a single big bang migration? Big bang is a lot easier... - Do you want to completely ignore GitHub? GitHub is the go-to place for open source software. Google does heavy indexing there. If you want AmForth to reach a large community, then you have to publish there. However, it doesn't need to the the primary repo... > convert the releases/N.M directories This seems to be quite difficult to me. Maybe just keep these directories during the initial migration and delete them in the following releases? Keep up the good work! Cheers! Frank On 2/11/20 20:36, Erich Wälde wrote: Dear AmForthers, some time ago (2020-08-02), Mark Roth suggested to come up with a "road map". Now while mapping unknown territory is a challenge of sorts, it might be not that difficult in this case. This my personal point of view, it might change anytime without prior notice. 1. Accumulate all commits since Jan 2019 and call it *release 6.9* That I have done. :) 2. Document the exact steps that were needed to create "a release". Well yes, I have these lines, but not in shape and maybe not complete. It should be added to the repository nonetheless. 3. Add testing scripts --- I have a set of scripts for that, but I have not run this stuff yet. However, in my opinion adding a working test suite is far more important at the moment, than anything else. This includes preparing some hardware with 4 relevant target boards in order to simplify the process. 4. Call this *release 7.0* 5. Convert and Move Repository Currently it looks like I would have to convert the svn repository to a git repository with a tool like svn2git. This is a process I would like to avoid, so if someone knows how to convert the repository "server side", or even how to export the complete svn repository on sourceforge into a big file ... all hints are kindly appreciated. I would then move to sourcehut.org. Why? - I do have an account there already - sourcehut offers accounts for a very reasonable amount of money. - sourchut works without javascript! Can you believe this? No? Try it. For me this is a major step in the correct direction. [1] - I would order and pay for a new project account - I would like to add at least two collaborators with full access from day one. Volunteers? This is going to include more things than just converting the repository: - possibly convert the releases/N.M directories into branches - create a new space for the webpage - automate generation of the webpage, serverside if possible - document how to locally generate the documentation --- well, the stuff you have to install before "cd doc; make all". - look into the use of javascript and possible ways to reduce that, should it be desirable - create an archive for (some of) the old tarballs - archive and transfer the mailing list content - create a new mailing list - automate the generation of a release - document the release process - sta
Re: [Amforth] SVN to GIT [Re: draft: roadmap for AmForth]
Hi all, I think I introduced myself already, but that was years ago. I first played around with forth in the 80s, but never had a chance to use it properly for a real project. Maybe this changes now, because due to corona I am working part-time now.. On the svn2git topic: I gave it a try and started a svn2git conversion on my machine with the command: svn2git https://svn.code.sf.net/p/amforth/code --branches releases This takes about 10 minutes, depending on host power and network connection. This converts the trunk to themaster branch and converts all the releases tree to branches. The result looks quite well to me. I have uploaded it to a private server, you can have a look at: fo...@hotzenplotz.schoen.or.at:amforth.git The password is the name of this project in uppercase, a dot, and 0x7d6 in decimal. If you like, I could also upload it to gitlab or github. Kind regards, Dieter Am Di., Nov. 3, 2020 10:34 schrieb fra...@fraber.de: Hi! Point 5 is huge and needs to be broken into smaller steps. I would appreciate any response, and if you could include, which target you are using, all the better. We (http://www.project-open.com/ (http://www.project-open.com/)) are in the process of moving from CVS to GIT for the next ]project-open[ V5.1 release. The process is the same for SVN, the tool is actually called svn2git... We decided to host our repos on a private GitLab instance because: - GitLab allows us to setup permissions for "packages" (see below). That's important for us, because customer specific packages contain code that is not public. - GitLab is open source. - The GitLab founders are credible with their open source philosophy and the business model seems viable. We also publish on GitHub for PR reasons. It's free... Previously, our code was kept in a CVS repository. We installed GitLab in a VM and moved the CVS repository to the same CentOS VM that is running GitLab. Every night we now run "cvs2git" which is originally from http://cvs2svn.tigris.org/cvs2svn.html (http://cvs2svn.tigris.org/cvs2svn.html) but now available for example here: https://github.com/mhagger/cvs2svn (https://github.com/mhagger/cvs2svn) We have configured cvs2git to push the CVS changes both to GitHub and our private GitLab repos. This has worked without problems for quite some time, many repositories (our product consists of ~200 "packages" which are represented by separate repos) and very large repositories (we've got ~4 million LoC in total). Our next ]po[ V5.1 release will be based on GIT. We like that we can work with GIT on the "customer" side, while still using CVS as the upstream/master repository for some time. CVS is still referenced by many integration links, so we can't just break this. I believe the AmForth community should take several decisions: - Gradual or "big bang" migration? Should SVN and GIT run in parallel for some time, or is it OK to have a single big bang migration? Big bang is a lot easier... - Do you want to completely ignore GitHub? GitHub is the go-to place for open source software. Google does heavy indexing there. If you want AmForth to reach a large community, then you have to publish there. However, it doesn't need to the the primary repo... convert the releases/N.M directories This seems to be quite difficult to me. Maybe just keep these directories during the initial migration and delete them in the following releases? Keep up the good work! Cheers! Frank On 2/11/20 20:36, Erich Wälde wrote: Dear AmForthers, some time ago (2020-08-02), Mark Roth suggested to come up with a "road map". Now while mapping unknown territory is a challenge of sorts, it might be not that difficult in this case. This my personal point of view, it might change anytime without prior notice. 1. Accumulate all commits since Jan 2019 and call it *release 6.9* That I have done. :) 2. Document the exact steps that were needed to create "a release". Well yes, I have these lines, but not in shape and maybe not complete. It should be added to the repository nonetheless. 3. Add testing scripts --- I have a set of scripts for that, but I have not run this stuff yet. However, in my opinion adding a working test suite is far more important at the moment, than anything else. This includes preparing some hardware with 4 relevant target boards in order to simplify the process. 4. Call this *release 7.0* 5. Convert and Move Repository Currently it looks like I would have to convert the svn repository to a git repository with a tool like svn2git. This is a process I would like to avoid, so if someone knows how to convert the repository "server side", or even how to export the complete svn repository on sourceforge into a big file ... all hints are kindly appreciated. I would then move to sourcehut.org. Why? - I do have an account there already - sourcehut offers accounts for a very reasonable amount of money. - sourchut works without javascript! Can you believe this? No? Try it.
Re: [Amforth] SVN to GIT [Re: draft: roadmap for AmForth]
Some good points here: > On Nov 3, 2020, at 4:33 AM, fra...@fraber.de wrote: > > - Gradual or "big bang" migration? > Should SVN and GIT run in parallel for some time, or is > it OK to have a single big bang migration? Big bang is > a lot easier… > Big Bang. We are too small and under staffed (current Army of Erich!) to maintain stuff in parallel. Given the opportunity we can all grab working copies before the transition. A good thought here Frank. > - Do you want to completely ignore GitHub? > GitHub is the go-to place for open source software. > Google does heavy indexing there. If you want AmForth > to reach a large community, then you have to publish > there. However, it doesn't need to the the primary repo... Another wise comment Frank. There is something eventually even I could maintain for the community! Keeping things as open to the main stream opensource crowd is a good thought even if the day to day is managed elsewhere and when. Ian ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel