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 
> <[email protected]> wrote:
> 
> Willem,
> 
>> On 17. Jan 2021, at 13:18, Willem Ferguson via subsurface 
>> <[email protected]> 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
> [email protected]
> http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to