`packages` is a mapping from package names to dictionaries (e.g. in
`Cargo.nail`, write something like: `[packages.mylibrary]`
-`subdir=mylibrary-test` or `[packages]` `mylibrary='mylibrary-test'`).
+`subdir='mylibrary-test'` or `[packages]` `mylibrary='mylibrary-test'`).
These override the locations for the specified packages (so you can,
for example, have multiple trees with the same package in). The
`subdir` values are also added to the list of directories where
or is interrupted these changes may be left behind; running
nailing-cargo again should clean up such a mess. Unfortunately it is
not possible to fix this bug because the cargo team have deliberately
- made cargo inflexible.
- [[issue#6715]](https://github.com/rust-lang/cargo/issues/6715).)
+ made cargo inflexible -
+ [issue#6715](https://github.com/rust-lang/cargo/issues/6715).)
* Out of tree builds require a unified filesystem view: eg, different
users on the same host, NFS, or something. This could be improved.
think fixing this just involves review to check other values work
properly.
- * The alternative Cargo.lock file must be on smae filesystem. This is
+ * The alternative Cargo.lock file must be on same filesystem. This is
not so easy to fix; we would want the existing algorithm but a
fallback for this case.
plan to do substantial work, please do get in touch with a sketch of
your proposed changes.
+ * nailing-cargo uses a single lockfile alongside your `Cargo.nail`,
+ rather than a more sophisticated scheme involving locking
+ particular directories. This means that if you run multiple
+ copies of nailing-cargo at once, in different directories, but
+ with `Cargo.nail` files which imply overlapping sets of package
+ directories, things will go Badly Wrong.
+
Contributing and legal
======================