stg-publish(1) — Linux manual page


STG-PUBLISH(1)                StGit Manual                STG-PUBLISH(1)

NAME         top

       stg-publish - Push the stack changes to a merge-friendly branch

SYNOPSIS         top

       stg publish [options] [--] [branch]

DESCRIPTION         top

       This command commits a set of changes on a separate (called
       public) branch based on the modifications of the given or current
       stack. The history of the public branch is not re-written, making
       it merge-friendly and feasible for publishing. The heads of the
       stack and public branch may be different but the corresponding
       tree objects are always the same.

       If the trees of the stack and public branch are different
       (otherwise the command has no effect), StGit first checks for a
       rebase of the stack since the last publishing. If a rebase is
       detected, StGit creates a commit on the public branch
       corresponding to a merge between the new stack base and the
       latest public head.

       If no rebasing was detected, StGit checks for new patches that
       may have been created on top of the stack since the last
       publishing. If new patches are found and are not empty, they are
       checked into the public branch keeping the same commit
       information (e.g. log message, author, committer, date).

       If the above tests fail (e.g. patches modified or removed), StGit
       creates a new commit on the public branch having the same tree as
       the stack but the public head as its parent. The editor will be
       invoked if no "--message" option is given.

       It is recommended that stack modifications falling in different
       categories as described above are separated by a publish command
       in order to keep the public branch history cleaner (otherwise
       StGit would generate a big commit including several stack

       The --unpublished option can be used to check if there are
       applied patches that have not been published to the public
       branch. This is done by trying to revert the patches in the
       public tree (similar to the push --merged detection). The --last
       option tries to find the last published patch by checking the
       SHA1 of the patch tree agains the public tree. This may fail if
       the stack was rebased since the last publish command.

       The public branch name can be set via the branch.<branch>.public
       configuration variable (defaulting to "<branch>.public").

OPTIONS         top

       -b BRANCH, --branch BRANCH
           Use BRANCH instead of the default branch.

       -l, --last
           Show the last published patch.

       -u, --unpublished
           Show applied patches that have not been published.

       --author "NAME <EMAIL>"
           Set the author details.

       --authname NAME
           Set the author name.

       --authemail EMAIL
           Set the author email.

       --authdate DATE
           Set the author date.

       -m MESSAGE, --message MESSAGE
           Use MESSAGE instead of invoking the editor.

       -f FILE, --file FILE
           Use the contents of FILE instead of invoking the editor. (If
           FILE is "-", write to stdout.)

           Add a "Signed-off-by:" to the end of the patch.

           Add an "Acked-by:" line to the end of the patch.

           Add a "Reviewed-by:" line to the end of the patch.

STGIT         top

       Part of the StGit suite - see stg(1)

COLOPHON         top

       This page is part of the stgit (Stacked Git) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for
       this manual page, see ⟨⟩.  This page
       was obtained from the project's upstream Git repository
       ⟨⟩ on 2021-04-01.  (At that time, the
       date of the most recent commit that was found in the repository
       was 2021-02-15.)  If you discover any rendering problems in this
       HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to

StGit                          04/01/2021                 STG-PUBLISH(1)