Command line interface ---------------------- git-gq : handle git patch queues usage: git gq COMMAND [OPTIONS] Bash completion commands ++++++++++++++++++++++++ commands List all known commands on the console bashcompletion List the line you have to add to your .bashrc to integrate completion into the 'git' command. Queue management commands +++++++++++++++++++++++++ init [QNAME [REV]] Create/select a patch queue with name 'QNAME'. QNAME is optional, the default patch queue name is 'default'. If 'REV' is given this is the parent revision, if it is not givem, 'HEAD' is taken as the parent. You must run this command once to initialize the patch queue in your repository. qname [QNAME] If QNAME is not given, show current patch queue name. if QNAME is given, change to patch queue QNAME. If the patch queue QNAME is created for the first time, the parent revision is set to your 'HEAD' revision. If this is not intended, you may change this with `git gq parent REVISION` to another revision. backup Create backup tar file of patch directory '.gqpatches'. restore FILE Restore patch directory from a backup file. '.gqpatches'. change-order Call an editor to edit the file that contains all currently unapplied patches. Note the the patches in the file are applied from top to bottom. applied Show all applied patches up to parent+1. unapplied Show all patches of the patch queue. parent [REVISION} Set REVISION as patch queue parent revision. Do never go beyond this revision with pop. Use 'HEAD' to set your repository HEAD as parent revision. If HEAD is not given, show the current parent revision. export DIRECTORY Create numbered patch files from all currently applied patches in DIRECTORY. The numbers are in the order of patches from bottom to top. DIRECTORY must exist. import PATCHFILE [PATCHFILE...] Import a number of patchfiles to the patch queue. The last patchfile in the list will be on the top of the queue. Note that the patch files must have been generated with `git format-patch` or `git gq pop`. This cannot be used for patches generated with the `patch` program. These you have to apply with `git apply PATCHFILE`. Patch management commands +++++++++++++++++++++++++ new [NAME] Create new patch (commit) with log-message NAME. NAME is meant as a preliminary commit message, it should be a single line without spaces. If NAME is omitted, you can enter a complete log message interactively. record [NAME] Interactively select changes for a new patch (commit with log-message NAME) refresh Update the topmost patch. pop Pop the topmost patch. push Apply the top patch from the patch queue. goto NAME|REGEXP Do push or pop until the specified patch is the latest applied patch. fold NAME|REGEXP Fold patch 'NAME' to the topmost patch. Patch 'NAME' must not be appled already. Note that the log message of the fold-patch is appended to the existing log message. You may change the log message with `git gq refresh -e`. delete NAME|REGEXP Delete unapplied patch with given name. show NAME|REGEXP Show changes of an applied or unapplied patch on the console. continue Continue 'push' after you had a conflict and had it fixed manually. abort Abort (undo) 'push' after you had a conflict and could not fix it manually. Miscellaneous commands ++++++++++++++++++++++ help Show this help. doc Show reStructuredText source of man page. man Show man page. glog Graphical log, display all commits and branches as a tree on the console. OPTIONS +++++++ -h --help Show help. -H --HELP Show help without pager. -v --version Show version and exit. -D --debug Run the script with "set -x" which shows what it does. -a --all push/pop: apply on ALL patches. -N --no-add new/refresh/fold: DO NOT add all modified changes to patch. continue: DO NOT add all modified and unknown changes to patch -e --edit refresh/fold: start editor to edit log message -m --message MESSAGE refresh: use MESSAGE as log message -F --file FILE refresh: take log message from FILE. -L --full restore: do also restore all patches that were applied when the backup was created. Caution: This runs `git checkout PARENT` and `git am` on your repository.