On 11.07.2017 10:53, Julian Foad wrote: > Thanks for your suggestion, Nathan. > > Nathan Hartman wrote: >> [...] What if, instead of just a pristine copy, it actually created a >> private local repository. Revision 1 of this repository would be the >> pristine copy. [...] if you type some other command instead of >> commit, or maybe prepend the word "local" or something, the commit >> would go into the local repository [...] Shelving, stashing, etc., >> all become local operations against this local souped up pristine >> copy replacement. > > That is exactly what I was thinking about when I wrote "Option 3... > Checkpoints are commits in a local repository embedded in the WC" > towards the end of that document. My feeling is that both the amount > of effort required just to get that far, and the explosion of further > possibilities it would open up, make it too heavy-weight for my > current project, but I would definitely like to explore that > possibility further.
Ben (Reser) and I discussed this to death at one of the hackathons. It turns out that checkpoints / local commits are, while not a pre-requisite, definitely a logical first step on the road to stashes and local branches. We even had a pretty good architectural model and UI feature list written down ... I wonder where that's gone now. The problem we encountered at the time is that the current working copy schema is too limited to implement them effectively; it needs another dimension of change tracking. -- Brane