In the following situation, bender works in a way I fail to rationalize. Assume you have a nest of IPs: pulp depends on pulp_cluster (and contains it), which depends on cv32e40p (and contains it).
Initally, you are working on pulp_cluster so you bender clone it and its dependency cv32e40p.
This results in two working dirs pulp/working_dir/pulp_cluster and pulp/working_dir/cv32e40p. The Bender.local in pulp gets updated.
So far so good.
When you finish working on pulp_cluster and cv32e40p, you push everything and update pulp_cluster's Bender.yml - but you may want to push also pulp_cluster's Bender.lock, e.g., for CI. That's when (in my view irrationally) a bender update will fail to work: it will actually point to the Path defined in the pulp Bender.local, even if the command is run inside pulp_cluster.
I understand why bender looks upwards in the file system hierarchy -- if you run it inside a nested folder in a repo, it makes sense to do that (like git). But it should stop at the first one it finds, not look further upwards -- what is the use case for that?
In the following situation,
benderworks in a way I fail to rationalize. Assume you have a nest of IPs:pulpdepends onpulp_cluster(and contains it), which depends oncv32e40p(and contains it).Initally, you are working on
pulp_clusterso youbender cloneit and its dependencycv32e40p.This results in two working dirs
pulp/working_dir/pulp_clusterandpulp/working_dir/cv32e40p. TheBender.localinpulpgets updated.So far so good.
When you finish working on
pulp_clusterandcv32e40p, you push everything and updatepulp_cluster'sBender.yml- but you may want to push alsopulp_cluster'sBender.lock, e.g., for CI. That's when (in my view irrationally) abender updatewill fail to work: it will actually point to thePathdefined in thepulpBender.local, even if the command is run insidepulp_cluster.I understand why
benderlooks upwards in the file system hierarchy -- if you run it inside a nested folder in a repo, it makes sense to do that (likegit). But it should stop at the first one it finds, not look further upwards -- what is the use case for that?