Subsurface User GUI access to read-only cloud git repository

Dirk Hohndel dirk at hohndel.org
Sun Jan 17 08:38:50 PST 2021


Willem,

As the person who looks at user repos most often, let me tell you that they are DECIDEDLY not linear. And that in 90+% of the cases it is merges that are causing the issues. And undoing a merge the wrong way can make the whole situation far worse. And we know from experience that nothing is ever the users’ fault. So giving them a tool to REALLY mess things up will be seen as “Subsurface sucks”. Not as “Subsurface is amazing, it gave me this powerful tool, but I didn’t understand enough about it to use it and made things worse”

git is powerful and complicated. As you have noticed yourself in your pull requests. Its behavior is not at all intuitive to someone who is used to linear or hierarchical systems.
You may remember that we briefly played with exactly this idea of stepping through the git hierarchy before settling on the current undo implementation - and the reason we did that is because the moment we encourage people to mess with the git repo they WILL permanently lose data.

I’d much rather get the occasional requests to undo things in the backend (currently I average fewer than one a week - most likely because a lot of people aren’t diving). But even if it is one a day, that’s still far less aggravating than having to tell people “sorry, you messed up the data”.

We have a full undo system. Your earlier email clearly shows that you didn’t realize that was available on mobile - maybe we need a tutorial mode that exposes that to users so they are aware of its existence.

Yes, that no longer works once you quit the app. When you do that, just drop me a line and I’ll do my best to fix the error.

/D

> On Jan 17, 2021, at 04:46, Robert Helling via subsurface <subsurface at subsurface-divelog.org> wrote:
> 
> Willem,
> 
>> On 17. Jan 2021, at 13:18, Willem Ferguson via subsurface <subsurface at subsurface-divelog.org> wrote:
>> 
>> Every time when something has gone wrong with saving dives to cloud, Dirk has to step in and correct the user blunder. Is there a fairly simple way to allow a user to step backwards and forwards in the Git tree? I suspect that the dive log Git repository on the cloud has a reasonably linear structure. It should not be to difficult to have a button that says "Load previous log", which causes the git pointer to move backwards and load the previously saved dive log. And, of course, the opposite for stepping forward. The specific dive log being accessed could be shown in the Subsurface window header, something like "Subsurface: Jan2021.ssrf (123 dives) Cloud dive log dated Jan 10 2021 07:47:23". The only way in which a user could save dive log changes in her/his cloud repository should be by selecting a git dive log as the current and final version, downloading to laptop and editing a dive. Stepping up and down the git tree should not involve any changes to the repository at all. A GUI facility such as this would make Subsurface exceptional if not unique among all existing database applications.
> 
> I think this is more complicated. As soon as you allow a user to step back in time and save from there you lose the linear structure and it becomes a tree. And with merges it becomes a more general graph. There are a lot of good git graphicaI user interfaces. A user could use any of those to achieve what you suggest.
> 
> Robert
> _______________________________________________
> subsurface mailing list
> subsurface at subsurface-divelog.org
> http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20210117/24a9502b/attachment.htm>


More information about the subsurface mailing list