Re: Server-side SavePoints [was: Subversion Design Contribution Question]
From: Nathan Hartman <hartman.nathan_at_gmail.com>
Date: Thu, 2 Nov 2017 23:55:18 -0700
On Nov 2, 2017, at 9:49 PM, Daniel J. Lacks, PhD <DannyL9143_at_aol.com> wrote:
I've been busy and haven't chimed in for some time about SavePoints (which were still called check points when I last participated in the discussion). First I'd like to say that I like the name SavePoints and agree with the rationale stated at the wiki, particularly that with this name, the command can be shortened to sp and that it will likely make more sense to non-native speakers of English than check points.
More to the point of this thread, I think the idea of client- and server-side SavePoints does make sense for the reasons stated previously. I like very much the idea that server side SavePoints could provide some of the underlying machinery for code review. I'd like to add the following to the list of potential use cases: Given the core svn library / third party value-added nature of Subversion, I can imagine a feature in, say, TortoiseSVN, where SavePoints are taken locally immediately, and when a line of communication to the server exists (which could be at the same time or at some later time) the SavePoints would be automatically transferred (copied / synched) to the server. That is, SavePoints are local and provide the ability to "work offline" for extended periods, but transparently become "online" at the next opportunity when communication permits. One could say that local SavePoints are transparently backed up to the server.
I think this would give users some very good benefits. For one, it would reduce or eliminate the need to remember to transfer SavePoints to the server manually. It would provide a safety net in case of loss of a WC, as occurs when a virtual machine goes haywire and the user deletes it with all its content and replaces it with a fresh VM and new checkout. (This has happened to me enough times!) It also answers a concern I have with anything that is local as opposed to server-side: my working copies are all in a RAM-disk! It speeds up builds and searches considerably, reduces wear on my laptop's flash storage, and enforces in my mind the idea that the working copy is very temporary and can be lost or damaged at any time--which encourages small frequent commits. So with the addition of local SavePoints, the concern is that if I'm in a RAM-based working copy, the SavePoints are no more durable than the working copy itself. But if the SavePoints are synchronized to the server, either manually or automatically / t
Hopefully these thoughts are beneficial to the community.
This is an archived mail posted to the Subversion Dev mailing list.