'\" t
. \" Title: git-footers
. \" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
. \" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
. \" Date: 02/20/2025
. \" Manual: Chromium depot_tools Manual
. \" Source: depot_tools 8a5ec2b9
. \" Language: English
. \"
.TH "GIT\-FOOTERS" "1" "02/20/2025" "depot_tools 8a5ec2b9" "Chromium depot_tools Manual"
. \" -----------------------------------------------------------------
. \" * Define some portability stuff
. \" -----------------------------------------------------------------
. \" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
. \" http://bugs.debian.org/507673
. \" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
. \" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n (.g .ds Aq \(aq
.el .ds Aq '
. \" -----------------------------------------------------------------
. \" * set default formatting
. \" -----------------------------------------------------------------
. \" disable hyphenation
.nh
. \" disable justification (adjust text to left margin only)
.ad l
. \" -----------------------------------------------------------------
. \" * MAIN CONTENT STARTS HERE *
. \" -----------------------------------------------------------------
.SH "NAME"
git-footers \- Extract meta\- information expressed as footers in a commit message\& .
.SH "SYNOPSIS"
.sp
.nf
\fI git footers\fR [\- \- key FOOTER] REF
\fI git footers\fR [\- \- position | \- \- position\- ref | \- \- position\- num] REF
.fi
.sp
.SH "DESCRIPTION"
.sp
\fB git footers\fR extracts information included in commit messages as "footers", which are roughly like HTTP headers except they are at the end\& . For example, a commit might look like:
.sp
.if n \{ \
.RS 4
. \}
.nf
This is a fancy commit message\& .
.fi
.if n \{ \
.RE
. \}
.sp
.if n \{ \
.RS 4
. \}
.nf
Cr\- Commit\- Position: refs/heads/main@{#292272}
Tech\- Debt\- Introduced: 17 nanoMSOffices
.fi
.if n \{ \
.RE
. \}
.sp
\fB git footers\fR knows how to extract this information\& .
.sp
Footers are order\- independent and can appear more than once\& . Thus they are treated as a multimap\& .
.SH "OPTIONS"
.sp
If no options are given, all footers are printed, with their names case\- normalized\& .
.PP
\- \- key FOOTER
.RS 4
Extract all the headers associated with the given key, and print one per line\& . If there are no footers with this key, produces no output and exits successfully\& .
.RE
.PP
\- \- position
.RS 4
Extract the Chrome commit position from the footers\& . This first attempts to get the value of the
\fB Cr\- Commit\- Position\fR
footer\& . If that doesn\(cq t exist then it tries a heuristic based on
\fB Git\- Svn\- Id\fR \& . Output is in one of the following forms:
.sp
.if n \{ \
.RS 4
. \}
.nf
refs/heads/main@{#292272}
refs/branch\- heads/branchname
.fi
.if n \{ \
.RE
. \}
.RE
.PP
\- \- position\- num
.RS 4
Extracts and prints the Chrome commit position number only (292272 in the example above)\& . Exits with an error if one cannot be found\& .
.RE
.PP
\- \- position\- ref
.RS 4
Extracts and prints the Chrome commit position ref name only (\fB ref/heads/main\fR
or
\fB refs/branch\- heads/branchname\fR
in the example above)\& .
.RE
.SH "EXAMPLE"
.sp
.sp
.if n \{ \
.RS 4
. \}
.nf
\fB $ git footers HEAD\fR
Tech\- Debt\- Introduced: \- 4 microMSOffices
Tech\- Debt\- Introduced: 17 microMSOffices
Cr\- Commit\- Position: refs/heads/main@{#292272}
\fB $ git footers \- \- key Tech\- Debt\- Introduced HEAD\fR
\- 4 microMSOffices
17 microMSOffices
\fB $ git footers \- \- position HEAD\fR
refs/heads/main@{#292272}
\fB $ git footers \- \- position\- num HEAD\fR
292272
\fB $ git footers \- \- position\- ref HEAD\fR
refs/heads/main
.fi
.if n \{ \
.RE
. \}
.sp
.SH "SEE ALSO"
.sp
\fB git-number\fR (1)
.SH "CHROMIUM DEPOT_TOOLS"
.sp
Part of the chromium \fB depot_tools\fR (7) suite\& . These tools are meant to assist with the development of chromium and related projects\& . Download the tools by checking out the \m[blue]\fBgit repository\fR\m[]\&\s-2\u[1] \d \s +2\& .
.SH "NOTES"
.IP " 1." 4
git repository
.RS 4
\% https://chromium.googlesource.com/chromium/tools/depot_tools.git
.RE