PageRenderTime 53ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

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