Jump to content
Sign in to follow this  
balduin

Why not moving to Git?

Recommended Posts

I am new here and the "issue" with the repository is one of the first things that came up to my mind when I read the getting started guide. I think one of the reasons for using svn pointed out in this discussion was that git has a steep learning curve. And this would hinder new users in participating. However, it might also give the impression that the project is somehwat outdated (which of course it is not). So in my opinion the project should be as attractive as possible to gain the attention of new and good developers which includes going on with newer trends like github or other new alternatives.

Share this post


Link to post
Share on other sites

One of the other reasons is the amount of binary data we have ie: all the textures are .png so much that github would charge us to store it read their policy about that carefully.And with svn we can and do archive our art source files as well.

Enjoy the Choice :)  

  • Thanks 1

Share this post


Link to post
Share on other sites
46 minutes ago, TheCake91 said:

I am new here and the "issue" with the repository is one of the first things that came up to my mind when I read the getting started guide. I think one of the reasons for using svn pointed out in this discussion was that git has a steep learning curve. And this would hinder new users in participating. However, it might also give the impression that the project is somehwat outdated (which of course it is not). So in my opinion the project should be as attractive as possible to gain the attention of new and good developers which includes going on with newer trends like github or other new alternatives.

You can stil use github.com 's mirror.  

Share this post


Link to post
Share on other sites

Thats true and I agree with the inputs. I think maybe a link to this page with a short summary in the build instructions page under "Acquiring the code" would be beneficial. Something like "Why not Github" and a list with reasons like:

  • It is much easier to get started with svn
  • The repository contains a vast amount of assets and other ressources that can not easily be hostest on github.
  • We would like to keep full control of our repository.
  • It would take a lot of manpower to migrate to another repository (even a self hosted git repository)
Edited by TheCake91

Share this post


Link to post
Share on other sites

You can self host with gitlab, no hassle. The only advantage (for me) to use svn over a distributed version control is the partial cloning.

  • Like 1

Share this post


Link to post
Share on other sites
Guest

Can do with git as well. It became much more straightforward recently IIRC.

I guess the real deal breaker is the art stuff. Although, it would be awesome to move the code to git. Git maybe harder, but it’s more powerful as well.

Edited by Guest

Share this post


Link to post
Share on other sites

For nearly everything it does not matter whether you use svn or one of our git mirrors. So just choose what you prefer. (The only thing I know, where svn is obligatory, is committing, but that is only needed for staffs)

  • Thanks 1

Share this post


Link to post
Share on other sites
On 10/19/2016 at 11:12 PM, jonbaer said:

Good point about GitHub ... a friend recently moved a rather large project from Trac to GitLab [..]

 

On 6/8/2018 at 5:16 AM, Lion.Kanzen said:

Gitlab ?:D

 

On 10/15/2018 at 8:31 AM, balduin said:

Or Gogs

Note that 0AD now uses Phabricator (also a modern open-source project with repository viewers and pull request functionality). It is installed at https://code.wildfiregames.com/.  For an example change request with discussion and continuous integration, see https://code.wildfiregames.com/D157

Phabricator also supports Git, and also has issue tracking and wiki features (currently disabled for 0AD). So if the project will consider Git and/or to migrate away from Trac for whatever reason, I imagine Phabricator would be the obvious choice.

Edited by Krinkle
  • Like 1

Share this post


Link to post
Share on other sites
On 1/4/2019 at 7:04 PM, Imarok said:

For nearly everything it does not matter whether you use svn or one of our git mirrors. So just choose what you prefer. (The only thing I know, where svn is obligatory, is committing, but that is only needed for staffs)

Well, yes, but by making contributing less convenient (e.g. by not taking GitHub pull requests) then you turn away potential contributors.

Edited by Andrettin
  • Like 1

Share this post


Link to post
Share on other sites
On 7/20/2019 at 8:08 AM, Andrettin said:

Well, yes, but by making contributing less convenient (e.g. by not taking GitHub pull requests) then you turn away potential contributors.

So you are talking about a specific platform now?

You can use git without using github...
(And afaik you can also use phabricator together with our github mirror)

  • Like 1

Share this post


Link to post
Share on other sites
On 7/20/2019 at 2:08 AM, Andrettin said:

Well, yes, but by making contributing less convenient (e.g. by not taking GitHub pull requests) then you turn away potential contributors.

Not every project uses GitHub. It's quite common for FOSS to have GitHub read-only mirrors for visibility, but direct users to a self-hosted platform for reporting errors and submitting patches. IMO we should only accept GitHub PRs if we're actively using GitHub.  I personally wouldn't want to use GH as a main development hub, since it's controlled by a private company and they could change policies at any time. I like having it as a mirror for reference and for people who are used to GitHub UI, but I like the advantages of having our own main Git repo.  The GH mirror is OK until that time comes.

Git on the other hand, is something I fully support and have since the topic first arose. In fact, we're supposed to be transitioned to git by now.

I don't agree that "SVN is ok", it's a development choke point when we're juggling multiple features and bug fixes at once, that all have to be resolved to SVN. Also, I want a stable branch (where well-tested and reviewed code goes, that always compiles and runs with minimal regressions) and a less stable master branch (might or might not compile and run well at any given time), in addition to feature branches which can be integrated with CI, to make it easier for devs to test eachother's changes and thus, being more efficient to review.

  • Like 5

Share this post


Link to post
Share on other sites
2 hours ago, historic_bruno said:

I don't agree that "SVN is ok", it's a development choke point when we're juggling multiple features and bug fixes at once, that all have to be resolved to SVN. Also, I want a stable branch (where well-tested and reviewed code goes, that always compiles and runs with minimal regressions) and a less stable master branch (might or might not compile and run well at any given time), in addition to feature branches which can be integrated with CI, to make it easier for devs to test each other's changes and thus, being more efficient to review.

YES! Agree on every single point! :laugh:

I've been wanting this for several years, and have brought it up multiple times. I don't really know why it hasn't happened yet, but recently there has been more support. I still have hope we'll switch to git eventually. :)

I remember discussing it with Philip awhile back. He wasn't really against moving to git, but felt (at the time) that the migration effort was significant, and that svn was good enough for smaller projects. The project has grown a bit since then though.

[edit]

From conventions I've seen, it's generally "master" and "dev" for very stable and mostly stable respectively, with various other release, feature, and bugfix branches.

Edited by WhiteTreePaladin
  • Like 2

Share this post


Link to post
Share on other sites
8 hours ago, historic_bruno said:

Not every project uses GitHub. It's quite common for FOSS to have GitHub read-only mirrors for visibility, but direct users to a self-hosted platform for reporting errors and submitting patches. IMO we should only accept GitHub PRs if we're actively using GitHub.  I personally wouldn't want to use GH as a main development hub, since it's controlled by a private company and they could change policies at any time. I like having it as a mirror for reference and for people who are used to GitHub UI, but I like the advantages of having our own main Git repo.  The GH mirror is OK until that time comes.

GH is controlled by a private company, but AFAIK given how git works (your local copy has the entire repository information) that is not an issue, since if they change their policies to something intolerable, you can just move the repository to be hosted somewhere else.

I think it would be advantageous to host it in GitHub, considering the excellent UI it possesses (both in the desktop and web versions), which IMO makes development much more convenient.

Share this post


Link to post
Share on other sites

I have a question from several years ago that has not let me sleep for a long time
Where the source code of the svn version is hosted?

Share this post


Link to post
Share on other sites
6 hours ago, Andrettin said:

GH is controlled by a private company, but AFAIK given how git works (your local copy has the entire repository information) that is not an issue, since if they change their policies to something intolerable, you can just move the repository to be hosted somewhere else.

Yep, the repository itself can always be easily migrated. But we already offer a repository on github...

 

6 hours ago, Andrettin said:

I think it would be advantageous to host it in GitHub, considering the excellent UI it possesses (both in the desktop and web versions), which IMO makes development much more convenient.

As said we already host a mirror of our repository on GH. But I guess you mean we should also use the "sugar" GH offers besides only hosting a git repo: pull requests, issues, CI, etc.
But there we come back to your first point: all that "sugar" can't be easily migrated if GH(or M$) changes policy because those "sugar" isn't part of git.

5 hours ago, Trinketos said:

Where the source code of the svn version is hosted? 

https://trac.wildfiregames.com/wiki/BuildInstructions#Acquiringthecode

  • Like 1

Share this post


Link to post
Share on other sites

The public svn repository is hosted here, @Trinketos.

For more information see the build instruction page of the wiki.

The repository is hosted on a Wildfire Games server (so our own).

Also you can browse the source on Phabricator or GitHub (updated from the SVN repository so no patches can be applied there to effect the SVN in return).

EDIT: There's also downloads available at Sourceforge. But when Sourceforge started to require login and added malware to many project's installers we withdrew from there. And that's exactly why I don't think GitHub is at all an alternative: You never know when the company goes bad ;)

  • Like 1
  • Confused 1

Share this post


Link to post
Share on other sites

Github is owned by Microsoft now, so that's at least somewhat stable (more so than Sourceforge). I think the plan was to host a git repo directly just like how svn is handled currently.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...