Meet the new
wire-cell-toolkit source repository.
Up through the 0.12.x release, the Wire-Cell Toolkit source code was
aggregated through the
wire-cell-build top-level repository. Starting
with the next releases the top-level source package will be
The content of the new repository starts with all the same source
and history as the old repository. The only difference is that while
wire-cell-build aggregated WCT packages using
git submodule the new
As a consequence, it is much easier for users and most developers to
work with the source as the code is available as a single monolithic
repository. No more recursive cloning or messing with
The reason that submodules were used in the past was that it was
envisioned that different developers would work on different "views"
of the source code. Each developer would have one or more top level
code aggregation packages like the main
wire-cell-build with some
subset of packages of interest. This pattern of development never
took off (although has been used in the Wire-Cell Prototype).
git subrepo we may still maintain the option to have multiple
top-level "aggregation" packages but it will require manual
intervention and will only have to be done by experts. For users and
most developers, the single monolithic view of the source should make
many tasks simpler including:
- one go-to place for any and all issues
- simpler cloning, no recursion needed
- easier contributions via fork + pull request
- easier branching, particularly simplifying the making of releases.
The old, fine-grained repositories are kept on GitHub but to avoid
confusion and complication of any future
git subrepo synchronization,
direct push access has been removed. Contact the WCT team if you have
need for this now deprecated access method.
Enjoy the new monorepo.