[darcs-devel] [issue434] Darcs grief: Issue 274
Max Battcher
admin at worldmaker.net
Sat Apr 21 14:56:41 PDT 2007
David Roundy wrote:
> I should mention that transactional semantics in the working directory is
> impossible to implement with any guarantees, because there's always the
> possibility that halfway through an update someone will change permissions
> of some of the working-directory files, or that disk space will be used up,
> etc. I don't believe anything bigger than a single file can be updated
> atomically. I suppose you could create a new directory and rename it over
> an existing one, but you wouldn't want that behavior, since it'd mess up
> any running programs with that directory as their working directory.
In some cases you can use local Operating System components to deal with
that. For instance, NTFS on Windows Vista supports transactions.
Having to optimize for every potential file system and operating system
could be a hassle.
Interestingly enough, Vista betas had a command-line tool named
"transaction" that allowed you to start/stop/rollback transactions
yourself, but they apparently removed it in the final version. If it
were still around you could manually do:
transaction /start
darcs pull -a
... Some error occurs ...
transaction /rollback
--
--Max Battcher--
http://www.worldmaker.net/
More information about the darcs-devel
mailing list