Provided by: stgit_0.17.1-1_all bug

NAME

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

SYNOPSIS

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

DESCRIPTION

       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
       modifications).

       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

       -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.)

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

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

STGIT

       Part of the StGit suite - see stg(1)