-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
discussionOpen-ended discussion. Will be closed after some arbitrary time if consensus cannot be reached.Open-ended discussion. Will be closed after some arbitrary time if consensus cannot be reached.
Description
First of all, context review:
- A Workspace is a a dir containing a
.timeless/dir. It has a set of Catalogs (with release manifests which map "ModuleName:Version:Item" tuples to WareID for many Modules). - Many Modules (denoted by a
module.tl) file can exist in one Workspace. - Every time you evaluate a Module, it produces a "candidate" release.
- Candidate releases are how we propagate WareIDs between Modules. We don't publish them; "candidate" is a temporary name, and can be referred to only in this local Workspace.
- We can accumulate candidate releases by evaluating several modules... and then choose to give them permanent names and publish them all at once. (This is our solution for being able to test upstream/downstream dependencies at all once, and release matching sets that are known to work.)
So, the question: Should we support more than one set of candidates per workspace?
Concretely, that would mean:
- if you run
stellar emerge example.org/foomodulefor a module, it'll produce a candidate release stored in the path$WORKSPACE/.timeless/candidates/default/example.org/foomodule/*. - if you run
stellar emerge --saga=try-dancing example.org/foomodule, it'll produce a candidate release stored in the path$WORKSPACE/.timeless/candidates/try-dancing/example.org/foomodule/*. - all the (yet-to-be-written)
stellar catalog releasecommands would similarly accept a--sagaflag.
If we don't support this, everything would be the same; it would just skip a layer of directories.
This is mostly a question of UX. If we add this flag, will people actually find it useful? Is it possible to emulate the same behavior by just doing a fork of the Workspace -- and given that the answer is yes, is it going to be a better ergonomic experience overall if we simply tell people to do that, instead of building a special feature for this potentially rare user story?
Metadata
Metadata
Assignees
Labels
discussionOpen-ended discussion. Will be closed after some arbitrary time if consensus cannot be reached.Open-ended discussion. Will be closed after some arbitrary time if consensus cannot be reached.