GIT-QPOP(1)

NAME
git-qpop - pop patches from the Git-MQ patch stack

SYNOPSIS
git qpop [[-f [--no-backup]] | --keep-changes] [<patch>]
git qpop [[-f [--no-backup]] | --keep-changes] [<index>]
git qpop [[-f [--no-backup]] | --keep-changes] [-a | --all]

DESCRIPTION
The git qpop command will pop patches from the Git-MQ applied patch stack, until the patch specified by the <patch> argument (an applied patch name), or by the <index> argument (an applied patch sequence number, as reported by the git qseries --verbose command), becomes the topmost applied patch.

If the -a (or --all) option is selected, then no <patch> or <index> argument should be specified; this will pop all currently-applied patches, leaving the patch stack empty.

If no <patch> or <index> argument is specified, and the --all option is not selected, then only the one currently-topmost patch will be popped, leaving its most recently applied predecessor as the new topmost patch; (this is the patch, if any, which would be identified by the git qprev command). If there is no applied predecessor, then the patch stack will be left empty.

OPTIONS

-a, --all
    Pop all currently-applied patches, thus leaving the patch stack empty.

-f, --force
    If any files, known to and tracked by git, have been locally modified in the working tree, or in git's index, and the --no-backup option has not been specified, first make backup backup copies of all locally modified files; discard all local modifications, then pop patches as appropriate.

    If the --force option is not specified, git qpop will abort in the presence of local modifications.

--no-backup
    Used only in conjunction with --force, (and silently ignored otherwise), discard all local modifications, without making backup copies.

--keep-changes
    Attempt to preserve local modifications, while popping patches; if any local modification conflicts with patch content, abort the entire git qpop operation.

    (The --keep-changes option is currently unimplemented).

If there are local modifications to tracked files, either in the working tree, or staged in git's index, and if neither the --force option, nor the --keep-changes option is specified, then the git qpop operation will be aborted.

EXIT STATUS
On successful completion, git qpop reports an exit status code of 0. Any non-zero exit status code indicates that an error occurred.

COMPARISON WITH MERCURIAL QUEUES
Inspired by, and for the most part based on behavioural observation of Mercurial's MQ extension, the git qpop command exhibits fundamentally the same behaviour as its hg qpop counterpart.

AUTHOR
Copyright (C) 2019, by Keith Marshall

This man page was written by Keith Marshall <keith@users.osdn.me>, to accompany the Git-MQ program suite. It is published under the terms of the GNU Free Documentation Licence, version 1.3, (or any later version published by the Free Software Foundation), with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

The Git-MQ program suite itself is distibruted under the terms of the GNU General Public Licence, version 3, (or any later version published by the Free Software Foundation).

Copies of the GNU Free Documentation Licence, and of the GNU General Public Licence, are included within the Git-MQ source distribution, in the files FDL-1.3, and LICENCE, respectively.

SEE ALSO
git-qgoto(1), git-qprev(1), git-qseries(1)