]> git.ipfire.org Git - thirdparty/git.git/blobdiff - Documentation/git-for-each-ref.txt
ref-filter: add `sanitize` option for 'subject' atom
[thirdparty/git.git] / Documentation / git-for-each-ref.txt
index 6dcd39f6f63dca79f7bc324874e3a4a6172bb688..616ce460872f0f93ff5944a36bb0b0a20920485d 100644 (file)
@@ -222,6 +222,8 @@ worktreepath::
 In addition to the above, for commit and tag objects, the header
 field names (`tree`, `parent`, `object`, `type`, and `tag`) can
 be used to specify the value in the header field.
+Fields `tree` and `parent` can also be used with modifier `:short` and
+`:short=<length>` just like `objectname`.
 
 For commit and tag objects, the special `creatordate` and `creator`
 fields will correspond to the appropriate date or name-email-date tuple
@@ -230,14 +232,35 @@ These are intended for working on a mix of annotated and lightweight tags.
 
 Fields that have name-email-date tuple as its value (`author`,
 `committer`, and `tagger`) can be suffixed with `name`, `email`,
-and `date` to extract the named component.
-
-The complete message in a commit and tag object is `contents`.
-Its first line is `contents:subject`, where subject is the concatenation
-of all lines of the commit message up to the first blank line.  The next
-line is `contents:body`, where body is all of the lines after the first
-blank line.  The optional GPG signature is `contents:signature`.  The
-first `N` lines of the message is obtained using `contents:lines=N`.
+and `date` to extract the named component.  For email fields (`authoremail`,
+`committeremail` and `taggeremail`), `:trim` can be appended to get the email
+without angle brackets, and `:localpart` to get the part before the `@` symbol
+out of the trimmed email.
+
+The message in a commit or a tag object is `contents`, from which
+`contents:<part>` can be used to extract various parts out of:
+
+contents:size::
+       The size in bytes of the commit or tag message.
+
+contents:subject::
+       The first paragraph of the message, which typically is a
+       single line, is taken as the "subject" of the commit or the
+       tag message.
+       Instead of `contents:subject`, field `subject` can also be used to
+       obtain same results. `:sanitize` can be appended to `subject` for
+       subject line suitable for filename.
+
+contents:body::
+       The remainder of the commit or the tag message that follows
+       the "subject".
+
+contents:signature::
+       The optional GPG signature of the tag.
+
+contents:lines=N::
+       The first `N` lines of the message.
+
 Additionally, the trailers as interpreted by linkgit:git-interpret-trailers[1]
 are obtained as `trailers` (or by using the historical alias
 `contents:trailers`).  Non-trailer lines from the trailer block can be omitted