1

Topic: Neverball is on Github!

We're now using Git for source control. The converted repository with an entirely rewritten and cleaned up commit history is on Github:

https://github.com/neverball

Here's a really quick way to start using it:

  1. Have a Github account

  2. Fork the official repository

  3. Clone your new fork to your machine

  4. Make commits locally

  5. Push back to your fork

  6. Make a pull request against the official repo

I'm not sure how the workflows will turn out, maybe a small project like Neverball needs something different, but this is pretty much a stereotypical Git/Github workflow, so we'll give this a try for now.

2

Re: Neverball is on Github!

I kinda prefer the "Keep the official repo clean and only do pull requests," approach. This also means we've got less need of branches in the main repo when we can get people to test our own forks/branches.

I'm still curious to know whether we're planning to migrate from Trac to using GitHub's issue tracking and wiki facilities.

Cheese
==========
cheesetalks.net

3

Re: Neverball is on Github!

Cheeseness wrote:

I kinda prefer the "Keep the official repo clean and only do pull requests," approach.

Does this mean that translators will no longer have direct commit access? I am fine with that, just asking...

Also, as I am still trying to get comfortable with Git, could someone please commit my Freeland-Extras branch again for me?

~DEV

4

Re: Neverball is on Github!

ht-never wrote:

Also, as I am still trying to get comfortable with Git, could someone please commit my Freeland-Extras branch again for me?

You should fork the official repository and commit your work yourself.

5

Re: Neverball is on Github!

ht-never wrote:
Cheeseness wrote:

I kinda prefer the "Keep the official repo clean and only do pull requests," approach.

Does this mean that translators will no longer have direct commit access? I am fine with that, just asking...

The idea is that you submit a pull request (which is like a proposed commit of the difference between your fork and the upstream repo) and have someone else approve it. It's still attributed to you - github shows that your commits come from you, but it gives others a chance to review before everything goes in and gives a more organised approach.

Cheeseness wrote:

I'm still curious to know whether we're planning to migrate from Trac to using GitHub's issue tracking and wiki facilities.

I guess I should rephrase this to something like "I'd like to see some discussion and opinions without flavouring such discussion with my own priorities before anybody else has had a chance to say something" big_smile

Does anybody have any opinions?

Cheese
==========
cheesetalks.net

6

Re: Neverball is on Github!

The question you should be asking is "what will happen to Trac?"

The question of whether or not are we going to use Github for issue tracking is not even up for discussion, because that was part of the rationale for using Github. It wasn't because Github provides the best Git hosting, it was because of the facilities, community and the ability of that community to easily participate. If Github users can't file bugs/start discussions without going to another website with a separate login, there's barely any point being on Github.

7

Re: Neverball is on Github!

ht-never wrote:
Cheeseness wrote:

I kinda prefer the "Keep the official repo clean and only do pull requests," approach.

Does this mean that translators will no longer have direct commit access? I am fine with that, just asking...

You won't need it, because you can do translations in your own fork and then make a pull request. Someone with access to the main fork can then pull them over. It's really easy, once you have gotten used to it.

8

Re: Neverball is on Github!

GunChleoc wrote:

It's really easy, once you have gotten used to it.

Holy words.

~DEV

9

Re: Neverball is on Github!

Since I didn't cover that here, just to reiterate what's been said previously, you don't absolutely have to register on Github to participate. You only need a place to publish your repository (which you will have created by cloning the official repo). This can be another Git host that better fits your needs or even your own server. When you have commits that you want integrated, you just have to provide the URL to your public repo and optionally the name of the branch.

As it concerns Elviz (and other major contributors), I would just add his repo as a remote and fetch/merge that regularly (maybe make a mirror repo on my account), since his commits don't really need the scrutiny.

10

Re: Neverball is on Github!

parasti wrote:

As it concerns Elviz (and other major contributors), I would just add his repo as a remote and fetch/merge that regularly (maybe make a mirror repo on my account), since his commits don't really need the scrutiny.

I've set up a repository at https://github.com/fwp/neverball.

(No commits have been made yet.)

11

Re: Neverball is on Github!

Sweet. If you're on Github, I can just set it up so you don't have to go through me.

In fact I just did. You, tones and mym now have push access to the official repo. That basically means I trust your judgment and you're free to continue about your business. You're able to push commits without review (unless you want to, in which case do make a pull request instead), merge pull requests on your own, and so on. But don't break the official repo just because Git makes that easy.

12

Re: Neverball is on Github!

Thanks, parasti.

13

Re: Neverball is on Github!

shino, I forked your Nevertable repository to Neverball/Nevertable.git and gave you push access. You can use it as a mirror if you want, I think the extra visibility won't hurt.

14

Re: Neverball is on Github!

parasti wrote:

shino, I forked your Nevertable repository to Neverball/Nevertable.git and gave you push access. You can use it as a mirror if you want, I think the extra visibility won't hurt.

OK parasti, nice !
Thank you.

15

Re: Neverball is on Github!

I'll look at migrating the remaining open issues from Trac to github within the next couple of days (parasti and I discussed this previously and he closed all the tickets he felt were no longer relevant).

The forums here and the website should probably have a link to the github repo at some stage (I'm surprised we didn't add any instructions on how to obtain source to the Neverball site to begin with o.0 ).

Cheese
==========
cheesetalks.net

16

Re: Neverball is on Github!

Cheeseness wrote:

I'm surprised we didn't add any instructions on how to obtain source to the Neverball site to begin with

There s always been a .tar.gz with the source code on the website.

On my part I was always surprised there wasn't a link at the top that said "FORUM".

On that note, would it make sense to put the neverball.org code on Github? I have no idea how deployment should work, but doesn't seem that we need anything above the level of FTP. I'd love for the website to at least have the possibility of going somewhere.

17

Re: Neverball is on Github!

parasti wrote:
Cheeseness wrote:

I'm surprised we didn't add any instructions on how to obtain source to the Neverball site to begin with

There s always been a .tar.gz with the source code on the website.

Yeah, sorry. I meant the repo >_<

parasti wrote:

On my part I was always surprised there wasn't a link at the top that said "FORUM".

This too. No idea what I/we were thinking so far as that goes.

parasti wrote:

On that note, would it make sense to put the neverball.org code on Github? I have no idea how deployment should work, but doesn't seem that we need anything above the level of FTP. I'd love for the website to at least have the possibility of going somewhere.

Gets my +1

Cheese
==========
cheesetalks.net

18

Re: Neverball is on Github!

Elviz wrote:

I've set up a repository at https://github.com/fwp/neverball.

Just a heads up, if you care. Since the pull request merge that you did was done on Github, it used your Github credentials. Since you haven't specified your name on Github, the merge commit was attributed to fwp. (Just the commit that records the merge, not the commit that was merged.)

19

Re: Neverball is on Github!

Yeah, I noticed that when checking the log after the merge. I haven't decided yet whether I mind or not, though it also depends on the beauty standards we want to have for the committer history.

If the authorship information should be uniform across all commits, I could either add my name permanently, change the GitHub profile temporarily for web-based Git operations (a bit cumbersome), or make the commits from the command line instead of pushing the shiny "Merge" button.

20

Re: Neverball is on Github!

Personally I don't care what your commiter info is as long as I can look back at it 10 years from now and be able to tell who it refers to. Uniformity helps, though. I guess we can always make a .mailmap file, so it's not a big deal.

21

Re: Neverball is on Github!

Alrighty, all open Trac tickets are now represented on GitHub. Apologies for the notification spam, people <3

Cheese
==========
cheesetalks.net

22

Re: Neverball is on Github!

Nice, thanks Cheese! I love the labels, not to mention all the "shiny buttons" (as Elviz called them). Github is much sexier than trac (lol).

23

Re: Neverball is on Github!

tonesfrommars wrote:

I love the labels

Hey, thanks big_smile

24

Re: Neverball is on Github!

tonesfrommars wrote:

Nice, thanks Cheese!

No worries. It was a little bit of a joint effort. parasti was adding labels and things whilst I was adding the issues ^_^

If there are additional components that we feel would benefit from grouping to attract attention (eg: mapping, audio, physics), we can add more labels. Neverball is pretty small though - I don't imagine us needing that sort of thing unless we have contributors who're only interested in seeing issues related to particular areas.

Cheese
==========
cheesetalks.net

25

Re: Neverball is on Github!

It's best to let the categorizations form naturally as more issues come in, rather than anticipate ahead of time. E.g., "audio" isn't useful, as the existing "audio" related issues actually touch entirely different parts of the code base.