Moving to Github


#1

(I made dev forum public, because there’s not really any reason to be secretive about anything we have going on)

I want to move at least S44Main.sdd to github. SVN sucks and so does Sourceforge. Github has a beautiful interface for issue tracking and collaborative work: next time (if ever) someone comes along with new sounds or something they want implemented, they can just submit a pull request to us. all we have to do is review to make sure it isn’t awful, and hit ‘accept’ … blammo, contribution accepted.

git is also really nice for when you have a large body of work (like, say, Lua unit scripts) that you want to work on in parallel to the main build without mucking up main. Branches can be purely local, and switching between them is painless and fast. It also makes making builds easier, since prepping it just requires copying S44Main.sdd and removing the .git directory, rather than asking SVN to do an export (which takes a good 10 minutes on my old laptop).

I know that I’m probably the only current contributor (excepting koshi) who uses git a lot. I’m also suspecting that I’m the only one (again, excepting koshi) who prefers command line stuff to GUIs – I’m doing all my coding in tmux and vim these days :nerd:

Fortunately, the git GUI situation has improved a lot in the time since Spring moved to git. The nicest windows one is probably GitHub for Windows. There’s also TortoiseGit, which has a very similar interface to TortoiseSVN.

The key commands for interacting with S44-as-git-repo vs S44-as-svn-repo are very similar: git pull == svn up, git add == svn add, git commit + git push == svn commit. that’s pretty much it. GitHub for windows abstracts most of this with a “sync” button.

I’ve already created a Spring 1944 organization and repo for S44Main: github.com/spring1944/spring1944 – take a look!


#2

Grumble.


#3

+1 overall
Github + inline edits in browser + pull requests = pretty much unbeatable atm for complete nubs to contribute even tiny bits

Flozi: You can still use svn clients with github, afaik they transparently translate most of the simple stuff


#4

I know, I actually use GH4W anyway and it isn’t bad (though I haven’t used it for comitting).

I just still am a bitter Windows git user and forever will be. :no4:

Can rapid be tied to a git branch? Just from the odd request on forum with players saying everyone is only playing latest svn, might be time to go back to that now that the player pool has sharply contracted.


#5

sounds good


#6

gluster.org/2013/08/how-far- … as-fallen/ :frowning:


#7

Now suddenly there is a reason to move after all.


#8

Flip side: news.ycombinator.com/item?id=6262347


#9

Drive-by crapware or not, sourceforge is just worse: it has loads of ads and a crappy interface. In contrast, projects in github are presented in a wonderfully clean way (imo, of course). Moreover, the model that sourceforge uses presents a much higher barrier to project outsiders who might want to chip in a few contributions here and there. Github forks and pull requests are easy, and there’s no prior arrangement/contact needed. As for hosting binary files, I strongly doubt that we’re seeing a level of traffic that would make github balk at hosting our releases (particularly since sourceforge has always been a secondary download location for us).

I’ll have internet at home starting Thursday, I can re-import into github this coming weekend. I’ll update my complete copy of the SVN repository and keep it for posterity in a few different places, so I’d prefer to only import things that we are semi-actively working on. If in the future we want to resume work on some other small project (Zombies, Burning Waves <3), we can drop it into github at that time. If anyone else wants to grab the complete SVN, more copies on more harddrives can only be a good thing. I’d like to at least shut off commits to the sourceforge SVN so that we don’t have any chance of ‘split brain’ repositories.

If you have any questions on how to use git, let me know and I’ll gladly help. Personally I use it via command line, but github has some very polished and easy-to-use UIs for it – better than tortoise, I’d say.

Let’s make a list of parts of the repository that we want in github. Note that each of these will be a seperate repository under the ‘Spring 1944’ project.

For starters:

  • trunk/S44Main
  • mods/S44AdditionalSides

#10

You can commit to git via svn: github.com/blog/644-subversion-write-support note it is from 2010 so hopefully the caveats are fixed now)

Also they support binary releases: github.com/blog/1547-release-your-software


#11

Why not move all the repo tree? I want all of my models online so that someone (maybe even myself) can get to texture them someday (esp. relevant for Burning Waves).


#12

Yuri: mostly because there’s a lot of stuff in the repo tree which doesn’t really belong in source control. I had no idea how to use SVN when I made things like ‘member folders’ all those years ago. I don’t think we need things like my random arcade game project from 2007, or every one of the ‘Mods’, for example. Especially not major mistakes like when I put binary releases into SVN.

However, I agree that it makes sense to stick your models in there. that’s no problem.

FLOZi: yeah, the releases feature is pretty nice, I’ve used it for some other projects. I guess we can do the svn thing – but I do strongly encourage you guys to give the git workflow a shot. My experience was a few hours of ‘wtf git, why don’t you just do what svn does and make it simple’ followed by months of ‘oh. well. that -is- better than svn’.


#13

So! I’m doing this for real this time!

github.com/spring1944

I updated S44Main, moved over additional sides, yuri’s models, s44ships, and zombie-save.

In a few days I’ll shut off commit access to sourceforge, unless anyone has strong objections – it can’t hurt to keep the project open, but I’d rather keep all the commits (numerous as they are :stuck_out_tongue:) going through one funnel.

I’m more than happy to help anyone make the transition to using git.


#14

flozi, you seem to have left the spring 1944 org? Sorry if you got spammed while I was setting stuff up.

if this is a passive way of saying “screw github”, that’s fine, it isn’t imperative, we can stay at SF :stuck_out_tongue: I just like using github a lot better than sourceforge, and think it makes it a lot easier for people to contribute (either via issue reporting or with actual pull requests) on little things. unit voices are a great example where pull requests would have saved us a fair bit of work and made it way more likely to get the improvements into the game on a reasonable timescale.


#15

Don’t recall being a member of it.

Also, screw github. :stuck_out_tongue:


#16

ok, going to close sourceforge commit access at the end of the day today (~8 hours) unless this is really disruptive to anyone. porting more repositories is no big deal, so just let me know if there’s one that you want around right away. also, post your github account name so I can give you access to the s44 organization.


#17

What is the url of github repo?


#18

github.com/spring1944 is the organization page, which lists all of the repos I brought over so far.


#19

yuri: assuming you’re the ‘yuritch’ who signed up today, you now have commit access to all of the repos there.


#20

That was a correct assumption :slight_smile:
I just never had any need to register on github before. Now I’ll have to figure out how to commit anything with it (I’ve only used it to get spring source before).