Currently, abc upgrade will return no-op if the template dirhash is unchanged. But this neglects one of the common uses of abc upgrade, which is to re-run a template with different inputs (like --input=user=alice@gmail.com -> --input=user=bob@gmail.com.
We should smarten abc upgrade so it will be no-op iff the template dirhash is unchanged and all template inputs are unchanged.
The current workaround for this is for the user to provide the --continue-if-current flag. But this has downsides:
it will rewrite the manifest with a new modification_time, which creates an unnecesarily dirty git workspace
it does extra work pointlessly
it requires the user to know about the existence of the flag and how to use it, instead of just doing the right thing
Currently,
abc upgrade
will return no-op if the template dirhash is unchanged. But this neglects one of the common uses ofabc upgrade
, which is to re-run a template with different inputs (like--input=user=alice@gmail.com
->--input=user=bob@gmail.com
.We should smarten abc upgrade so it will be no-op iff the template dirhash is unchanged and all template inputs are unchanged.
The current workaround for this is for the user to provide the
--continue-if-current
flag. But this has downsides:modification_time
, which creates an unnecesarily dirty git workspace