Name
sqitchchanges -Specifying changes for Sqitch
Description
Many Sqitch commands take change parameters as arguments. Depending on the command, they denote a specific change or, for commands which walk change history or the change plan (such as sqitch log
), all changes which can be reached from that change.
Specifying Changes
A change parameter names a change object. It uses what is called an extended SHA1 syntax. Here are various ways to spell change names:
<change_name>
, e.g.,users_table
-
The name of a change itself, as it was added to the plan via
sqitch add
. @<tag_name>
, e.g.,@rc1
-
The change as of the named tag. Tags can be added to the plan via
sqitch tag
. <change_name>@<tag_name>
, e.g.,users_table@beta1
-
The named change as of a tag, also known as a tag-qualified change name. For change iteration commands (such as
sqitch log
), this means the instance of a change with that name before the specified tag. For dependency parameters (such as insqitch add
), this means any instance of a change just before that tag, or at any time after the tag. <sha1>
, e.g.,40763784148fa190d75bad036730ef44d1c2eac6
-
The change full SHA1 ID (40-byte hexadecimal string). In some cases, such as
sqitch add
, the ID may refer to a change in another Sqitch project. <project>:<change_name>
, e.g.,mybase:users_table
-
The name of a change in a specific project. Non-SHA1 change parameters without a project prefix are assumed to belong to the current project. Most useful for declaring a dependency on a change from another project in
sqitch add
. <project>:@<tag_name>
, e.g.,mybase:@rc1
-
The name of a tag in an the named project.
<project>:<change_name>@<tag_name>
, e.g.,project:users_table@beta1
-
A tag-qualified named change in the named project.
<project>:<sha1>
, e.g.,mybase:40763784148fa190d75bad036730ef44d1c2eac6
-
The full SHA1 ID from another project. Probably redundant, since the SHA1 I should itself be sufficient. But useful for declaring dependencies in the current project so that
sqitch add
orsqitch rework
will validate that the specified change is in the current project. @HEAD
-
Special symbolic name for the last change in the plan or deployed to the database. Typically omitted.
@ROOT
-
Special symbolic name for the first change in the plan or deployed to the database. Typically omitted.
Sqitch
Part of the sqitch suite.