Ulysses and Working Copy

June 10, 2020

Ulysses is a high quality writing tool and Working Copy is a Git client for iPad and iPhone.

Git is a popular versioning system for managing projects where many files change or where edits can be made by many people. It requires small explanations to accompany changes which helps make sense of the project over time. Git is heavily used in software development but is useful when keeping track of changes over time is a challenge.

Projects in Git are called repositories and each person working on a project has a copy on their computer, phone or tablet. All work is collected in a shared remote repository on services such as GitHub.

Working Copy can manage Git repositories and make these available in the Files app and Ulysses is able to edit these without needing to copy anything between the apps.

Getting started

First step is to clone your repository in Working Copy. Inside Ulysses you enter Settings > Library, tap Add from Other Location… and navigate to the folder inside Working Copy. You should enable the Read and Write Markdown Files switch as Git is best suited for text files.

As you make edits the files in Working Copy are marked as modified and changed lines and words are highlighted. If you are happy with your work you Commit, writing a short message explaining what was changed and why you made the change.

You can go through the history of a project by reviewing previous commits looking at changes and the author behind each change.

You Pull down commits from the remote to get the work made by others. As long as all edits are made in different different parts of the project Git knows how to combine the changes. When several people change the same paragraph there is no safe way for a computer to determine how the changes should be combined. You resolve such conflicts by picking the text you want manually.

You make changes available to other people on your project by Pushing to the remote repository and this can be done as part of the Commit.

Not every writing project benefits from the explicit change tracking in Git, but if you have many files, many participants or a long running project it is often worth the effort. Ulysses and Working Copy combines a great writing experience with easy to use Git cababilities.