Command line interface
usage: git-gq [OPTIONS] COMMAND
Note
REGEXP is a regular expression.
Bash completion commands
- commands
List all known commands on the console
- bashcompletion
Prints a text that, if you add it to your bash configuration in $HOME/.bashrc, adds bash completion. This means that you get a list of possible commands when you type <TAB>, e.g.:
git gq a<TAB>shows the possible completions
abort
andapplied
. If there is only one matching command, you command line is completed, e.g:git gq ab<TAB>becomes:
git gq abortThis can save you many keystrokes and makes using this tool easier.
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 given, ‘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
Backup patch queue directory with a separate git repository. You may provide a short log message with option
-m
.- restore REVISION
Restore patch directory to a REVISION that was created with
git gq backup
before. This does not change your git repository. Entergit gq revert
to reset your repository to the last saved state.- revert
Revert git repository to the state from the last backup of the patch queue. All applied patches are restored to the state at the last
git gq backup
. All unapplied patches remain in their present state. This will create a new branch in the repository beginning at the PARENT revision.- qrepo COMMAND [– OPTIONS]
Run git command COMMAND with OPTIONS in patch-queue repository. Note that OPTIONS must be preceded by a double ‘-’ character.
- change-order
Call an editor to edit the file ‘series’ that contains all currently unapplied patches. Note that
git gq push
always applies the patch from the first line in this file, so the top of the queue is the top of the file.- 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 REVISION is NULL, it means that all revisions in the repository can be managed with
git gq pop
, you should only use this for unpublished repositories. If REVISION 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
orgit gq pop
. This cannot be used for patches generated with thepatch
program. These you have to apply withgit 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). This command runs
git add --patch
to select the changes beforegit commit
.- refresh
Update the top patch, all changes in files known to git are added to the top patch. If you want to add new files, add them with
git add
first. If you want complete control over the changes added, rungit add
yourself and then run this command with option--no-add
.- pop
Pop the top patch, the HEAD patch of your repository is moved to the patch queue.
- push
Apply the top patch from the patch queue, the patch is moved to your repository as the new HEAD patch.
- goto NAME|REGEXP
Do push or pop until the patch specified by name or regular expression is the latest applied patch.
- fold NAME|REGEXP
Fold patch ‘NAME’ to the top patch. Patch ‘NAME’ must not have been applied already. Note that the log message of the fold-patch is appended to the existing log message. You can change the log message with
git gq refresh -e
.- edit NAME|REGEXP
Call an editor to edit the patch file of an unapplied patch.
- delete NAME|REGEXP
Delete unapplied patch with given by name or regular expression.
- 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. This also removes all reject (*.rej) files that are not tracked by git.
- abort
Abort (undo) ‘push’ after you had a conflict and could not fix it manually. This also removes all reject (*.rej) files that are not tracked by git.
Miscellaneous commands
- help
Show this help.
- conflict [CMD]
Show if the repository is in an unresolved conflict state. CMD is a sub-command,
files
shows files changed by the patch,show
shows the patch.- 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
- --version
show program’s version number and exit
- --summary
print a summary of the function of the program
- -h, --help
Show help.
- --verbose
show what commands are called
- --dry-run
show what commands would be called
- -D, --debug
Show debug information.
- -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
backup/refresh: use MESSAGE as log message.
- -F, --file FILE
refresh: take log message from FILE.
- -l, --lines LINECOUNT
applied, unapplied: Limit the number of lines printed by the command. Print only the first LINECOUNT lines.
- -R, --force
Allow to run git gq pop and
git gq push
even if there are uncommited changes. Note the with ‘pop’ this will discard uncommited changes.- --exception
do not catch exceptions (for debugging).