Skip to main content

Sync

Every change you make in the app, such as a new entry, an edit or a delete, is committed to git on the phone straight away. Nothing is sent to the server until you sync. Until then, the change exists only on this phone.

Sync

Pull down on the list to synchronize. You can also use the three dots in the search bar:

The list's menu with Synchronize repository, Pull from remote, Push to remote and Settings.
  • Synchronize repository fetches the server’s changes and sends yours.
  • Pull from remote only fetches.
  • Push to remote only sends.

Synchronize is what you want almost every time. To turn the gesture off, use Disable pull to sync action in Settings.

When two devices change the same thing

If you edit the same entry on the phone and on a computer before syncing, git cannot pick a winner. The app uses a rebase by default (Rebase on pull), and the sync stops with an error saying the pull failed and that you are in a detached head. Your work is not lost.

Open Settings, then Repository, then Local Git config & utilities. You have two ways out:

Keep your changes

Abort rebase and push new branch cancels the rebase and sends your local work to a new branch on the server. The app tells you its name. Then, on a computer:

bash
1
2
pass git fetch origin
pass git merge origin/BRANCH-NAME

Git stops on the entries that conflict. Encrypted files cannot be merged line by line, so keep one version of each, finish the merge, and send it back with pass git push. On the phone, finish with the hard reset below, so that the phone matches the server again.

Throw your changes away

Hard reset to remote branch asks for the branch name, then makes the phone an exact copy of it.

Warning
A hard reset discards local commits and changes that are not on that remote branch. Use it only when you are sure, or after saving your work with the option above.

Other tools

The same screen sets the name and email used for commits, shows the commit log with Show commit log, and offers Run garbage collection job to tidy up the local repository.