PageRenderTime 138ms CodeModel.GetById 70ms app.highlight 7ms RepoModel.GetById 53ms app.codeStats 1ms

/monky.texi

http://github.com/ananthakumaran/monky
Unknown | 193 lines | 154 code | 39 blank | 0 comment | 0 complexity | 49e792fa9aec96ea4154a5e22e03e017 MD5 | raw file
  1\input texinfo   @c -*-texinfo-*-
  2@c %**start of header
  3@setfilename monky.info
  4@settitle Monky User Manual
  5@c %**end of header
  6
  7@copying
  8Copyright @copyright{} 2010 Anantha Kumaran.
  9
 10@quotation
 11Permission is granted to copy, distribute and/or modify this document
 12under the terms of the GNU Free Documentation License, Version 1.2 or
 13any later version published by the Free Software Foundation; with no
 14Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
 15Texts.
 16@end quotation
 17@end copying
 18
 19@node Top
 20@top Monky User Manual
 21
 22Monky is an emacs extension, provides an interactive interface for Hg
 23
 24@menu
 25* Introduction::
 26* Sections::
 27* Status::
 28* Untracked files::
 29* Missing Files::
 30* Staging and Committing::
 31* Merged Files::
 32* Pushing and Pulling::
 33* Log::
 34* Blame::
 35* Branch::
 36* Queue::
 37* Using Hg Directly::
 38@end menu
 39
 40@node Introduction
 41@chapter Introduction
 42
 43Monky provides an interactive interface for Hg. Using Monky, your can
 44selectively commit files, view the diffs and other things.
 45
 46@node Sections
 47@chapter Sections
 48
 49All items in the Monky buffers are nested 'sections'. The visibility
 50of the current section can be toggled using @kbd{TAB} key. When a
 51section is hidden, only its first line is shown and all its children
 52are completely invisible.
 53
 54@node Status
 55@chapter Status
 56
 57Running @kbd{M-x monky-status} while visiting any file in a repo
 58displays the status of the hg repo. The status buffer list down the
 59missing files, untracked files and changed files. By default the diff
 60of the files are invisible. Use @kbd{TAB} key to toggle the visibility.
 61
 62During a merge the buffer will show the list of merged files, and
 63files unmodified during the merge.
 64
 65@node Untracked files
 66@chapter Untracked files
 67
 68you can add a untracked file by typing key @kbd{s}. Type @kbd{k} to
 69delete the file.
 70
 71@node Missing Files
 72@chapter Missing Files
 73
 74This section list the files missing from the repo. Typing @kbd{s} will
 75remove the file from the repo. To restore the file type @kbd{k}.
 76
 77@node Staging and Committing
 78@chapter Staging and Committing
 79
 80@emph{Changes} section will list all the changes in the repo. Using
 81monky you can select a subset of your changes and commit it. Type
 82@kbd{s} to stage a file. Typing @kbd{S} will stage all files.
 83
 84@emph{Staged Changes} section will list all the staged changes in the
 85repo. Type @kbd{u} to unstage a file. Typing @kbd{U} will unstage all
 86the previously staged files.
 87
 88Once you staged all the necessary files type @kbd{c}. This will pop-up
 89a buffer for the commit message. Typing @kbd{C-c C-c} will commit all
 90the staged files.
 91
 92You can reset the current working directory by typing @kbd{X}.
 93
 94Hg doesn't have any staging area. So staging and unstaging won't make
 95any changes to your repo unless you commit.
 96
 97@node Merged Files
 98@chapter Merged Files
 99
100After a merge, this section will list the files merged. Typing @kbd{m}
101will mark the file as resolved and @kbd{x} will mark the file as
102unresolved. After a merge, Hg doesn't allows to commit a subset of
103changes. so files can't be staged or unstaged. So committing after a
104merge will commit all the merged and unmodified files during the
105merge.
106
107@node Pushing and Pulling
108@chapter Pushing and Pulling
109
110Type @kbd{P} to push the current branch, @kbd{f} to pull changes
111from remote and @kbd{F} to fetch changes from the remote. You can
112specify the source/destination to the previous commands  with a prefix
113argument.
114
115@node Log
116@chapter Log
117
118Typing @kbd{l} will bring up the log buffer. This will list the commit
119logs of the repo. You can use @kbd{n} and @kbd{p} to move to the
120previous and next commit. Type @kbd{RET} to see the commit
121information, @kbd{C} to checkout the commit.
122
123Monky will show only @code{monky-log-cutoff-length} entries. Typing
124@kbd{e} will show twice as many entries. @kbd{C-u e} will show all
125entries, and given a numeric prefix argument, @kbd{e} will add this
126number of entries.
127
128@node Blame
129@chapter Blame
130
131Run @kbd{M-x monky-blame-current-file} to see the annotation of the
132current file. Type @kbd{RET} to see the commit which
133introduced/changed the current line.
134
135@node Branch
136@chapter Branch
137
138Typing @kbd{b} will bring up the branch buffer. This will list all the
139branches. You can use @kbd{C} to checkout a branch.
140
141@node Queue
142@chapter Queue
143
144Use @kbd{M-x monky-queue} or @kbd{Q} from the status buffer to view
145the queue buffer. The queue buffer will list the @emph{Applied
146Patches}, @emph{UnApplied Patches} and the @emph{Series}.
147
148@multitable @columnfractions .15 .85
149@headitem Key @tab Description
150@item u
151@tab pop the selected patch and all the patches before it
152@item U
153@tab pop all the applied patches
154@item s
155@tab push the selected patch and all the patches before it
156@item S
157@tab push all the unapplied patches
158@item r
159@tab refresh(update) the current patch with the changes in working
160directory
161@item C-u r
162@tab refresh the current patch and allows to edit the commit message
163@item R
164@tab rename the selected patch
165@item k
166@tab remove the selected patch
167@item N
168@tab create a new patch on top of current patch
169@item C-u N
170@tab same as N except this will also read the commit message for the patch
171@item i
172@tab import(qimport) patches from change sets. a change set at the point
173or change sets in a selected region (when selected) will be imported.
174@item d
175@tab fold the selected patch into the current patch
176@item f
177@tab apply(qfinish) the selected patch into repo history
178@item F
179@tab apply(qfinish) all applied patches into repo history
180@item G
181@tab reset the guards of the selected patch with new guards
182@item o
183@tab pop all patches and edit .hg/patches/series file to reorder them
184@end multitable
185
186@node Using Hg Directly
187@chapter Using Hg Directly
188
189To run a Hg command directly type @kbd{:} and enter the command in the
190minibuffer. This will refresh the status buffer after the execution of
191command.  The output of the command can be viewed by typing @kbd{$}.
192
193@bye