Rootroute       Hosting       Order       Map       Login   Secure Inter-Network Operations  
 
man : git-whatchanged(1)

Command: man perldoc info search(apropos)  




GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


NAME
       git-whatchanged - Show logs with difference each commit introduces

SYNOPSIS
       git whatchanged <option>...


DESCRIPTION
       Shows  commit  logs and diff output each commit introduces. The command
       internally invokes git rev-list piped to git diff-tree, and takes  com-
       mand line options for both of these commands.


       This manual page describes only the most frequently used options.


OPTIONS
       -p     Show textual diffs, instead of the git internal diff output for-
              mat that is useful only to tell  the  changed  paths  and  their
              nature of changes.


       -<n>   Limit output to <n> commits.


       <since>..<until>
              Limit output to between the two named commits (bottom exclusive,
              top inclusive).


       -r     Show git internal diff output, but for the whole tree, not  just
              the top level.


       -m     By  default,  differences  for merge commits are not shown. With
              this flag, show differences to that commit from all of its  par-
              ents.

              However, it is not very useful in general, although it is useful
              on a file-by-file basis.


       --pretty[=<format>], --format=<format>
              Pretty-print the contents of the commit logs in a given  format,
              where  <format>  can  be  one  of  oneline, short, medium, full,
              fuller, email, raw and format:<string>. See the "PRETTY FORMATS"
              section  for some additional details for each format. When omit-
              ted, the format defaults to medium.

              Note: you can specify the default pretty format in  the  reposi-
              tory configuration (see git-config(1)).






                                                                1





GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


       --abbrev-commit
              Instead  of  showing  the full 40-byte hexadecimal commit object
              name, show only a partial prefix. Non default number  of  digits
              can  be  specified with "--abbrev=<n>" (which also modifies diff
              output, if it is displayed).

              This should make "--pretty=oneline" a whole  lot  more  readable
              for people using 80-column terminals.


       --oneline
              This  is a shorthand for "--pretty=oneline --abbrev-commit" used
              together.


       --encoding[=<encoding>]
              The commit objects record the encoding used for the log  message
              in  their  encoding  header; this option can be used to tell the
              command to re-code the commit log message in the  encoding  pre-
              ferred  by  the user. For non plumbing commands this defaults to
              UTF-8.


       --no-notes, --show-notes[=<ref>]
              Show the notes (see git-notes(1)) that annotate the commit, when
              showing the commit log message. This is the default for git log,
              git show and git whatchanged commands when there is no --pretty,
              --format nor --oneline option is given on the command line.

              With  an  optional  argument, add this ref to the list of notes.
              The ref is taken to be in refs/notes/ if it is not qualified.


       --[no-]standard-notes
              Enable or  disable  populating  the  notes  ref  list  from  the
              core.notesRef  and  notes.displayRef variables (or corresponding
              environment overrides). Enabled by default. See git-config(1).


PRETTY FORMATS
       If the commit is a merge, and if  the  pretty-format  is  not  oneline,
       email  or  raw, an additional line is inserted before the Author: line.
       This line begins with "Merge: " and the sha1s of ancestral commits  are
       printed, separated by spaces. Note that the listed commits may not nec-
       essarily be the list of the direct parent commits if you  have  limited
       your  view  of  history:  for  example,  if  you are only interested in
       changes related to a certain directory or file.


       There are several built-in formats, and you can define additional  for-
       mats  by setting a pretty.<name> config option to either another format
       name, or a format: string, as described below (see git-config(1)). Here
       are the details of the built-in formats:




                                                                2





GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


       o   oneline


          <sha1> <title line>
          This is designed to be as compact as possible.

       o   short

          commit <sha1>
          Author: <author>

          <title line>

       o   medium

          commit <sha1>
          Author: <author>
          Date:   <author date>

          <title line>

          <full commit message>

       o   full

          commit <sha1>
          Author: <author>
          Commit: <committer>

          <title line>

          <full commit message>

       o   fuller

          commit <sha1>
          Author:     <author>
          AuthorDate: <author date>
          Commit:     <committer>
          CommitDate: <committer date>

          <title line>

          <full commit message>

       o   email

          From <sha1> <date>
          From: <author>
          Date: <author date>
          Subject: [PATCH] <title line>

          <full commit message>




                                                                3





GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


       o   raw

          The raw format shows the entire commit exactly as stored in the com-
          mit object. Notably, the SHA1s are displayed in full, regardless  of
          whether  --abbrev  or  --no-abbrev are used, and parents information
          show the true parent commits, without taking grafts nor history sim-
          plification into account.

       o   format:<string>

          The  format:<string>  format allows you to specify which information
          you want to show. It works a little bit like printf format, with the
          notable exception that you get a newline with %n instead of \n.

          E.g,  format:"The author of %h was %an, %ar%nThe title was >>%s<<%n"
          would show something like this:




          .ft C
          The author of fe6e0ee was Junio C Hamano, 23 hours ago
          The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
          .ft


          The placeholders are:


          o   %H: commit hash

          o   %h: abbreviated commit hash

          o   %T: tree hash

          o   %t: abbreviated tree hash

          o   %P: parent hashes

          o   %p: abbreviated parent hashes

          o   %an: author name

          o   %aN: author name (respecting .mailmap,  see  git-shortlog(1)  or
             git-blame(1))

          o   %ae: author email

          o    %aE:  author email (respecting .mailmap, see git-shortlog(1) or
             git-blame(1))

          o   %ad: author date (format respects --date= option)

          o   %aD: author date, RFC2822 style



                                                                4





GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


          o   %ar: author date, relative

          o   %at: author date, UNIX timestamp

          o   %ai: author date, ISO 8601 format

          o   %cn: committer name

          o   %cN: committer name (respecting .mailmap, see git-shortlog(1) or
             git-blame(1))

          o   %ce: committer email

          o    %cE:  committer email (respecting .mailmap, see git-shortlog(1)
             or git-blame(1))

          o   %cd: committer date

          o   %cD: committer date, RFC2822 style

          o   %cr: committer date, relative

          o   %ct: committer date, UNIX timestamp

          o   %ci: committer date, ISO 8601 format

          o   %d: ref names, like the --decorate option of git-log(1)

          o   %e: encoding

          o   %s: subject

          o   %f: sanitized subject line, suitable for a filename

          o   %b: body

          o   %B: raw body (unwrapped subject and body)

          o   %N: commit notes

          o   %gD: reflog selector, e.g., refs/stash@\{1\}

          o   %gd: shortened reflog selector, e.g., stash@\{1\}

          o   %gs: reflog subject

          o   %Cred: switch color to red

          o   %Cgreen: switch color to green

          o   %Cblue: switch color to blue

          o   %Creset: reset color




                                                                5





GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


          o   %C(...): color specification,  as  described  in  color.branch.*
             config option

          o   %m: left, right or boundary mark

          o   %n: newline

          o   %%: a raw %

          o   %x00: print a byte from a hex code

          o    %w([<w>[,<i1>[,<i2>]]]):  switch  line  wrapping,  like  the -w
             option of git-shortlog(1).





              Note



              Some placeholders may depend on other options given to the revi-
              sion  traversal engine. For example, the %g* reflog options will
              insert an empty string unless we are traversing  reflog  entries
              (e.g.,  by  git log -g). The %d placeholder will use the "short"
              decoration format if --decorate was not already provided on  the
              command line.



       If  you  add a {plus} (plus sign) after % of a placeholder, a line-feed
       is inserted immediately before the expansion if and only if the  place-
       holder expands to a non-empty string.


       If  you  add a - (minus sign) after % of a placeholder, line-feeds that
       immediately precede the expansion are deleted if and only if the place-
       holder expands to an empty string.


       If  you add a ` ` (space) after % of a placeholder, a space is inserted
       immediately before the expansion if and only if the placeholder expands
       to a non-empty string.


       o   tformat:

          The  tformat: format works exactly like format:, except that it pro-
          vides "terminator" semantics instead of  "separator"  semantics.  In
          other  words, each commit has the message terminator character (usu-
          ally a newline) appended, rather than  a  separator  placed  between
          entries.  This  means  that  the final entry of a single-line format
          will be properly terminated with a new line, just as  the  "oneline"



                                                                6





GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


          format does. For example:




          .ft C
          $ git log -2 --pretty=format:%h 4da45bef \
            | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/'
          4da45be
          7134973 -- NO NEWLINE

          $ git log -2 --pretty=tformat:%h 4da45bef \
            | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/'
          4da45be
          7134973
          .ft


          In  addition,  any  unrecognized string that has a % in it is inter-
          preted as if it has tformat: in front of it. For example, these  two
          are equivalent:



          .ft C
          $ git log -2 --pretty=tformat:%h 4da45bef
          $ git log -2 --pretty=%h 4da45bef
          .ft





EXAMPLES
       git whatchanged -p v2.6.12.. include/scsi drivers/scsi
              Show  as  patches the commits since version v2.6.12 that changed
              any file in the include/scsi or drivers/scsi subdirectories


       git whatchanged --since="2 weeks ago" -- gitk
              Show the changes during the last two weeks to the file gitk. The
              "--" is necessary to avoid confusion with the branch named gitk


AUTHOR
       Written by Linus Torvalds <torvaldsATosdl.org: mailto:torvaldsATosdl.org>
       and Junio C Hamano <gitsterATpobox.com: mailto:gitsterATpobox.com>


DOCUMENTATION
       Documentation by  David  Greaves,  Junio  C  Hamano  and  the  git-list
       <gitATvger.org: mailto:gitATvger.org>.





                                                                7





GIT-WHATCHANGED(1)                             GIT-WHATCHANGED(1)


GIT
       Part of the git(1) suite























































                                                                8




rootr.net - man pages