Info

This post was originally intended for a Patreon audience.

How Git is Used in Access

For those who don’t know, Git is a tool programmers use to keep track of changes made to a program. In a very basic workflow involving Git, a person would download the latest version of the program from a “repository”, create a “commit” (which contains all of the changes they wish to make), and then upload it back to the repository. It lets you easily work with other programmers, roll back to earlier versions, and see what’s changed between any two points in time.

I don’t really work with anyone else except for my writer, Bridgette. Git is, unfortunately, a dense enough program that it’s difficult to teach to non-programmers, so you would think I’d have her avoid making commits herself. Except, she has:

commit 14c664bab0c928b11bc7d8438c9beecee3d27db9
Author: Ava
Date:   Sat Sep 29 22:27:10 2018 -0500

    Update modules

commit 5b4f3277105da205452b57fc3b76281e6cfc7907
Author: Bridgette
Date:   Thu Jun 28 04:42:30 2018 +0000

    Update Sigrid-Sigrid-Jette-Relationship.txt

commit d62abb3fa618235911c93a33c2e729a9c141aa2f
Author: Bridgette
Date:   Thu Jun 28 04:41:42 2018 +0000

    Update Sigrid-Sigrid-Z38-Relationship.txt

Usually, a person in the role of creating assets won’t know Git and in my experience, a programmer on the team would be tasked with uploading their changes to the repository. This would be a lot of busy work, so we figured out a workflow that isn’t too intrusive.

Instead of interacting with Git directly, Bridgette interacts with the web portal for the repository. On that web site, we have a wiki page with links to every single script used in the game (note that this list is about to change significantly as we are about to completely replace the first level)

Each link goes to a web browser text editor for that script from which she can make changes, which is pretty nifty.

Meanwhile, I normally use Git to keep track of what I’ve done. I try to write short descriptions, but I write longer ones explaining why something in particular was done. This is helpful especially when I’m looking at some code I’ve written a while ago and I don’t really understand it anymore.

commit 4146ed7822af5e2949a4e2a3d3602500f08e53c4
Author: Ava
Date:   Mon Nov 26 12:25:21 2018 -0600

    Fix AddDialog using old text

    In the case of the add dialog being used when lastDialog is null, we
    create a new dialog item to contain the text. However, we forgot to
    clear the old text from the dialog item, causing it to be displayed
    unintentionally.

Having this history is super useful and it’s saved my dumb ass several times.