Author Topic: Will C::B ever move to Git w/ Github or Gitlab?  (Read 18128 times)

Offline Lazauya

  • Multiple posting newcomer
  • *
  • Posts: 12
Will C::B ever move to Git w/ Github or Gitlab?
« on: April 30, 2021, 12:11:12 am »
Title says it all. I'd like to start contributing to the project, and I think the vast majority of people use Git now, including myself. I think switching to Github/Gitlab would increase visibility for the project and would also help bring in new contributors as those services really do make contributing to open source projects easier

I've seen that this has been suggested in the past, so I'm curious why it hasn't been done; I haven't seen a real reason in any of the public discussion on the topic.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #1 on: April 30, 2021, 04:33:29 am »
For now, I think the best that can be expected is an official git mirror of the current SVN repo.

Tim S.
 
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #2 on: April 30, 2021, 04:39:01 am »
Title says it all. I'd like to start contributing to the project, and I think the vast majority of people use Git now, including myself. I think switching to Github/Gitlab would increase visibility for the project and would also help bring in new contributors as those services really do make contributing to open source projects easier

I've seen that this has been suggested in the past, so I'm curious why it hasn't been done; I haven't seen a real reason in any of the public discussion on the topic.

For me, I have no svn client in my PC for several years. Though I use git svn dcommit to push to our svn repo.
I also suggest switch to git from svn.

But there are some issues, I think one big issue is that the svn branch could be lost when we switch to git, because some svn branches get renamed from time to time. :(

I don't know other dev's option.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #3 on: April 30, 2021, 09:40:43 am »
Title says it all. I'd like to start contributing to the project, and I think the vast majority of people use Git now, including myself. I think switching to Github/Gitlab would increase visibility for the project and would also help bring in new contributors as those services really do make contributing to open source projects easier

I've seen that this has been suggested in the past, so I'm curious why it hasn't been done; I haven't seen a real reason in any of the public discussion on the topic.
There you go - https://github.com/obfuscated/codeblocks_sf we've technically switched, because you can make pull requests against this repo if you like. You won't get github contribution rewards because "git svn dcommit" would rewrite your commits when/if I do accept your contribution, but is this really important?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline WinterMute

  • Multiple posting newcomer
  • *
  • Posts: 25
    • devkitPro
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #4 on: April 30, 2021, 02:40:55 pm »
There you go - https://github.com/obfuscated/codeblocks_sf we've technically switched, because you can make pull requests against this repo if you like. You won't get github contribution rewards because "git svn dcommit" would rewrite your commits when/if I do accept your contribution, but is this really important?

Why not just switch the development there and use normal git workflow instead of going back to svn at all?

There's also the CI infrastructure on there that would allow builds to be released for basically every commit if you wanted.
« Last Edit: April 30, 2021, 02:46:57 pm by WinterMute »

Offline Lazauya

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #5 on: April 30, 2021, 05:45:44 pm »
Why not just switch the development there and use normal git workflow instead of going back to svn at all?

There's also the CI infrastructure on there that would allow builds to be released for basically every commit if you wanted.

This. Not to mention a really simple and convenient issue tracking interface and the ability to have a native wiki. (wiki.codeblocks.org has been down for me since yesterday).

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #6 on: April 30, 2021, 08:02:28 pm »
Why not just switch the development there and use normal git workflow instead of going back to svn at all?
The svn workflow doesn't matter for outside people. It causes headaches for me, because I have to do some extra steps, but outside people contributing could use only git and I'm fine to apply git patches or take pull-requests on github.

There's also the CI infrastructure on there that would allow builds to be released for basically every commit if you wanted.
Nope, this won't happen if we still use cb to build cb. I've tried to setup the windows alternative to travis and it failed miserably and I've abondon it.
Also no one is stopping me to setup this even if the project is on source-forge. (I already have travis-ci builds for ubuntu)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Lazauya

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #7 on: May 02, 2021, 02:52:32 am »
Nope, this won't happen if we still use cb to build cb. I've tried to setup the windows alternative to travis and it failed miserably and I've abondon it.
Also no one is stopping me to setup this even if the project is on source-forge. (I already have travis-ci builds for ubuntu)

So is this the thing stopping migration? Or are there other reasons too?

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #8 on: May 02, 2021, 04:06:59 am »
Or are there other reasons too?

Right now, the SVN reversion number is used as the internal CB version number.

That is a blocking issue; that may be simple or hard to fix.

The number of core CB developers who do not want to switch to Git is likely the main stopping issue.

Since, I am not even a CB developer I have no idea what reasons are the ones that need fixed before moving to Git.

I did read that the last key stopping issue on the GCC project was good software to maintain the SVN history during the move to Git.

With GCC, there was unofficial mirrors and later a more official unofficial single mirror for the others to use as a base.

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #9 on: May 02, 2021, 08:45:02 am »
1. Right now, the SVN reversion number is used as the internal CB version number.
That is a blocking issue; that may be simple or hard to fix.

2. The number of core CB developers who do not want to switch to Git is likely the main stopping issue.

Since, I am not even a CB developer I have no idea what reasons are the ones that need fixed before moving to Git.

3. I did read that the last key stopping issue on the GCC project was good software to maintain the SVN history during the move to Git.

With GCC, there was unofficial mirrors and later a more official unofficial single mirror for the others to use as a base.
1. This one is not an issue. We can use the commit hash, we can use a date, we could use monotonically increasing git-tags.
2. This was the case 5 years ago. I've not checked what is the status in 2021, but I don't care.
3. We have full history on master/trunk already. Not an issue.

stahta01: Keep in mind that the github "trolls" don't request just a switch to git, it is "you're on github or I won't contribute to your project" mantra which I don't understand.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #10 on: May 02, 2021, 08:52:52 am »
So is this the thing stopping migration? Or are there other reasons too?
Nope. I've listed the main issue - the benefit for us doesn't pay for the cost of transition.
I prefer to work on bugs/features instead of being bothered with working on this.
If you want to contribute you'll contribute and there is a way to do it if you want to use the github tools.

Do you require that your name/email is stored as the commit author? If you inspect our svn/git history you'll see that we give credit to contributors in the commit message.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline WinterMute

  • Multiple posting newcomer
  • *
  • Posts: 25
    • devkitPro
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #11 on: May 02, 2021, 01:36:28 pm »
So is this the thing stopping migration? Or are there other reasons too?
Nope. I've listed the main issue - the benefit for us doesn't pay for the cost of transition.

What's the cost of transition? Can anything be done to ease that cost or is this just another way to say that you don't see the benefit & won't be switching to git any time soon?


Quote
Do you require that your name/email is stored as the commit author? If you inspect our svn/git history you'll see that we give credit to contributors in the commit message.

Thing about github though is that some employers like to look at a candidate's github commit history and upstream contributions. If you just give credit in the commit message then they won't show up in the contributor list.

stahta01: Keep in mind that the github "trolls" don't request just a switch to git, it is "you're on github or I won't contribute to your project" mantra which I don't understand.

Speaking for myself personally I have to say I've got used to git and contributing patches in particular ways using the tools git provides. If someone is insisting on using subversion for source control then I feel like I'll be making their life harder than it needs to be by using a git related workflow to contribute so I probably won't bother. I do think git is orders of magnitude better than subversion but I'm not going to argue about it I'm just not going back to subversion (or indeed CVS and especially not SourceSafe).


Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #12 on: May 02, 2021, 07:41:01 pm »
What's the cost of transition? Can anything be done to ease that cost or is this just another way to say that you don't see the benefit & won't be switching to git any time soon?
I don't know. Probably two-three weeks of developer time would be required. My time I can spend on the project is limited and I prefer to do actual improvements to the software.

Thing about github though is that some employers like to look at a candidate's github commit history and upstream contributions. If you just give credit in the commit message then they won't show up in the contributor list.
You can list the hashes in a repo in your resume/cv if this is the only public thing you've done and you're proud of it and thinks it is important.

Speaking for myself personally I have to say I've got used to git and contributing patches in particular ways using the tools git provides. If someone is insisting on using subversion for source control then I feel like I'll be making their life harder than it needs to be by using a git related workflow to contribute so I probably won't bother. I do think git is orders of magnitude better than subversion but I'm not going to argue about it I'm just not going back to subversion (or indeed CVS and especially not SourceSafe).
I only use svn to checkout the repo in order to make ubuntu night builds. I use git exclusively for everything else, I'm fine if you post git patches or pull requests. So C::B is not requesting svn patches only. But the github trolls insist that the whole project needs to be on github otherwise they won't contribute.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Lazauya

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #13 on: May 03, 2021, 06:31:35 pm »
I don't know. Probably two-three weeks of developer time would be required. My time I can spend on the project is limited and I prefer to do actual improvements to the software.

So are there any developers that would WANT to do it? I definitely would be down to set it up myself. If I could get it set up with CI and transfer the repository would that work?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Will C::B ever move to Git w/ Github or Gitlab?
« Reply #14 on: May 03, 2021, 07:09:01 pm »
Set up what? You don't have full access to the sf.net project, so you probably cannot dump and import the tickets. You'll have to do some kind of user remapping which you cannot do without talking to devs and other users which have posted tickets.

I repeat: The repository is already on github!!! It could be found here https://github.com/obfuscated/codeblocks_sf . You can post patches or pull requests against it!
I repeat: I use git to develop codeblocks. I'm doing this for something like the last 8-9 years.

Why do you want the whole project to be on github? What would be the benefit for you as an external to C::B developer if the whole project is on github (sans the requirement to have a forum/sf.net login)?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]