.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "sqitch-plan 3pm" .TH sqitch-plan 3pm "2014-09-28" "perl v5.20.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "Name" .IX Header "Name" sqitch-plan \- Show planned database changes .SH "Synopsis" .IX Header "Synopsis" .Vb 1 \& sqitch [options] plan [] .Ve .SH "Description" .IX Header "Description" The \f(CW\*(C`plan\*(C'\fR command displays information about planned changes. By default, it will show all the changes for the current plan, but you can also search for changes matching regular expressions, and limit the results. Of course you could just \f(CW\*(C`cat\*(C'\fR your plan file, but this is more fun. .SH "Options" .IX Header "Options" .ie n .IP """\-\-event""" 4 .el .IP "\f(CW\-\-event\fR" 4 .IX Item "--event" Filter by event type. May be specified more than once. Allowed values are: .RS 4 .IP "\(bu" 4 \&\f(CW\*(C`deploy\*(C'\fR .IP "\(bu" 4 \&\f(CW\*(C`revert\*(C'\fR .RE .RS 4 .RE .ie n .IP """\-\-change\-pattern""" 4 .el .IP "\f(CW\-\-change\-pattern\fR" 4 .IX Item "--change-pattern" .PD 0 .ie n .IP """\-\-change""" 4 .el .IP "\f(CW\-\-change\fR" 4 .IX Item "--change" .PD A regular expression to match against change names. .ie n .IP """\-\-planner\-pattern""" 4 .el .IP "\f(CW\-\-planner\-pattern\fR" 4 .IX Item "--planner-pattern" .PD 0 .ie n .IP """\-\-planner""" 4 .el .IP "\f(CW\-\-planner\fR" 4 .IX Item "--planner" .PD A regular expression to match against planner names. .ie n .IP """\-\-format""" 4 .el .IP "\f(CW\-\-format\fR" 4 .IX Item "--format" .PD 0 .ie n .IP """\-f""" 4 .el .IP "\f(CW\-f\fR" 4 .IX Item "-f" .PD The format to use. May be one of: .RS 4 .ie n .IP """full""" 4 .el .IP "\f(CWfull\fR" 4 .IX Item "full" .PD 0 .ie n .IP """long""" 4 .el .IP "\f(CWlong\fR" 4 .IX Item "long" .ie n .IP """medium""" 4 .el .IP "\f(CWmedium\fR" 4 .IX Item "medium" .ie n .IP """short""" 4 .el .IP "\f(CWshort\fR" 4 .IX Item "short" .ie n .IP """oneline""" 4 .el .IP "\f(CWoneline\fR" 4 .IX Item "oneline" .ie n .IP """raw""" 4 .el .IP "\f(CWraw\fR" 4 .IX Item "raw" .ie n .IP """format:""" 4 .el .IP "\f(CWformat:\fR" 4 .IX Item "format:" .RE .RS 4 .PD .Sp See \*(L"Formats\*(R" for details on each format. Defaults to \f(CW\*(C`medium\*(C'\fR. .RE .ie n .IP """\-\-date\-format""" 4 .el .IP "\f(CW\-\-date\-format\fR" 4 .IX Item "--date-format" .PD 0 .ie n .IP """\-\-date""" 4 .el .IP "\f(CW\-\-date\fR" 4 .IX Item "--date" .PD Format to use for timestamps. Defaults to \f(CW\*(C`iso\*(C'\fR. Allowed values: .RS 4 .ie n .IP """iso""" 4 .el .IP "\f(CWiso\fR" 4 .IX Item "iso" .PD 0 .ie n .IP """iso8601""" 4 .el .IP "\f(CWiso8601\fR" 4 .IX Item "iso8601" .PD Shows timestamps in \s-1ISO\-8601\s0 format. .ie n .IP """rfc""" 4 .el .IP "\f(CWrfc\fR" 4 .IX Item "rfc" .PD 0 .ie n .IP """rfc2822""" 4 .el .IP "\f(CWrfc2822\fR" 4 .IX Item "rfc2822" .PD Show timestamps in \s-1RFC\-2822\s0 format. .ie n .IP """full""" 4 .el .IP "\f(CWfull\fR" 4 .IX Item "full" .PD 0 .ie n .IP """long""" 4 .el .IP "\f(CWlong\fR" 4 .IX Item "long" .ie n .IP """medium""" 4 .el .IP "\f(CWmedium\fR" 4 .IX Item "medium" .ie n .IP """short""" 4 .el .IP "\f(CWshort\fR" 4 .IX Item "short" .PD Show timestamps in the specified format length, using the system locale's \&\f(CW\*(C`LC_TIME\*(C'\fR category. .ie n .IP """raw""" 4 .el .IP "\f(CWraw\fR" 4 .IX Item "raw" Show timestamps in raw format, which is strict \s-1ISO\-8601\s0 in the \s-1UTC\s0 time zone. .ie n .IP """strftime:$string""" 4 .el .IP "\f(CWstrftime:$string\fR" 4 .IX Item "strftime:$string" Show timestamps using an arbitrary \f(CW\*(C`strftime\*(C'\fR pattern. See \&\*(L"strftime Paterns\*(R" in DateTime for comprehensive documentation of supported patterns. .ie n .IP """cldr:$pattern""" 4 .el .IP "\f(CWcldr:$pattern\fR" 4 .IX Item "cldr:$pattern" Show timestamps using an arbitrary \f(CW\*(C`cldr\*(C'\fR pattern. See \&\*(L"\s-1CLDR\s0 Paterns\*(R" in DateTime for comprehensive documentation of supported patterns. .RE .RS 4 .RE .ie n .IP """\-\-max\-count""" 4 .el .IP "\f(CW\-\-max\-count\fR" 4 .IX Item "--max-count" .PD 0 .ie n .IP """\-n""" 4 .el .IP "\f(CW\-n\fR" 4 .IX Item "-n" .PD Limit the number of changes to output. .ie n .IP """\-\-skip""" 4 .el .IP "\f(CW\-\-skip\fR" 4 .IX Item "--skip" Skip the specified number changes before starting to show the output. .ie n .IP """\-\-reverse""" 4 .el .IP "\f(CW\-\-reverse\fR" 4 .IX Item "--reverse" Output the changes in reverse order. .ie n .IP """\-\-no\-reverse""" 4 .el .IP "\f(CW\-\-no\-reverse\fR" 4 .IX Item "--no-reverse" Do not output the changes in reverse order. .ie n .IP """\-\-color""" 4 .el .IP "\f(CW\-\-color\fR" 4 .IX Item "--color" Show colored output. The value may be one of: .RS 4 .ie n .IP """auto"" (the default)" 4 .el .IP "\f(CWauto\fR (the default)" 4 .IX Item "auto (the default)" .PD 0 .ie n .IP """always""" 4 .el .IP "\f(CWalways\fR" 4 .IX Item "always" .ie n .IP """never""" 4 .el .IP "\f(CWnever\fR" 4 .IX Item "never" .RE .RS 4 .RE .ie n .IP """\-\-no\-color""" 4 .el .IP "\f(CW\-\-no\-color\fR" 4 .IX Item "--no-color" .PD Turn off colored output. It is the same as \f(CW\*(C`\-\-color never\*(C'\fR. .ie n .IP """\-\-abbrev""" 4 .el .IP "\f(CW\-\-abbrev\fR" 4 .IX Item "--abbrev" Instead of showing the full 40\-byte hexadecimal change \s-1ID,\s0 show only a partial prefix the specified number of characters long. .ie n .IP """\-\-oneline""" 4 .el .IP "\f(CW\-\-oneline\fR" 4 .IX Item "--oneline" Shorthand for \f(CW\*(C`\-\-format oneline \-\-abbrev 6\*(C'\fR. .SH "Configuration Variables" .IX Header "Configuration Variables" .ie n .IP """plan.format""" 4 .el .IP "\f(CWplan.format\fR" 4 .IX Item "plan.format" Output format to use. Supports the same values as \f(CW\*(C`\-\-format\*(C'\fR. .ie n .IP """plan.date_format""" 4 .el .IP "\f(CWplan.date_format\fR" 4 .IX Item "plan.date_format" Format to use for timestamps. Supports the same values as the \f(CW\*(C`\-\-date\-format\*(C'\fR option. .ie n .IP """plan.color""" 4 .el .IP "\f(CWplan.color\fR" 4 .IX Item "plan.color" Output colors. Supports the same values as the \f(CW\*(C`\-\-color\*(C'\fR option. .SH "Formats" .IX Header "Formats" There are several built-in formats, and you can emit data in a custom format \&\f(CW\*(C`format:\*(C'\fR format. Here are the details of the built-in formats: .ie n .IP """oneline""" 4 .el .IP "\f(CWoneline\fR" 4 .IX Item "oneline" .Vb 1 \& <tags> .Ve .Sp This is designed to be as compact as possible. .ie n .IP """short""" 4 .el .IP "\f(CWshort\fR" 4 .IX Item "short" .Vb 3 \& <event type> <change id> \& Name: <change name> \& Planner: <planner> \& \& <title line> .Ve .ie n .IP """medium""" 4 .el .IP "\f(CWmedium\fR" 4 .IX Item "medium" .Vb 4 \& <event type> <change id> \& Name: <change name> \& Planner: <planner> \& Date: <commit date> \& \& <full change note> .Ve .ie n .IP """long""" 4 .el .IP "\f(CWlong\fR" 4 .IX Item "long" .Vb 4 \& <event type> <change id> <tags> \& Name: <change name> \& Project: <change name> \& Planner: <planner> \& \& <full change note> .Ve .ie n .IP """full""" 4 .el .IP "\f(CWfull\fR" 4 .IX Item "full" .Vb 8 \& <event type> <change id> <tags> \& Event: <event type> \& Name: <change name> \& Project: <change name> \& Requires: <required changes> \& Conflicts: <conflicting changes> \& Planner: <planner> \& Planned: <plan date> \& \& <full change note> .Ve .ie n .IP """raw""" 4 .el .IP "\f(CWraw\fR" 4 .IX Item "raw" .Vb 7 \& <event type> <change id> <tags> \& name <change name> \& project <project name> \& requires <required changes> \& conflicts <conflicting changes> \& planner <planner> \& planned <raw plan date> \& \& <full change note> .Ve .Sp Suitable for parsing: the change \s-1ID\s0 is displayed in full, without regard to the value of \f(CW\*(C`\-\-abbrev\*(C'\fR; dates are formatted raw (strict \s-1ISO\-8601\s0 format in the \s-1UTC\s0 time zone); and all labels are lowercased and unlocalized. .ie n .IP """format:<string>""" 4 .el .IP "\f(CWformat:<string>\fR" 4 .IX Item "format:<string>" The \f(CW\*(C`format:<string>\*(C'\fR format allows you to specify which information you want to show. It works a little bit like \f(CW\*(C`printf\*(C'\fR format and a little like Git plan format. For example, this format: .Sp .Vb 1 \& format:The planner of %h was %{name}p%vThe title was >>%s<<%v .Ve .Sp Would show something like this: .Sp .Vb 2 \& The planner of f26a3s was Tom Lane \& The title was >>We really need to get this right.<< .Ve .Sp The placeholders are: .RS 4 .IP "\(bu" 4 \&\f(CW%H\fR: Event change \s-1ID\s0 .IP "\(bu" 4 \&\f(CW%h\fR: Event change \s-1ID \s0(respects \f(CW\*(C`\-\-abbrev\*(C'\fR) .IP "\(bu" 4 \&\f(CW%n\fR: Event change name .IP "\(bu" 4 \&\f(CW%o\fR: Event change project name .IP "\(bu" 4 \&\f(CW\*(C`%($len)h\*(C'\fR: abbreviated change of length \f(CW$len\fR .IP "\(bu" 4 \&\f(CW%e\fR: Event type (deploy, revert, fail) .IP "\(bu" 4 \&\f(CW%l\fR: Localized lowercase event type label .IP "\(bu" 4 \&\f(CW%L\fR: Localized title case event type label .IP "\(bu" 4 \&\f(CW%c\fR: Change planner name and email address .IP "\(bu" 4 \&\f(CW\*(C`%{name}p\*(C'\fR: Change planner name .IP "\(bu" 4 \&\f(CW\*(C`%{email}p\*(C'\fR: Change planner email address .IP "\(bu" 4 \&\f(CW\*(C`%{date}p\*(C'\fR: plan date (respects \f(CW\*(C`\-\-date\-format\*(C'\fR) .IP "\(bu" 4 \&\f(CW\*(C`%{date:rfc}p\*(C'\fR: plan date, \s-1RFC2822\s0 format .IP "\(bu" 4 \&\f(CW\*(C`%{date:iso}p\*(C'\fR: plan date, \s-1ISO\-8601\s0 format .IP "\(bu" 4 \&\f(CW\*(C`%{date:full}p\*(C'\fR: plan date, full format .IP "\(bu" 4 \&\f(CW\*(C`%{date:long}p\*(C'\fR: plan date, long format .IP "\(bu" 4 \&\f(CW\*(C`%{date:medium}p\*(C'\fR: plan date, medium format .IP "\(bu" 4 \&\f(CW\*(C`%{date:short}p\*(C'\fR: plan date, short format .IP "\(bu" 4 \&\f(CW\*(C`%{date:cldr:$pattern}p\*(C'\fR: plan date, formatted with custom \s-1CLDR\s0 pattern .IP "\(bu" 4 \&\f(CW\*(C`%{date:strftime:$pattern}p\*(C'\fR: plan date, formatted with custom strftime pattern .IP "\(bu" 4 \&\f(CW%t\fR: Comma-delimited list of tags .IP "\(bu" 4 \&\f(CW\*(C`%{$sep}t\*(C'\fR: list of tags delimited by \f(CW$sep\fR .IP "\(bu" 4 \&\f(CW%T\fR: Parenthesized list of comma-delimited tags .IP "\(bu" 4 \&\f(CW\*(C`%{$sep}T\*(C'\fR: Parenthesized list of tags delimited by \f(CW$sep\fR .IP "\(bu" 4 \&\f(CW%s\fR: Subject (a.k.a. title line) .IP "\(bu" 4 \&\f(CW%r\fR: Comma-delimited list of required changes .IP "\(bu" 4 \&\f(CW\*(C`%{$sep}r\*(C'\fR: list of required changes delimited by \f(CW$sep\fR .IP "\(bu" 4 \&\f(CW%R\fR: Localized label and list of comma-delimited required changes .IP "\(bu" 4 \&\f(CW\*(C`%{$sep}R\*(C'\fR: Localized label and list of required changes delimited by \f(CW$sep\fR .IP "\(bu" 4 \&\f(CW%x\fR: Comma-delimited list of conflicting changes .IP "\(bu" 4 \&\f(CW\*(C`%{$sep}x\*(C'\fR: list of conflicting changes delimited by \f(CW$sep\fR .IP "\(bu" 4 \&\f(CW%X\fR: Localized label and list of comma-delimited conflicting changes .IP "\(bu" 4 \&\f(CW\*(C`%{$sep}X\*(C'\fR: Localized label and list of conflicting changes delimited by \f(CW$sep\fR .IP "\(bu" 4 \&\f(CW%b\fR: Body .IP "\(bu" 4 \&\f(CW%B\fR: Raw body (unwrapped subject and body) .IP "\(bu" 4 \&\f(CW\*(C`%{$prefix}\*(C'\fRB: Raw body with \f(CW$prefix\fR prefixed to every line .IP "\(bu" 4 \&\f(CW\*(C`%{event}_\*(C'\fR Localized label for \*(L"event\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{change}_\*(C'\fR Localized label for \*(L"change\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{planner}_\*(C'\fR Localized label for \*(L"planner\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{by}_\*(C'\fR Localized label for \*(L"by\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{date}_\*(C'\fR Localized label for \*(L"date\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{planned}_\*(C'\fR Localized label for \*(L"planned\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{name}_\*(C'\fR Localized label for \*(L"name\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{project}_\*(C'\fR Localized label for \*(L"project\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{email}_\*(C'\fR Localized label for \*(L"email\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{requires}_\*(C'\fR Localized label for \*(L"requires\*(R" .IP "\(bu" 4 \&\f(CW\*(C`%{conflicts}_\*(C'\fR Localized label for \*(L"conflicts\*(R" .IP "\(bu" 4 \&\f(CW%v\fR vertical space (newline) .IP "\(bu" 4 \&\f(CW\*(C`%{$color}C\*(C'\fR: An \s-1ANSI\s0 color: black, red, green, yellow, reset, etc. .IP "\(bu" 4 \&\f(CW\*(C`%{:event}C\*(C'\fR: An \s-1ANSI\s0 color based on event type (green deploy, blue revert, red fail) .IP "\(bu" 4 \&\f(CW\*(C`%{$attribute}a\*(C'\fR: The raw attribute name and value, if it exists and has a value .RE .RS 4 .RE .SH "Sqitch" .IX Header "Sqitch" Part of the sqitch suite.