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.
- Julian
References: [1] Shelving-Checkpointing Dev doc. (J Foad) https://docs.google.com/document/d/1PVgw0BdPF7v67oxIK7B_Yjmr3p28ojabP5N1PfZTsHk/edit#