-
Notifications
You must be signed in to change notification settings - Fork 11
sync
The xeno sync
subcommand manages the synchronization of a xeno editing session.
xeno editing sessions are essentially just a pair of Git repositories, one local and one remote, which are synchronized using a special sequence of add
/commit
/push
/merge
/pull
. The purpose of the xeno sync
subcommand is to invoke this synchronization sequence.
Generally speaking, it is not necessary for the user to invoke the xeno sync
subcommand. Whenever the xeno edit
or xeno resume
subcommands are used, they will automatically call the xeno daemon
subcommand to start the per-user xeno daemon (if it is not already started). This daemon will periodically call the xeno sync
command with the -a|--all
flag.
However, it can be useful for users to manually invoke the xeno sync
subcommand. For example, if you have the daemon poll interval set very high (so that syncs only occur every once in a while), you might want to manually sync instead of waiting for the daemon. You can do so using the xeno sync
subcommand as follows:
xeno sync SESSION_ID
The SESSION_ID
value can be obtained from xeno list
.
To sync all sessions, you can do:
xeno sync --all
By default, the xeno sync
subcommand will only do a synchronization if there are local changes. You can override this behavior (e.g. if you reverted something or switched SCM branches on the remote end and want to pull the changes locally) by using the -f|--force
flag to force a sync. To get the xeno daemon to use the -f|--force
flag when it syncs, do:
xeno config sync.force true
This configuration parameter does not affect the behavior of the xeno sync
subcommand itself, but that may change in the future.