-
Notifications
You must be signed in to change notification settings - Fork 37
Description
First of all thanks for this lovely tool.
Currently we are evaluating alternatives to repo tool and this one here checks almost all the boxes and has readable code (🥳 ), which is a big plus.
Currently we work with a single file manifest, that has floating (just the branch) references to a few of our larger stack of repositories we need to assemble.
Once a change has passed CI we generate a fixed revision monolithic file as a release.
With that in mind #48 would be exactly the missing piece for us to entirely move on from repo.
After reading #235 I'm a bit confused to be honest.
Shall the snapshots be just a local feature?
I mean if the file name of the manifest is static (and I understand the reasoning behind that) do I need to run a second command (like snapshot load <something.yml>) to get to that frozen set again?
Or are those snapshots not meant to be put under version control?
To me the logical consequence (at least for our setup) would be to allow a configurable manifest file name - like manifest.dev.yml and manifest.release.yml.
Unfortunately branching won't do it for us, as, with up to 20 releases a day, we would end up with big pile of branches within a year (something that becomes unmanageable, if you think about that we require each of those releases to be immutable, hence using the branch protection feature of e.g. Github, which needs to be configured).
An alternative, as mentioned, would be to run this second command snapshot load <manifest.release.yml> after the initial init with the "normal" "dev" variant - but I'm not sure how well that goes in real life, considering that in our setup repos come and go, so there might be larger diff between those.
I would be happy if one of the maintainer of this tool could clarify the intent of the snapshot feature.
(btw we are willing to really invest into implementing that)