sqitchchanges - Specifying changes for Sqitch


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. Most commands search the plan for the relevant change, though some, such as sqitch revert and sqitch log, search the database for the change.

Change Names

A change name, such as that passed to sqitch add and written to the plan file, has a few limitations on the characters it may contain. The rules are:

Note that “_” (underscore) is never considered punctuation. Some examples of valid names:

Some examples of invalid names:

Tag Names

A tag name, such as that passed to sqitch tag and written to the plan file, adhere by the same rules as “Change Names” with one additional limitation: tags must not contain a slash character ("/"). Example valid change name but invalid tag name:

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:


Part of the sqitch suite.