Github proposal for colonization branch

Discussion about the project in general, organization, website, or any other details that aren't directly about the game.
Message
Author
User avatar
Vezzra
Release Manager, Design
Posts: 6100
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Github proposal for colonization branch

#16 Post by Vezzra »

Ok, sorry for taking me so long to finally rejoin this discussion, but I haven't been completely idle in the meantime ;) I tried to get a grip on git/github to find out how to go about this proposal.

First of all, git is certainly more powerful and flexible than subversion. However, it's also a bit more challenging to learn and use. I've no doubt that once you get the hang of it, you're probably not excessively eager to deal with svn anymore, and I think I can understand those of our contributers who already know and use git frequently and therefore bemoan the limitations and restrictions imposed by svn on them ;)

I also think that I'm already sufficiently comfortable with git by now that I'd be able to use it myself in a git-only collaboration. But, and here is one of my main reasons why I'm hesitant to jump in and go ahead with this proposal, getting interoperation between svn and git right is definitely a non-trivial thing. I've been browsing through man pages etc. and apparently there are several issues you need to be aware of when setting up something like we want to do here, or you can mess up your commit history, overwrite changes etc. The main purpose of the git-svn command apparently is to use git as a svn client, not so much as a bidirectional gateway between server hosted svn and git repos.

Not that you can't do that, from what I've seen the features and tools are all there to get a setup like that working, but it requires some familiarity with git before you take on a challenge like this. And as I would have to manage the syncing between svn and git (I really don't want to shove that on Geoff or Dilvish - Marcel would probably the right man for this, apparently being already familiar with git, but he hasn't been active recently), this would require a very considerable effort on my part.

Other reasons why I'm hesitant is that in the past Geoff repeatedly stated that all discussions/exchange should take place on the forums as a central hub. We don't even really use the trackers provided by sourceforge for bugs, patches etc., but try to get people to post everything on the forums. Which nullifies some of the advantages working with github would offer.

Finally, given the current progress of the new colonization mechanics I hope I can merge into trunk soon, so the question arises how much collaboration is going to happen on github anyway before we return to trunk and with that to svn. I originally intended to stay on the branch only as long as the new mechanics would break the game too much, and do the fine tuning in trunk. Right now it looks like you already can play a decent game, so the main holdup is the question if the AI can handle the changes well enough to provide a sufficient challenge even without some adjustments. My own test game seems to indicate that it can, but I think I let Dilvish have the final word on that one.

So all in all I think the benefits, especially as they probably would only be for a brief time, aren't enough for the all the effort and hassle required to get this going. Not with my current time restraints. I've already a very hard time keeping up (as you probably noticed from my lack of response on quite some topics in the last months), and trying to shoulder that would probably make things worse than better.

I hope you can understand my decision. That said, if anyone of my fellow devs with committer powers feel like taking on that challenge, be my guest and go ahead! :D I certainly won't object. It's just more than I can handle right now ;)

Chriss
Dyson Forest
Posts: 231
Joined: Sun May 11, 2008 10:50 am

Re: Github proposal for colonization branch

#17 Post by Chriss »

Since Sourceforge seems to have some issues ATM, see viewtopic.php?f=25&t=9287&start=15#p75189

Anyway, I've googled and stumbled upon the github project, and saw some commits from a couple of hours ago which geoff made and which also seem to be the latest svn commits... What's the status of this github thing?
Attached patches are released under GPL 2.0 or later.

User avatar
Vezzra
Release Manager, Design
Posts: 6100
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Github proposal for colonization branch

#18 Post by Vezzra »

Chriss wrote:What's the status of this github thing?
Depends on what exactly you mean by "this github thing". If you're referring to the mirror repo maintained by user "poelzi", this still gets updated.

If you're referring to our plans to migrate to github, well, lets say we're working on it ;)

Chriss
Dyson Forest
Posts: 231
Joined: Sun May 11, 2008 10:50 am

Re: Github proposal for colonization branch

#19 Post by Chriss »

More along the lines of: can I use it? Questions like: How is it updated? Manually? One-way or two? How reliable is the update? How long does it take? Can I assume that after a while, the github repo will be identical to the sourceforge one?

If the github repo is "eventually" the same as the sourceforge one, then I could probably use it right now. Since I'm a read only user, and if the delay is not too big, that should work out.
Attached patches are released under GPL 2.0 or later.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Github proposal for colonization branch

#20 Post by Dilvish »

Chriss wrote:How is it updated? Manually?...How reliable is the update? How long does it take?
Via a script. It seems very reliable, I think the only extended outage was right when our svn url changed. I think the script runs every couple hours or so.
One-way or two?
The git repo is currently just a one-way svn mirror, if that's your question.
Can I assume that after a while, the github repo will be identical to the sourceforge one?
Currently for trunk, yes. But it is not set up to mirror any branches I believe. But by the time we introduce another branch we'll probably be up and running with github hosting the main repository and doing branches through it was well.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Cjkjvfnby
AI Contributor
Posts: 539
Joined: Tue Jun 24, 2014 9:55 pm

Re: Github proposal for colonization branch

#21 Post by Cjkjvfnby »

I use next way to work with github

1) Each feature is separate branch. (branches are cheap in git!)

Code: Select all

git pull
git checkout master # or branch you want to use as base
git checkout -b <new_branch>
It is useful to name all branches in same style. I use something like that short_user_preix(2-5 chars)/name_with_underscores
User prefix help to find responsible user.

2) after branch is ready I merge master to it.

Code: Select all

git pull
git checkout master
git checkout <branch_name>
git merge master
git push
3) Create pull request. (don't forget to visit "Files changed" tab to see if you missed something)
4) Sent message to user who can review pull request, this person usually merged pull request and delete branch.

If there is sign pull reques cant be merged I repeat step 2 (merge master to my branch)

If you clone repo by http and dont want to input password each time read here https://help.github.com/articles/cachin ... rd-in-git/
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Cjkjvfnby
AI Contributor
Posts: 539
Joined: Tue Jun 24, 2014 9:55 pm

Re: Github proposal for colonization branch

#22 Post by Cjkjvfnby »

github sync with svn is not working now.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Vezzra
Release Manager, Design
Posts: 6100
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Github proposal for colonization branch

#23 Post by Vezzra »

Cjkjvfnby wrote:github sync with svn is not working now.
Not unexpected. We've been very close to make the switch quickly when the SVN repo went down, but after SF fixed it we decided not to unnecessarily rush things. However, Geoff had already started to push commits to the git mirror repo, so I guess the sync scripts don't work anymore.

As the switch is going to happen soon now anyway, I think there's no point in trying to get the mirror working again. For urgent things use the SVN repo (I know, you don't like subversion, but it won't take long now ;)).

Post Reply