along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ from stgit.argparse import opt from stgit.commands import common from stgit.lib import transaction from stgit import argparse help = 'Delete patches' kind = 'patch' usage = ['[options] [--] <patch1> [<patch2>] [<patch3>..<patch4>]'] description = """ Delete the patches passed as arguments.""" args = [argparse.patch_range(argparse.applied_patches, argparse.unapplied_patches)] options = [ opt('--spill', action = 'store_true', short = 'Spill patch contents to worktree and index', long = """ Delete the patches, but do not touch the index and worktree. This only works with applied patches at the top of the stack. The effect is to "spill" the patch contents into the index and worktree. This can be useful e.g. if you want to split a patch into several smaller pieces."""), opt('-b', '--branch', args = [argparse.stg_branches], short = 'Use BRANCH instead of the default branch'), opt('-t', '--top', action = 'store_true', short = 'Delete top patch'),] directory = common.DirectoryHasRepositoryLib()
'/usr/share/stgit/templates/patchexport.tmpl') can be used for the patch format. The following variables are supported in the template file: %(description)s - patch description %(shortdescr)s - the first line of the patch description %(longdescr)s - the rest of the patch description, after the first line %(diffstat)s - the diff statistics %(authname)s - author's name %(authemail)s - author's e-mail %(authdate)s - patch creation date %(commname)s - committer's name %(commemail)s - committer's e-mail""" args = [ argparse.patch_range(argparse.applied_patches, argparse.unapplied_patches, argparse.hidden_patches) ] options = [ opt('-d', '--dir', args=[argparse.dir], short='Export patches to DIR instead of the default'), opt('-p', '--patch', action='store_true', short='Append .patch to the patch names'), opt('-e', '--extension', short='Append .EXTENSION to the patch names'), opt('-n', '--numbered', action='store_true', short='Prefix the patch names with order numbers'),
Import one or more patches from a different branch or a commit object into the current series. By default, the name of the imported patch is used as the name of the current patch. It can be overridden with the '--name' option. A commit object can be reverted with the '--revert' option. The log and author information are those of the commit object. When using the '--expose' option, the format of the commit message is determined by the 'stgit.pick.expose-format' configuration option. This option is a format string as may supplied as the '--pretty' option to linkgit:git-show[1]. The default is "format:%B%n(imported from commit %H)", which appends the commit hash of the picked commit to the patch's commit message. """ args = [patch_range('applied_patches', 'unapplied_patches', 'hidden_patches')] options = [ opt( '-n', '--name', short='Use NAME as the patch name', ), opt( '-B', '--ref-branch', args=['stg_branches'], short='Pick patches from BRANCH', ), opt( '-r', '--revert',
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/. """ help = 'Unhide a hidden patch' kind = 'stack' usage = ['[options] [--] <patch-range>'] description = """ Unhide a hidden range of patches so that they are shown in the plain 'stg series' command output.""" args = [patch_range('hidden_patches')] options = [ opt( '-b', '--branch', args=['stg_branches'], short='Use BRANCH instead of the default branch', ) ] directory = DirectoryHasRepository() def func(parser, options, args): """Unhide a range of patch in the series.""" stack = directory.repository.current_stack
help = 'Push one or more patches onto the stack' kind = 'stack' usage = ['[options] [--] [<patch1>] [<patch2>] [<patch3>..<patch4>]'] description = """ Push one or more patches (defaulting to the first unapplied one) onto the stack. The 'push' operation allows patch reordering by commuting them with the three-way merge algorithm. If there are conflicts while pushing a patch, those conflicts are written to the work tree, and the command halts. Conflicts raised during the push operation have to be fixed and the 'git add --update' command run (alternatively, you may undo the conflicting push with 'stg undo'). The command also notifies when the patch becomes empty (fully merged upstream) or is modified (three-way merged) by the 'push' operation.""" args = [patch_range('unapplied_patches')] options = ([ opt( '-a', '--all', action='store_true', short='Push all the unapplied patches', ), opt( '-n', '--number', type='int', short='Push the specified number of patches', long=''' Push the specified number of patches.
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/. """ help = 'Unhide a hidden patch' kind = 'stack' usage = ['[options] [--] <patch-range>'] description = """ Unhide a hidden range of patches so that they are shown in the plain 'stg series' command output.""" args = [argparse.patch_range(argparse.hidden_patches)] options = [ opt('-b', '--branch', args = [argparse.stg_branches], short = 'Use BRANCH instead of the default branch')] directory = common.DirectoryHasRepositoryLib() def func(parser, options, args): """Unhide a range of patch in the series.""" stack = directory.repository.current_stack trans = transaction.StackTransaction(stack, 'unhide') if not args: parser.error('No patches specified') patches = common.parse_patches(args, trans.all_patches)
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/. """ help = 'Push patches to the top, even if applied' kind = 'stack' usage = ['[--] <patches>', '-s <series>'] description = """ Push a patch or a range of patches to the top even if applied. The necessary pop and push operations will be performed to accomplish this. The '--series' option can be used to rearrange the (top) patches as specified by the given series file (or the standard input).""" args = [argparse.patch_range(argparse.applied_patches, argparse.unapplied_patches)] options = [ opt('-s', '--series', metavar = 'FILE', short = 'Rearrange according to the series FILE') ] + argparse.keep_option() directory = common.DirectoryHasRepositoryLib() def func(parser, options, args): """Reorder patches to make the named patch the topmost one. """ if options.series and args: parser.error('<patches> cannot be used with --series') elif not options.series and not args: parser.error('incorrect number of arguments')