LinuxGuruz
  • Last 5 Forum Topics
    Replies
    Views
    Last post


The Web Only This Site
  • BOOKMARK

  • ADD TO FAVORITES

  • REFERENCES


  • MARC

    Mailing list ARChives
    - Search by -
     Subjects
     Authors
     Bodies





    FOLDOC

    Computing Dictionary




  • Text Link Ads






  • LINUX man pages
  • Linux Man Page Viewer


    The following form allows you to view linux man pages.

    Command:

    git-format-patch

    
    
    

    SYNOPSIS

           git format-patch [-k] [(-o|--output-directory) <dir> | --stdout]
                              [--no-thread | --thread[=<style>]]
                              [(--attach|--inline)[=<boundary>] | --no-attach]
                              [-s | --signoff]
                              [-n | --numbered | -N | --no-numbered]
                              [--start-number <n>] [--numbered-files]
                              [--in-reply-to=Message-Id] [--suffix=.<sfx>]
                              [--ignore-if-in-upstream]
                              [--subject-prefix=Subject-Prefix]
                              [--to=<email>] [--cc=<email>]
                              [--cover-letter]
                              [<common diff options>]
                              [ <since> | <revision range> ]
    
    
    

    DESCRIPTION

           Prepare each commit with its patch in one file per commit, formatted to
           resemble UNIX mailbox format. The output of this command is convenient
           for e-mail submission or for use with git am.
    
           There are two ways to specify which commits to operate on.
    
            1. A single commit, <since>, specifies that the commits leading to the
               tip of the current branch that are not in the history that leads to
               the <since> to be output.
    
            2. Generic <revision range> expression (see "SPECIFYING REVISIONS"
               section in git-rev-parse(1)) means the commits in the specified
               range.
    
           The first rule takes precedence in the case of a single <commit>. To
           apply the second rule, i.e., format everything since the beginning of
           history up until <commit>, use the --root option: git format-patch
           --root <commit>. If you want to format only <commit> itself, you can do
           this with git format-patch -1 <commit>.
    
           By default, each output file is numbered sequentially from 1, and uses
           the first line of the commit message (massaged for pathname safety) as
           the filename. With the --numbered-files option, the output file names
           will only be numbers, without the first line of the commit appended.
           The names of the output files are printed to standard output, unless
           the --stdout option is specified.
    
           If -o is specified, output files are created in <dir>. Otherwise they
           are created in the current working directory.
    
           By default, the subject of a single patch is "[PATCH] First Line" and
           the subject when multiple patches are output is "[PATCH n/m] First
           Line". To force 1/1 to be added for a single patch, use -n. To omit
           patch numbers from the subject, use -N.
    
               Generate a diff using the "patience diff" algorithm.
    
           --stat[=width[,name-width]]
               Generate a diffstat. You can override the default output width for
               80-column terminal by --stat=width. The width of the filename part
               can be controlled by giving another width to it separated by a
               comma.
    
           --numstat
               Similar to --stat, but shows number of added and deleted lines in
               decimal notation and pathname without abbreviation, to make it more
               machine friendly. For binary files, outputs two - instead of saying
               0 0.
    
           --shortstat
               Output only the last line of the --stat format containing total
               number of modified files, as well as number of added and deleted
               lines.
    
           --dirstat[=limit]
               Output the distribution of relative amount of changes (number of
               lines added or removed) for each sub-directory. Directories with
               changes below a cut-off percent (3% by default) are not shown. The
               cut-off percent can be set with --dirstat=limit. Changes in a child
               directory is not counted for the parent directory, unless
               --cumulative is used.
    
           --dirstat-by-file[=limit]
               Same as --dirstat, but counts changed files instead of lines.
    
           --summary
               Output a condensed summary of extended header information such as
               creations, renames and mode changes.
    
           --no-renames
               Turn off rename detection, even when the configuration file gives
               the default to do so.
    
           --full-index
               Instead of the first handful of characters, show the full pre- and
               post-image blob object names on the "index" line when generating
               patch format output.
    
           --binary
               In addition to --full-index, output a binary diff that can be
               applied with git-apply.
    
           --abbrev[=<n>]
               Instead of showing the full 40-byte hexadecimal object name in
               diff-raw format output and diff-tree header lines, show only a
               partial prefix. This is independent of the --full-index option
               above, which controls the diff-patch output format. Non default
               This flag makes the command inspect unmodified files as candidates
               for the source of copy. This is a very expensive operation for
               large projects, so use it with caution. Giving more than one -C
               option has the same effect.
    
           -l<num>
               The -M and -C options require O(n^2) processing time where n is the
               number of potential rename/copy targets. This option prevents
               rename/copy detection from running if the number of rename/copy
               targets exceeds the specified number.
    
           -O<orderfile>
               Output the patch in the order specified in the <orderfile>, which
               has one shell glob pattern per line.
    
           -a, --text
               Treat all files as text.
    
           --ignore-space-at-eol
               Ignore changes in whitespace at EOL.
    
           -b, --ignore-space-change
               Ignore changes in amount of whitespace. This ignores whitespace at
               line end, and considers all other sequences of one or more
               whitespace characters to be equivalent.
    
           -w, --ignore-all-space
               Ignore whitespace when comparing lines. This ignores differences
               even if one line has whitespace where the other line has none.
    
           --inter-hunk-context=<lines>
               Show the context between diff hunks, up to the specified number of
               lines, thereby fusing hunks that are close to each other.
    
           --ext-diff
               Allow an external diff helper to be executed. If you set an
               external diff driver with gitattributes(5), you need to use this
               option with git-log(1) and friends.
    
           --no-ext-diff
               Disallow external diff drivers.
    
           --ignore-submodules
               Ignore changes to submodules in the diff generation.
    
           --src-prefix=<prefix>
               Show the given source prefix instead of "a/".
    
           --dst-prefix=<prefix>
               Show the given destination prefix instead of "b/".
    
           --no-prefix
    
           -N, --no-numbered
               Name output in [PATCH] format.
    
           --start-number <n>
               Start numbering the patches at <n> instead of 1.
    
           --numbered-files
               Output file names will be a simple number sequence without the
               default first line of the commit appended.
    
           -k, --keep-subject
               Do not strip/add [PATCH] from the first line of the commit log
               message.
    
           -s, --signoff
               Add Signed-off-by: line to the commit message, using the committer
               identity of yourself.
    
           --stdout
               Print all commits to the standard output in mbox format, instead of
               creating a file for each one.
    
           --attach[=<boundary>]
               Create multipart/mixed attachment, the first part of which is the
               commit message and the patch itself in the second part, with
               Content-Disposition: attachment.
    
           --no-attach
               Disable the creation of an attachment, overriding the configuration
               setting.
    
           --inline[=<boundary>]
               Create multipart/mixed attachment, the first part of which is the
               commit message and the patch itself in the second part, with
               Content-Disposition: inline.
    
           --thread[=<style>], --no-thread
               Controls addition of In-Reply-To and References headers to make the
               second and subsequent mails appear as replies to the first. Also
               controls generation of the Message-Id header to reference.
    
               The optional <style> argument can be either shallow or deep.
               shallow threading makes every mail a reply to the head of the
               series, where the head is chosen from the cover letter, the
               --in-reply-to, and the first patch mail, in this order.  deep
               threading makes every mail a reply to the previous one.
    
               The default is --no-thread, unless the format.thread configuration
               is set. If --thread is specified without a style, it defaults to
               the style specified by format.thread if any, or else shallow.
    
    
           --subject-prefix=<Subject-Prefix>
               Instead of the standard [PATCH] prefix in the subject line, instead
               use [<Subject-Prefix>]. This allows for useful naming of a patch
               series, and can be combined with the --numbered option.
    
           --to=<email>
               Add a To: header to the email headers. This is in addition to any
               configured headers, and may be used multiple times.
    
           --cc=<email>
               Add a Cc: header to the email headers. This is in addition to any
               configured headers, and may be used multiple times.
    
           --add-header=<header>
               Add an arbitrary header to the email headers. This is in addition
               to any configured headers, and may be used multiple times. For
               example, --add-header="Organization: git-foo"
    
           --cover-letter
               In addition to the patches, generate a cover letter file containing
               the shortlog and the overall diffstat. You can fill in a
               description in the file before sending it out.
    
           --suffix=.<sfx>
               Instead of using .patch as the suffix for generated filenames, use
               specified suffix. A common alternative is --suffix=.txt. Leaving
               this empty will remove the .patch suffix.
    
               Note that the leading character does not have to be a dot; for
               example, you can use --suffix=-patch to get
               0001-description-of-my-change-patch.
    
           --no-binary
               Do not output contents of changes in binary files, instead display
               a notice that those files changed. Patches generated using this
               option cannot be applied properly, but they are still useful for
               code review.
    
           --root
               Treat the revision argument as a <revision range>, even if it is
               just a single commit (that would normally be treated as a <since>).
               Note that root commits included in the specified range are always
               formatted as creation patches, independently of this flag.
    
    
    

    CONFIGURATION

           You can specify extra mail header lines to be added to each message,
           defaults for the subject prefix and file suffix, number patches when
           outputting more than one patch, add "To" or "Cc:" headers, configure
           attachments, and sign off patches with configuration variables.
    
               [format]
                   $ git format-patch -k --stdout R1..R2 | git am -3 -k
    
           ?   Extract all commits which are in the current branch but not in the
               origin branch:
    
                   $ git format-patch origin
    
               For each commit a separate file is created in the current
               directory.
    
           ?   Extract all commits that lead to origin since the inception of the
               project:
    
                   $ git format-patch --root origin
    
           ?   The same as the previous one:
    
                   $ git format-patch -M -B origin
    
               Additionally, it detects and handles renames and complete rewrites
               intelligently to produce a renaming patch. A renaming patch reduces
               the amount of text output, and generally makes it easier to review.
               Note that non-git "patch" programs won't understand renaming
               patches, so use it only when you know the recipient uses git to
               apply your patch.
    
           ?   Extract three topmost commits from the current branch and format
               them as e-mailable patches:
    
                   $ git format-patch -3
    
    
    

    SEE ALSO

           git-am(1), git-send-email(1)
    
    
    

    AUTHOR

           Written by Junio C Hamano <gitster@pobox.com[1]>
    
    
    

    DOCUMENTATION

           Documentation by Junio C Hamano and the git-list
           <git@vger.kernel.org[2]>.
    
    
    

    GIT

           Part of the git(1) suite
    
    
    

    NOTES

            1. gitster@pobox.com
               mailto:gitster@pobox.com
    
            2. git@vger.kernel.org
    
  • MORE RESOURCE


  • Linux

    The Distributions





    Linux

    The Software





    Linux

    The News



  • MARKETING






  • Toll Free

webmaster@linuxguruz.com
Copyright © 1999 - 2016 by LinuxGuruz