[darcs-users] What is the status of --no-pristine-tree?
Trent W. Buck
trentbuck at gmail.com
Sun Dec 7 01:33:40 UTC 2008
src/darcs.tex says:
Alternate formats for the pristine tree
=======================================
By default, every Darcs repository contains a complete copy of the
"pristine tree", the working tree as it would be if there were no
local edits. By avoiding the need to consult a possibly large number
of patches just to find out if a file is modified, the pristine tree
makes a lot of operations much faster than they would otherwise be.
Under some circumstances, keeping a whole pristine tree is not
desirable. This is the case when preparing a repository to back up,
when publishing a repository on a public web server with limited
space, or when storing a repository on floppies or small USB keys. In
such cases, it is possible to use a repository with no pristine tree.
Darcs automatically recognizes a repository with no pristine tree. In
order to create such a tree, specify the --no-pristine-tree flag to
darcs initialize or darcs get. There is currently no way to switch an
existing repository to use no pristine tree.
The support for --no-pristine-tree repositories is fairly new, and has
not been extensively optimized yet. Please let us know if you use
this functionality, and which operations you find are too slow.
src/Darcs/Commands/Get.lhs says
In order to save disk space, you can use get with the
--no-pristine-tree flag to create a repository with no pristine tree.
Please see Section disk-usage for more information.
If --no-pristine-tree is used, and then someone changes the working
tree, will "darcs whatsnew" break, or just be very slow?
I also expected --no-pristine-tree to break --lazy, since --lazy works
by copying the pristine tree. When I tested --no-pristine-tree with a
darcs-2 repo, I found that it copied the pristine tree! Does this mean
that --no-pristine-tree is only for deprecated darcs-1 formats (hashed
and old-fashioned-inventory)?
More information about the darcs-users
mailing list