I recently did my first experiments with darcs: A friend of mine and I hacked on the same code, and by giving each other access to one’s darcs repository, we could easily exchange our new code.
One problem I had was that my friend recorded a patch that I did not want applied in my repository. Nothing else depended on it, so I could just say no everytime I use “darcs pull”, but it’s still a hassle. Also, imagine that I’m somewhere else and I suddently decide that I do want the patch?
A similar problem would be if I created some patches that I temporarily don’t want applied. I could branch, and then unpull them, but this is a bit too much work.
In both cases a “patch shelve” would be handy. A seperate storage for patches in my repository that are available, but not applied. I’d imagine that the “darcs pull” command would then allow me to “pull and put on the shelf”, and not offer me this patch again. There would also be “put on shelf” and “get from shelf” commands. So if anyone feels like hacking on darcs, this feature would be appreciated.