hgext/mq.py
changeset 40293 c303d65d2e34
parent 39895 1a184b727aff
child 40295 fa88170c10bb
equal deleted inserted replaced
40292:9c6473d2038b 40293:c303d65d2e34
  2264 
  2264 
  2265 @command("qdelete|qremove|qrm",
  2265 @command("qdelete|qremove|qrm",
  2266          [('k', 'keep', None, _('keep patch file')),
  2266          [('k', 'keep', None, _('keep patch file')),
  2267           ('r', 'rev', [],
  2267           ('r', 'rev', [],
  2268            _('stop managing a revision (DEPRECATED)'), _('REV'))],
  2268            _('stop managing a revision (DEPRECATED)'), _('REV'))],
  2269          _('hg qdelete [-k] [PATCH]...'))
  2269          _('hg qdelete [-k] [PATCH]...'),
       
  2270          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2270 def delete(ui, repo, *patches, **opts):
  2271 def delete(ui, repo, *patches, **opts):
  2271     """remove patches from queue
  2272     """remove patches from queue
  2272 
  2273 
  2273     The patches must not be applied, and at least one patch is required. Exact
  2274     The patches must not be applied, and at least one patch is required. Exact
  2274     patch identifiers must be given. With -k/--keep, the patch files are
  2275     patch identifiers must be given. With -k/--keep, the patch files are
  2282     return 0
  2283     return 0
  2283 
  2284 
  2284 @command("qapplied",
  2285 @command("qapplied",
  2285          [('1', 'last', None, _('show only the preceding applied patch'))
  2286          [('1', 'last', None, _('show only the preceding applied patch'))
  2286           ] + seriesopts,
  2287           ] + seriesopts,
  2287          _('hg qapplied [-1] [-s] [PATCH]'))
  2288          _('hg qapplied [-1] [-s] [PATCH]'),
       
  2289          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2288 def applied(ui, repo, patch=None, **opts):
  2290 def applied(ui, repo, patch=None, **opts):
  2289     """print the patches already applied
  2291     """print the patches already applied
  2290 
  2292 
  2291     Returns 0 on success."""
  2293     Returns 0 on success."""
  2292 
  2294 
  2316               summary=opts.get('summary'))
  2318               summary=opts.get('summary'))
  2317 
  2319 
  2318 
  2320 
  2319 @command("qunapplied",
  2321 @command("qunapplied",
  2320          [('1', 'first', None, _('show only the first patch'))] + seriesopts,
  2322          [('1', 'first', None, _('show only the first patch'))] + seriesopts,
  2321          _('hg qunapplied [-1] [-s] [PATCH]'))
  2323          _('hg qunapplied [-1] [-s] [PATCH]'),
       
  2324          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2322 def unapplied(ui, repo, patch=None, **opts):
  2325 def unapplied(ui, repo, patch=None, **opts):
  2323     """print the patches not yet applied
  2326     """print the patches not yet applied
  2324 
  2327 
  2325     Returns 0 on success."""
  2328     Returns 0 on success."""
  2326 
  2329 
  2351           ('f', 'force', None, _('overwrite existing files')),
  2354           ('f', 'force', None, _('overwrite existing files')),
  2352           ('r', 'rev', [],
  2355           ('r', 'rev', [],
  2353            _('place existing revisions under mq control'), _('REV')),
  2356            _('place existing revisions under mq control'), _('REV')),
  2354           ('g', 'git', None, _('use git extended diff format')),
  2357           ('g', 'git', None, _('use git extended diff format')),
  2355           ('P', 'push', None, _('qpush after importing'))],
  2358           ('P', 'push', None, _('qpush after importing'))],
  2356          _('hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... [FILE]...'))
  2359          _('hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... [FILE]...'),
       
  2360          helpcategory=command.CATEGORY_IMPORT_EXPORT)
  2357 def qimport(ui, repo, *filename, **opts):
  2361 def qimport(ui, repo, *filename, **opts):
  2358     """import a patch or existing changeset
  2362     """import a patch or existing changeset
  2359 
  2363 
  2360     The patch is inserted into the series after the last applied
  2364     The patch is inserted into the series after the last applied
  2361     patch. If no patches have been applied, qimport prepends the patch
  2365     patch. If no patches have been applied, qimport prepends the patch
  2429         commands.add(ui, r)
  2433         commands.add(ui, r)
  2430     return 0
  2434     return 0
  2431 
  2435 
  2432 @command("^qinit",
  2436 @command("^qinit",
  2433          [('c', 'create-repo', None, _('create queue repository'))],
  2437          [('c', 'create-repo', None, _('create queue repository'))],
  2434          _('hg qinit [-c]'))
  2438          _('hg qinit [-c]'),
       
  2439          helpcategory=command.CATEGORY_REPO_CREATION)
  2435 def init(ui, repo, **opts):
  2440 def init(ui, repo, **opts):
  2436     """init a new queue repository (DEPRECATED)
  2441     """init a new queue repository (DEPRECATED)
  2437 
  2442 
  2438     The queue repository is unversioned by default. If
  2443     The queue repository is unversioned by default. If
  2439     -c/--create-repo is specified, qinit will create a separate nested
  2444     -c/--create-repo is specified, qinit will create a separate nested
  2453            _('use uncompressed transfer (fast over LAN)')),
  2458            _('use uncompressed transfer (fast over LAN)')),
  2454           ('p', 'patches', '',
  2459           ('p', 'patches', '',
  2455            _('location of source patch repository'), _('REPO')),
  2460            _('location of source patch repository'), _('REPO')),
  2456          ] + cmdutil.remoteopts,
  2461          ] + cmdutil.remoteopts,
  2457          _('hg qclone [OPTION]... SOURCE [DEST]'),
  2462          _('hg qclone [OPTION]... SOURCE [DEST]'),
       
  2463          helpcategory=command.CATEGORY_REPO_CREATION,
  2458          norepo=True)
  2464          norepo=True)
  2459 def clone(ui, source, dest=None, **opts):
  2465 def clone(ui, source, dest=None, **opts):
  2460     '''clone main and patch repository at same time
  2466     '''clone main and patch repository at same time
  2461 
  2467 
  2462     If source is local, destination will have no patches applied. If
  2468     If source is local, destination will have no patches applied. If
  2534             hg.update(repo, repo.changelog.tip())
  2540             hg.update(repo, repo.changelog.tip())
  2535 
  2541 
  2536 @command("qcommit|qci",
  2542 @command("qcommit|qci",
  2537          commands.table["^commit|ci"][1],
  2543          commands.table["^commit|ci"][1],
  2538          _('hg qcommit [OPTION]... [FILE]...'),
  2544          _('hg qcommit [OPTION]... [FILE]...'),
       
  2545          helpcategory=command.CATEGORY_COMMITTING,
  2539          inferrepo=True)
  2546          inferrepo=True)
  2540 def commit(ui, repo, *pats, **opts):
  2547 def commit(ui, repo, *pats, **opts):
  2541     """commit changes in the queue repository (DEPRECATED)
  2548     """commit changes in the queue repository (DEPRECATED)
  2542 
  2549 
  2543     This command is deprecated; use :hg:`commit --mq` instead."""
  2550     This command is deprecated; use :hg:`commit --mq` instead."""
  2548     commands.commit(r.ui, r, *pats, **opts)
  2555     commands.commit(r.ui, r, *pats, **opts)
  2549 
  2556 
  2550 @command("qseries",
  2557 @command("qseries",
  2551          [('m', 'missing', None, _('print patches not in series')),
  2558          [('m', 'missing', None, _('print patches not in series')),
  2552          ] + seriesopts,
  2559          ] + seriesopts,
  2553           _('hg qseries [-ms]'))
  2560           _('hg qseries [-ms]'),
       
  2561          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2554 def series(ui, repo, **opts):
  2562 def series(ui, repo, **opts):
  2555     """print the entire series file
  2563     """print the entire series file
  2556 
  2564 
  2557     Returns 0 on success."""
  2565     Returns 0 on success."""
  2558     repo.mq.qseries(repo, missing=opts.get(r'missing'),
  2566     repo.mq.qseries(repo, missing=opts.get(r'missing'),
  2559                     summary=opts.get(r'summary'))
  2567                     summary=opts.get(r'summary'))
  2560     return 0
  2568     return 0
  2561 
  2569 
  2562 @command("qtop", seriesopts, _('hg qtop [-s]'))
  2570 @command("qtop", seriesopts, _('hg qtop [-s]'),
       
  2571          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2563 def top(ui, repo, **opts):
  2572 def top(ui, repo, **opts):
  2564     """print the name of the current patch
  2573     """print the name of the current patch
  2565 
  2574 
  2566     Returns 0 on success."""
  2575     Returns 0 on success."""
  2567     q = repo.mq
  2576     q = repo.mq
  2575                   summary=opts.get(r'summary'))
  2584                   summary=opts.get(r'summary'))
  2576     else:
  2585     else:
  2577         ui.write(_("no patches applied\n"))
  2586         ui.write(_("no patches applied\n"))
  2578         return 1
  2587         return 1
  2579 
  2588 
  2580 @command("qnext", seriesopts, _('hg qnext [-s]'))
  2589 @command("qnext", seriesopts, _('hg qnext [-s]'),
       
  2590          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2581 def next(ui, repo, **opts):
  2591 def next(ui, repo, **opts):
  2582     """print the name of the next pushable patch
  2592     """print the name of the next pushable patch
  2583 
  2593 
  2584     Returns 0 on success."""
  2594     Returns 0 on success."""
  2585     q = repo.mq
  2595     q = repo.mq
  2587     if end == len(q.series):
  2597     if end == len(q.series):
  2588         ui.write(_("all patches applied\n"))
  2598         ui.write(_("all patches applied\n"))
  2589         return 1
  2599         return 1
  2590     q.qseries(repo, start=end, length=1, summary=opts.get(r'summary'))
  2600     q.qseries(repo, start=end, length=1, summary=opts.get(r'summary'))
  2591 
  2601 
  2592 @command("qprev", seriesopts, _('hg qprev [-s]'))
  2602 @command("qprev", seriesopts, _('hg qprev [-s]'),
       
  2603          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2593 def prev(ui, repo, **opts):
  2604 def prev(ui, repo, **opts):
  2594     """print the name of the preceding applied patch
  2605     """print the name of the preceding applied patch
  2595 
  2606 
  2596     Returns 0 on success."""
  2607     Returns 0 on success."""
  2597     q = repo.mq
  2608     q = repo.mq
  2622           ('D', 'currentdate', None, _('add "Date: <current date>" to patch')),
  2633           ('D', 'currentdate', None, _('add "Date: <current date>" to patch')),
  2623           ('d', 'date', '',
  2634           ('d', 'date', '',
  2624            _('add "Date: <DATE>" to patch'), _('DATE'))
  2635            _('add "Date: <DATE>" to patch'), _('DATE'))
  2625           ] + cmdutil.walkopts + cmdutil.commitopts,
  2636           ] + cmdutil.walkopts + cmdutil.commitopts,
  2626          _('hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]...'),
  2637          _('hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]...'),
       
  2638          helpcategory=command.CATEGORY_COMMITTING,
  2627          inferrepo=True)
  2639          inferrepo=True)
  2628 def new(ui, repo, patch, *args, **opts):
  2640 def new(ui, repo, patch, *args, **opts):
  2629     """create a new patch
  2641     """create a new patch
  2630 
  2642 
  2631     qnew creates a new patch on top of the currently-applied patch (if
  2643     qnew creates a new patch on top of the currently-applied patch (if
  2672            _('add/update date field in patch with current date')),
  2684            _('add/update date field in patch with current date')),
  2673           ('d', 'date', '',
  2685           ('d', 'date', '',
  2674            _('add/update date field in patch with given date'), _('DATE'))
  2686            _('add/update date field in patch with given date'), _('DATE'))
  2675           ] + cmdutil.walkopts + cmdutil.commitopts,
  2687           ] + cmdutil.walkopts + cmdutil.commitopts,
  2676          _('hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...'),
  2688          _('hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...'),
       
  2689          helpcategory=command.CATEGORY_COMMITTING,
  2677          inferrepo=True)
  2690          inferrepo=True)
  2678 def refresh(ui, repo, *pats, **opts):
  2691 def refresh(ui, repo, *pats, **opts):
  2679     """update the current patch
  2692     """update the current patch
  2680 
  2693 
  2681     If any file patterns are provided, the refreshed patch will
  2694     If any file patterns are provided, the refreshed patch will
  2706         return ret
  2719         return ret
  2707 
  2720 
  2708 @command("^qdiff",
  2721 @command("^qdiff",
  2709          cmdutil.diffopts + cmdutil.diffopts2 + cmdutil.walkopts,
  2722          cmdutil.diffopts + cmdutil.diffopts2 + cmdutil.walkopts,
  2710          _('hg qdiff [OPTION]... [FILE]...'),
  2723          _('hg qdiff [OPTION]... [FILE]...'),
       
  2724          helpcategory=command.CATEGORY_FILE_CONTENTS,
  2711          inferrepo=True)
  2725          inferrepo=True)
  2712 def diff(ui, repo, *pats, **opts):
  2726 def diff(ui, repo, *pats, **opts):
  2713     """diff of the current patch and subsequent modifications
  2727     """diff of the current patch and subsequent modifications
  2714 
  2728 
  2715     Shows a diff which includes the current patch as well as any
  2729     Shows a diff which includes the current patch as well as any
  2730 
  2744 
  2731 @command('qfold',
  2745 @command('qfold',
  2732          [('e', 'edit', None, _('invoke editor on commit messages')),
  2746          [('e', 'edit', None, _('invoke editor on commit messages')),
  2733           ('k', 'keep', None, _('keep folded patch files')),
  2747           ('k', 'keep', None, _('keep folded patch files')),
  2734          ] + cmdutil.commitopts,
  2748          ] + cmdutil.commitopts,
  2735          _('hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH...'))
  2749          _('hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH...'),
       
  2750          helpcategory=command.CATEGORY_CHANGE_MANAGEMENT)
  2736 def fold(ui, repo, *files, **opts):
  2751 def fold(ui, repo, *files, **opts):
  2737     """fold the named patches into the current patch
  2752     """fold the named patches into the current patch
  2738 
  2753 
  2739     Patches must not yet be applied. Each patch will be successively
  2754     Patches must not yet be applied. Each patch will be successively
  2740     applied to the current patch in the order given. If all the
  2755     applied to the current patch in the order given. If all the
  2799 @command("qgoto",
  2814 @command("qgoto",
  2800          [('', 'keep-changes', None,
  2815          [('', 'keep-changes', None,
  2801            _('tolerate non-conflicting local changes')),
  2816            _('tolerate non-conflicting local changes')),
  2802           ('f', 'force', None, _('overwrite any local changes')),
  2817           ('f', 'force', None, _('overwrite any local changes')),
  2803           ('', 'no-backup', None, _('do not save backup copies of files'))],
  2818           ('', 'no-backup', None, _('do not save backup copies of files'))],
  2804          _('hg qgoto [OPTION]... PATCH'))
  2819          _('hg qgoto [OPTION]... PATCH'),
       
  2820          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2805 def goto(ui, repo, patch, **opts):
  2821 def goto(ui, repo, patch, **opts):
  2806     '''push or pop patches until named patch is at top of stack
  2822     '''push or pop patches until named patch is at top of stack
  2807 
  2823 
  2808     Returns 0 on success.'''
  2824     Returns 0 on success.'''
  2809     opts = pycompat.byteskwargs(opts)
  2825     opts = pycompat.byteskwargs(opts)
  2822     return ret
  2838     return ret
  2823 
  2839 
  2824 @command("qguard",
  2840 @command("qguard",
  2825          [('l', 'list', None, _('list all patches and guards')),
  2841          [('l', 'list', None, _('list all patches and guards')),
  2826           ('n', 'none', None, _('drop all guards'))],
  2842           ('n', 'none', None, _('drop all guards'))],
  2827          _('hg qguard [-l] [-n] [PATCH] [-- [+GUARD]... [-GUARD]...]'))
  2843          _('hg qguard [-l] [-n] [PATCH] [-- [+GUARD]... [-GUARD]...]'),
       
  2844          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2828 def guard(ui, repo, *args, **opts):
  2845 def guard(ui, repo, *args, **opts):
  2829     '''set or print guards for a patch
  2846     '''set or print guards for a patch
  2830 
  2847 
  2831     Guards control whether a patch can be pushed. A patch with no
  2848     Guards control whether a patch can be pushed. A patch with no
  2832     guards is always pushed. A patch with a positive guard ("+foo") is
  2849     guards is always pushed. A patch with a positive guard ("+foo") is
  2894         q.setguards(idx, args)
  2911         q.setguards(idx, args)
  2895         q.savedirty()
  2912         q.savedirty()
  2896     else:
  2913     else:
  2897         status(q.series.index(q.lookup(patch)))
  2914         status(q.series.index(q.lookup(patch)))
  2898 
  2915 
  2899 @command("qheader", [], _('hg qheader [PATCH]'))
  2916 @command("qheader", [], _('hg qheader [PATCH]'),
       
  2917          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2900 def header(ui, repo, patch=None):
  2918 def header(ui, repo, patch=None):
  2901     """print the header of the topmost or specified patch
  2919     """print the header of the topmost or specified patch
  2902 
  2920 
  2903     Returns 0 on success."""
  2921     Returns 0 on success."""
  2904     q = repo.mq
  2922     q = repo.mq
  2950           ('n', 'name', '',
  2968           ('n', 'name', '',
  2951            _('merge queue name (DEPRECATED)'), _('NAME')),
  2969            _('merge queue name (DEPRECATED)'), _('NAME')),
  2952           ('', 'move', None,
  2970           ('', 'move', None,
  2953            _('reorder patch series and apply only the patch')),
  2971            _('reorder patch series and apply only the patch')),
  2954           ('', 'no-backup', None, _('do not save backup copies of files'))],
  2972           ('', 'no-backup', None, _('do not save backup copies of files'))],
  2955          _('hg qpush [-f] [-l] [-a] [--move] [PATCH | INDEX]'))
  2973          _('hg qpush [-f] [-l] [-a] [--move] [PATCH | INDEX]'),
       
  2974          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2956 def push(ui, repo, patch=None, **opts):
  2975 def push(ui, repo, patch=None, **opts):
  2957     """push the next patch onto the stack
  2976     """push the next patch onto the stack
  2958 
  2977 
  2959     By default, abort if the working directory contains uncommitted
  2978     By default, abort if the working directory contains uncommitted
  2960     changes. With --keep-changes, abort only if the uncommitted files
  2979     changes. With --keep-changes, abort only if the uncommitted files
  2990            _('queue name to pop (DEPRECATED)'), _('NAME')),
  3009            _('queue name to pop (DEPRECATED)'), _('NAME')),
  2991           ('', 'keep-changes', None,
  3010           ('', 'keep-changes', None,
  2992            _('tolerate non-conflicting local changes')),
  3011            _('tolerate non-conflicting local changes')),
  2993           ('f', 'force', None, _('forget any local changes to patched files')),
  3012           ('f', 'force', None, _('forget any local changes to patched files')),
  2994           ('', 'no-backup', None, _('do not save backup copies of files'))],
  3013           ('', 'no-backup', None, _('do not save backup copies of files'))],
  2995          _('hg qpop [-a] [-f] [PATCH | INDEX]'))
  3014          _('hg qpop [-a] [-f] [PATCH | INDEX]'),
       
  3015          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  2996 def pop(ui, repo, patch=None, **opts):
  3016 def pop(ui, repo, patch=None, **opts):
  2997     """pop the current patch off the stack
  3017     """pop the current patch off the stack
  2998 
  3018 
  2999     Without argument, pops off the top of the patch stack. If given a
  3019     Without argument, pops off the top of the patch stack. If given a
  3000     patch name, keeps popping off patches until the named patch is at
  3020     patch name, keeps popping off patches until the named patch is at
  3020                 all=opts.get('all'), nobackup=opts.get('no_backup'),
  3040                 all=opts.get('all'), nobackup=opts.get('no_backup'),
  3021                 keepchanges=opts.get('keep_changes'))
  3041                 keepchanges=opts.get('keep_changes'))
  3022     q.savedirty()
  3042     q.savedirty()
  3023     return ret
  3043     return ret
  3024 
  3044 
  3025 @command("qrename|qmv", [], _('hg qrename PATCH1 [PATCH2]'))
  3045 @command("qrename|qmv", [], _('hg qrename PATCH1 [PATCH2]'),
       
  3046          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  3026 def rename(ui, repo, patch, name=None, **opts):
  3047 def rename(ui, repo, patch, name=None, **opts):
  3027     """rename a patch
  3048     """rename a patch
  3028 
  3049 
  3029     With one argument, renames the current patch to PATCH1.
  3050     With one argument, renames the current patch to PATCH1.
  3030     With two arguments, renames PATCH1 to PATCH2.
  3051     With two arguments, renames PATCH1 to PATCH2.
  3078     q.savedirty()
  3099     q.savedirty()
  3079 
  3100 
  3080 @command("qrestore",
  3101 @command("qrestore",
  3081          [('d', 'delete', None, _('delete save entry')),
  3102          [('d', 'delete', None, _('delete save entry')),
  3082           ('u', 'update', None, _('update queue working directory'))],
  3103           ('u', 'update', None, _('update queue working directory'))],
  3083          _('hg qrestore [-d] [-u] REV'))
  3104          _('hg qrestore [-d] [-u] REV'),
       
  3105          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  3084 def restore(ui, repo, rev, **opts):
  3106 def restore(ui, repo, rev, **opts):
  3085     """restore the queue state saved by a revision (DEPRECATED)
  3107     """restore the queue state saved by a revision (DEPRECATED)
  3086 
  3108 
  3087     This command is deprecated, use :hg:`rebase` instead."""
  3109     This command is deprecated, use :hg:`rebase` instead."""
  3088     rev = repo.lookup(rev)
  3110     rev = repo.lookup(rev)
  3096          [('c', 'copy', None, _('copy patch directory')),
  3118          [('c', 'copy', None, _('copy patch directory')),
  3097           ('n', 'name', '',
  3119           ('n', 'name', '',
  3098            _('copy directory name'), _('NAME')),
  3120            _('copy directory name'), _('NAME')),
  3099           ('e', 'empty', None, _('clear queue status file')),
  3121           ('e', 'empty', None, _('clear queue status file')),
  3100           ('f', 'force', None, _('force copy'))] + cmdutil.commitopts,
  3122           ('f', 'force', None, _('force copy'))] + cmdutil.commitopts,
  3101          _('hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]'))
  3123          _('hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]'),
       
  3124          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  3102 def save(ui, repo, **opts):
  3125 def save(ui, repo, **opts):
  3103     """save current queue state (DEPRECATED)
  3126     """save current queue state (DEPRECATED)
  3104 
  3127 
  3105     This command is deprecated, use :hg:`rebase` instead."""
  3128     This command is deprecated, use :hg:`rebase` instead."""
  3106     q = repo.mq
  3129     q = repo.mq
  3135 @command("qselect",
  3158 @command("qselect",
  3136          [('n', 'none', None, _('disable all guards')),
  3159          [('n', 'none', None, _('disable all guards')),
  3137           ('s', 'series', None, _('list all guards in series file')),
  3160           ('s', 'series', None, _('list all guards in series file')),
  3138           ('', 'pop', None, _('pop to before first guarded applied patch')),
  3161           ('', 'pop', None, _('pop to before first guarded applied patch')),
  3139           ('', 'reapply', None, _('pop, then reapply patches'))],
  3162           ('', 'reapply', None, _('pop, then reapply patches'))],
  3140          _('hg qselect [OPTION]... [GUARD]...'))
  3163          _('hg qselect [OPTION]... [GUARD]...'),
       
  3164          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  3141 def select(ui, repo, *args, **opts):
  3165 def select(ui, repo, *args, **opts):
  3142     '''set or print guarded patches to push
  3166     '''set or print guarded patches to push
  3143 
  3167 
  3144     Use the :hg:`qguard` command to set or print guards on patch, then use
  3168     Use the :hg:`qguard` command to set or print guards on patch, then use
  3145     qselect to tell mq which guards to use. A patch will be pushed if
  3169     qselect to tell mq which guards to use. A patch will be pushed if
  3244         finally:
  3268         finally:
  3245             q.savedirty()
  3269             q.savedirty()
  3246 
  3270 
  3247 @command("qfinish",
  3271 @command("qfinish",
  3248          [('a', 'applied', None, _('finish all applied changesets'))],
  3272          [('a', 'applied', None, _('finish all applied changesets'))],
  3249          _('hg qfinish [-a] [REV]...'))
  3273          _('hg qfinish [-a] [REV]...'),
       
  3274          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  3250 def finish(ui, repo, *revrange, **opts):
  3275 def finish(ui, repo, *revrange, **opts):
  3251     """move applied patches into repository history
  3276     """move applied patches into repository history
  3252 
  3277 
  3253     Finishes the specified revisions (corresponding to applied
  3278     Finishes the specified revisions (corresponding to applied
  3254     patches) by moving them out of mq control into regular repository
  3279     patches) by moving them out of mq control into regular repository
  3292           ('c', 'create', False, _('create new queue')),
  3317           ('c', 'create', False, _('create new queue')),
  3293           ('', 'rename', False, _('rename active queue')),
  3318           ('', 'rename', False, _('rename active queue')),
  3294           ('', 'delete', False, _('delete reference to queue')),
  3319           ('', 'delete', False, _('delete reference to queue')),
  3295           ('', 'purge', False, _('delete queue, and remove patch dir')),
  3320           ('', 'purge', False, _('delete queue, and remove patch dir')),
  3296          ],
  3321          ],
  3297          _('[OPTION] [QUEUE]'))
  3322          _('[OPTION] [QUEUE]'),
       
  3323          helpcategory=command.CATEGORY_CHANGE_ORGANIZATION)
  3298 def qqueue(ui, repo, name=None, **opts):
  3324 def qqueue(ui, repo, name=None, **opts):
  3299     '''manage multiple patch queues
  3325     '''manage multiple patch queues
  3300 
  3326 
  3301     Supports switching between different patch queues, as well as creating
  3327     Supports switching between different patch queues, as well as creating
  3302     new patch queues and deleting existing ones.
  3328     new patch queues and deleting existing ones.