https://pantsbuild.org/ logo
#general
Title
# general
h

high-yak-85899

04/25/2023, 9:15 PM
I'm seeing some interesting behavior. If I change a yaml file, I can run
./pants --changed-since=master list
and I see the yaml show up in the changes. If I run
./pants --changed-since=master --changed-dependees=direct list
, I still only see the yaml file. When I run
./pants --changed-since=master dependees
, I see the
resources
target that corresponds to my yaml file. Since the language of changed-dependees says
Include direct or transitive dependees of changed targets.
I'm not really understanding why
--changed-since=master --changed-dependees=direct
doesn't show the same thing as
--changed-since=master dependees
.
Here's a snippet to illustrate this
Untitled
At the moment, I'm not really seeing why I would use
--changed-since=master --changed-dependees=direct
over
--changed-since=master dependees
.
h

happy-kitchen-89482

04/29/2023, 2:11 AM
This is a bit confusing, but the thing to remember is that
--changed
flags set the inputs to the goal, and
list
and
dependents
then act on those inputs. So
pants --changed-since=main list
is "show me all the targets that have changed" and
pants --changed-since=main dependents
(the dependees name is a deprecated alias for dependents) is "show me the direct dependents of all the targets that have changed",
So you are getting what you asked for.
h

high-yak-85899

04/29/2023, 2:16 AM
Yeah, I understand that part. But I'm having a harder time understanding what the correct behavior of
--changed-dependees=direct
should give. It does different things dependent on the target type that is changed.
h

happy-kitchen-89482

04/29/2023, 2:26 AM
Ah, OK, so I think this appears to have something to do with treating generator targets differently
Even
./pants --changed-since=main --changed-dependees=transitive list
does not have
src/python/pants/backend/openapi/sample:petstore
in the output
which is inconsistent with
./pants --changed-since=main dependents --transitive
3 Views