git backend: actually update local cache from remote

Martin Gysel me at bearsh.org
Thu Jun 11 03:15:12 PDT 2015


Am 11.06.2015 um 07:25 schrieb Robert C. Helling:
> 
> On 11 Jun 2015, at 06:16, Dirk Hohndel <dirk at hohndel.org> wrote:
> 
> Good morning,
> 
>> This is kind of a hybrid of what you are talking about. If you are
>> on a boat or on an island with shitty network you can simply work
>> from the local cache. And if you suddenly have some connectivity
>> you can trigger an upload to the remote in a very straight forward
>> fashion.
>> 
>> What am I missing?
> 
> I would aim at making it maximally transparent to the user (as
> dropbox does for example): There are two states: Good network
> connection or no good network connection. Subsurface tries to guess
> that (for example by asking the OS about network connectivity beyond
> localhost or by trying to ping the cloud server or quickly
> downloading some data from the cloud server to estimate the
> connection speed) but there is a switch for the user to set it
> manually (like a little cloud icon that gets greyed out when there is
> no good connectivity).
> 
> Without net, the remote server is ignored (obviously).
> 
> When transitioning from bad to good state (or on startup) we trigger
> a sync (fetch and merge and then possibly push) in the background and
> after save we trigger a push (again in the background).
> 
> Writing this, I wonder if we really should differentiate between push
> and pull or if we (again as dropbox) just try as much as possible to
> keep local and remote in sync (i.e. always fetch, merge and push in
> one go).
> 
> I would to all cloud access in the background and offer the user (via
> a modal dialog) to reload when the background operation finished and
> implied an update to the currently displayed log.
> 
> I never thought these operations are that hard to design a good
> workflow/UI for. I thought, only conflict resolution and version
> management beyond opening a terminal and ask the user to fix it on
> the command line would be hard…

please don't do any cloud sync in the background unconditionally. either
have something like a 'automatically sync with cloud' setting or allow
the user to trigger or at least cancel the sync.

/martin


More information about the subsurface mailing list