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
     - start using the bugtracker (preferably with connection to the
       mailing list)
     - test the branch-edit-pull.request-merge workflow
     - possibly convert "Opinion" into a prober blog?
     - setup a redirection notice on sourceforge, close everything else
       down.
     - possibly dissolve amforth/community into a ./contrib/
       subdirectory, test the stuff again and document it better
       https://sourceforge.net/p/amforth/community/HEAD/tree/

     And this list is not complete.

6. Call this *release 8.0*

7. Remove arm msp430 riscv for the sake of simplicity -- unless
     someone speaks up to offer help.

     Carsten has offered support for arm and riscv --- Thank you!

     msp430 anyone?

8. Fix and automate the creation of the reference cards

     - include ALL available WORDs (not only the ones in a particular
       build)
     - include the exact file path(s), where WORD is defined
     - possibly add a Forth equivalent (.asm WORDS)
     - possibly a pointer to a worked example

     In order to achieve that I would rework the existing perl script
     AND add any missing file headers, possibly in a new/enhanced
     format.


If we get this far, then imho we have /advanced considerably/.




Does this sound like a worthwile plan?

I'm sure there are other ideas and suggestions.

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.


Still reading?
Thank you for your precious time.

Happy forthing,
Erich



[1] I'm using torbrowser most of the time. I'm using firefox to
work at amforth.sourceforge.net. However, NoScript or uMatrix do
an excellent job, but break the sf.net webpage routinely. I do
not see all the buttons and what not unless I really switch off
NoScript. This is not, what I prefer.



_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to