New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot Require Reworked Change #103

Closed
theory opened this Issue Jul 12, 2013 · 1 comment

Comments

Projects
None yet
1 participant
@theory
Collaborator

theory commented Jul 12, 2013

If a change is reworked, and a change after that (perhaps in another project?) requires it, Sqitch will hurl an error:

Key "foo" matches multiple changes

This is because change_id_for() chokes if it finds more than one. Of course, there will be more than one instance of a reworked change.

The fix is to change change_id_for() (and any other methods that do this) to allow duplicate change names if they are reworked. It may be sufficient simply to require that they be in the same project, though some more specific way of identifying a change as reworked would be preferable.

@ghost ghost assigned theory Jul 12, 2013

@theory theory closed this in 12527f7 Jul 17, 2013

theory added a commit that referenced this issue Jul 17, 2013

Find the earliest change, rather than the latest.
This is to make it consistent with `$plan->find()`. It also makes sense
because, if one declares a dependency on a named change with no tag
specification, it should mean *any* instance of that change. That *does* make
it a bit harder to declare the latest instane of a change if there has been no
tag in the interrim, but one can use `@Head` for that. (Issue #103).
@theory

This comment has been minimized.

Show comment
Hide comment
@theory

theory Jul 17, 2013

Collaborator

Wrote a blog post about this issue.

Collaborator

theory commented Jul 17, 2013

Wrote a blog post about this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment