[Gambas-devel] Gambas to Git(Lab)

Adrien Prokopowicz adrien.prokopowicz at ...176...
Fri Aug 11 23:24:54 CEST 2017


Le Sat, 22 Jul 2017 20:35:17 +0200, Adrien Prokopowicz  
<adrien.prokopowicz at ...176...> a écrit:

> Hello everyone,
>
> In an effort to both switch the Gambas project versioning to Git, and to  
> move away
>  from Sourceforge, I imported the whole repository to GitLab. You can  
> see it here :
>
> https://gitlab.com/prokopyl/gambas
>
>  From what I see, all history, commits, tags and branches have been  
> successfully
> imported, and authors have been correctly mapped from their Sourceforge  
> usernames to
> Git full names and emails (the SVN/Git mapping file is attached).
>
> I know there has been some GitHub vs. GitLab debate on the mailing list  
> somewhere,
> but it didn't seem to have produced anything, so I just picked one.
> Since nothing I have done is GitLab-specific (it's just a plain Git  
> repository for now),
> we can easily use GitHub too.
> I personally picked GitLab simply because we can easily retrieve data  
> (issues, wiki and such)
>  from a generated archive if we ever want to switch, and their  
> integrated CI solution
> seems less restricted than Travis (but I didn't go that far with it).
>
> For now, all I did was cloning the entire SVN repo on the server that  
> hosts the
> playground (for its symmetric 100Mbit/s connection :) ), then using  
> git-svn to
> create a git repo from the clone, and then push it all to GitLab.
>
> I'm currently trying to set up Continuous Integration to generate Ubuntu  
> packages, and
> maybe for more distributions later (RHEL/CentOS, Debian, ArchLinux, …).
>
> I know we won't switch to Git right now, I'm at least waiting for 3.10  
> to be released
> so everything can calm down. :)
> However I would like your feedback : what do you think is needed to make  
> Gambas
> successfully switch to Git ? (Whichever host we end up choosing).
>
> Regards,

So I just took some time to clean up the repository, and I implemented the
workflow we discussed in previous messages, with one little exception : the
master branch is the development branch, and I created a "stable" branch,  
which
currently contains the newly-released 3.10.0 version.
This way, the master branch works exactly like the old "trunk", which  
makes the
migration easier (both form a svn-git and a developer standpoint).

I also removed all the old version branches[0] and turned them into actual  
tags
instead[1].

I also transferred the repo from my personal account to a new group :
https://gitlab.com/gambas-basic/gambas

I invited Benoît as an owner, and Laurent and Fabien as developers.
If other regular contributors / component maintainers want to join,
just ask me here. :-)

I would like the group to be simply called "gambas", but for that Benoît  
needs
to change his username on GitLab first (right now it conflicts :-) ).

Now that the repo is organized and usable, the only thing left to do to  
fully
switch to Git(Lab) is to write the contributing guides and update the wiki,
so that everybody can configure their clients and start working again.

As a side note, it is amusing that even though the repo wasn't fully  
migrated,
there is already enough work done in it to make examples for the git  
workflow :

- Last week, I made some small changes to how the WITH keyword works (see  
bug
   #1131 on the tracker[2]), but since these changes affect the compiler  
and the
   generated Gambas bytecode, I wanted to have Benoît review it, so I made
   a new temporary branch (from master), and created a Merge Request[3] !
- I also created another experimental branch[4] to try and build Gambas  
with
   CMake instead. This is an old project of mine that was never completed,  
but
   I decided to push it on the repo for experience sharing, because :
- Laurent Carlier wants to try and use Meson for building Gambas,
   but since he had no access to the repository at all, he forked it to a
   personal repository[5].
   This way, when he will be done he can create a Merge Request to merge it
   back into the main repository, which is a great way for other people to
   contribute to Gambas. :-)

You can also see all the branch shenanigans on the fancy graph here :
https://gitlab.com/gambas-basic/gambas/network/master

[0] https://gitlab.com/gambas-basic/gambas/branches
[1] https://gitlab.com/gambas-basic/gambas/tags
[2] http://gambaswiki.org/bugtracker/edit?object=BUG.1131&from=L21haW4-
[3] https://gitlab.com/gambas-basic/gambas/merge_requests/1
[4] https://gitlab.com/gambas-basic/gambas/tree/cmake
[5] https://gitlab.com/lordheavy/gambas/commits/meson-test
-- 
Adrien Prokopowicz




More information about the Devel mailing list