- ...3.1
- Note that darcs does not do wildcard expansion, instead relying
on the command shell. The Windows port of darcs has a limited form of
expansion provided by the C runtime
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...patch).5.1
- If
you look inside _darcs you will find files or directories named
patches and inventories, which store all the patches
ever recorded. If the repository holds a cached pristine tree, it
is stored in a directory called pristine or current;
otherwise, the fact that there is no pristine tree is marked
by the presence of a file called pristine.none or current.none.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...5.2
- Revert can undo precious work in a blink.
To protect you from great grief,
the discarded changes are saved temporarily
so the latest revert can be undone with unrevert.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...pending5.3
- In the file _darcs/patches/pending.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... code.5.4
- Actually it doesn't have to--in theory--,
but in practice it's hard to create ``negative'' files or lines in the working tree.
See the chapter about Theory of patches for other constraints.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... it.5.5
- darcs even has a special command, trackdown
that automatically removes patches
until a specified test no longer fails.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... repository.5.6
- It will omit patches already depended upon by other patches,
since they will be indirectly depended upon anyway.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... parts5.7
- The primitive patches making up the total patch.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
push6.1
- But it affects the repository and working directory targeted by
the push
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
send6.2
- As for the other end, see apply
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
put6.3
- Creates a new repository
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
input.6.4
- One caveat: don't name your patch file ``magic darcs
standard input'', or darcs will read from standard input instead!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... back.6.5
- The patch file itself is not actually deleted, but its
context is lost, so it cannot be reliably read--your only choice would be
to go in by hand and read its contents.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... representationA.1
- For those comfortable with
quantum mechanics, think of a patch as a quantum mechanical operator, and
the representation as the basis set. The analogy breaks down pretty
quickly, however, since an operator could be described in any complete
basis set, while a patch modifying the file foo can only be described
in the rather small set of contexts which have a file foo to be
modified.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... treeA.2
- This is very similar to the second-quantized picture,
in which any state is seen as the result of a number of creation operators
acting on the vacuum, and provides a similar set of simplifications--in
particular, the exclusion principle is very elegantly enforced by the
properties of the anti-hermitian fermion creation operators.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...#tex2html_wrap_inline2281#A.3
- This notation is
inspired by the notation of matrix multiplication or the application of
operators upon a Hilbert space. In the algebra of patches, there is
multiplication (i.e. composition), which is associative but not
commutative, but no addition or subtraction.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... tree).A.4
- The fact that commutation can fail makes a huge difference in the
whole patch formalism. It may be possible to create a formalism in which
commutation always succeeds, with the result of what would otherwise be a
commutation that fails being something like a virtual particle (which can
violate conservation of energy), and it may be that such a formalism would
allow strict mathematical proofs (whereas those used in the current
formalism are mostly only hand waving ``physicist'' proofs). However, I'm
not sure how you'd deal with a request to delete a file that has not yet
been created, for example. Obviously you'd need to create some kind of
antifile, which would annihilate with the file when that file finally got
created, but I'm not entirely sure how I'd go about doing this.
So I'm sticking with my hand waving formalism.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... consideredA.5
- Alas, I don't know how to prove that the two
constraints even can be satisfied. The best I have been able to do
is to believe that they can be satisfied, and to be unable to find an case
in which my implementation fails to satisfy them. These two requirements
are the foundation of the entire theory of patches (have you been counting
how many foundations it has?).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.