[I7] Version control advice

My game has gotten rather big and on the cusp of needing to inject a rather complicated bit of code, it got me wondering if there’s a “best practice” when it comes to version control and Inform 7. My initial thought was to just copy and paste the entire, current code into a new, separate project and work on it there, but perhaps there’s a more elegant way.

Counterfeit Monkey and Kerkerkruip’s .gitignore files might be instructive:

They both have a bunch of stuff typical projects won’t have. But you can see you should ignore the Build, Index, Settings.plist, etc.

1 Like

Heh. I guess that would mean I’d need to finally figure out Github’s bewildering UI.

You don’t need to use Github to use Git! However Git is a confusing tool by itself. I shared the .gitignore files because that information is transferable to any version control system.

When I add an Inform project to version control, I include:

Source/story.ni
uuid.txt
Settings.plist

The first is the important one. That’s the source code.

The uuid.txt contains the UUID (except lower-case). If you ever need to recreate the whole project from version control, it’s nice to keep the same UUID.

The Settings.plist doesn’t contain much of value, but it doesn’t change much either. Unless you use the test tab. I guess it’s a nuisance if you use the test tab and then the IFSettingTestingTabShownCount field changes every time. So you could ditch that.