1. Yujie Wu
  2. hgflow

Commits

Yujie Wu  committed dc322c8

Edited online

  • Participants
  • Parent commits dcb7297
  • Branches default

Comments (0)

Files changed (1)

File Home.wiki

View file
 that implements a generalized Driessen branching model.
 
 <<toc 3>>
-
+\\
+\\
+\\
+\\
 = What's New =
 == v0.9.x ==
 The latest version in the 0.9 release line is [[https://bitbucket.org/yujiewu/hgflow/downloads/hgflow-v0.9.0.tar.bz2|v0.9.0]]
 * [[DetailedCommands#!list-a-stream|Shortcut command to list all branches in a stream]].
 * [[DetailedCommands#!list-all-streams|Support listing all branches in all streams]].
 * Support [[Home#!commands|--history]] option to record the hg commands used by this hgflow command.
-
+\\
+\\
+\\
+\\
 = History =
 
 Version 0.3 and the earliers of hgflow was written by
 I then implemented several important enhancements, such as [[Home#!autoshelve|autoshelve]], ##**--history**## option, [[Home#!commands|##**rebase**##]] and [[Home#!commands|##**log**##]] actions. These made hgflow a lot nicer to use. This work was published as [[https://bitbucket.org/yujiewu/hgflow/get/v0.8.3.tar.gz|version 0.8.x]].
 
 Aftewards, the code was deeply refactored for the second time to support generalized streams. In addition, an advanced help system, an infrastructure for parsing subcommand options, and a mechanism for colorable messages were established. These made hgflow more powerful and friendly, and made it easy for further enhancements. A number of useful options, including ##**--dry-run**## and ##**--onstream**, were supported. 
-
+\\
+\\
+\\
+\\
 = Introduction =
 
 In software engineering, //branching// is diverging the development so that the
 version control system. Many commands and usages in hgflow are similar to git-flow. Experience
 learned in using gitflow can be directly transferred to hgflow. An excellent introduction
 to usage of git-flow can be found at [[http://yakiloo.com/getting-started-git-flow/|here]].
-
+\\
+\\
+\\
+\\
 = Generalized Driessen's Branching Model =
 
 According to the definition above, stream in its bare essence is a set of
 
 Several actions can act on a stream with the --onstream option: finish, rebase, log, and abort.
 In other words, they act on each branch in the stream.
- 
+\\
+\\
+\\
+\\
 = License =
 
 GPL 2.0.
-
+\\
+\\
+\\
+\\
 = Installation =
 0. Requirements: You need ##hg## version 1.6 or later. Some features, for example,
 [[Home#!autoshelve|autoshelve]] and [[Home#!commands|rebase]], need the
 [[http://mercurial.selenic.com/wiki/MqExtension|mq]] and
 [[http://mercurial.selenic.com/wiki/RebaseExtension|rebase]] extensions.\\
-1. To get hgflow, you can either go to the [[https://bitbucket.org/yujiewu/hgflow/downloads|Downloads page]]
-to download the files, or clone the repository, or directly download from one of the following links.
-* [[https://bitbucket.org/yujiewu/hgflow/downloads/hgflow-v0.9.0.tar.bz2|hgflow v0.9.0]]
-* [[https://bitbucket.org/yujiewu/hgflow/get/v0.8.3.tar.gz|hgflow v0.8.3]]
-* [[https://bitbucket.org/yujiewu/hgflow/get/v0.7.2.tar.gz|hgflow v0.7.2]]
-
-2. Unpack or copy the ##hgflow.py## file to an arbitrary directory, e.g., ##**$HOME/.hgext/hgflow/**##.\\
+1. To get hgflow, you can either clone the repository, or download from the link: [[https://bitbucket.org/yujiewu/hgflow/downloads/hgflow-v0.9.0.tar.bz2|hgflow v0.9.0]].\\
+2. Unpack or copy the ##hgflow.py## file to an arbitrary directory, e.g., ##**$HOME/.hgext/**##.\\
 3. Edit hg configuration file: ##**$HOME/.hgrc**## (or ##**%USERPROFILE%/Mercurial.ini**## on Windows; refer to [[http://www.selenic.com/mercurial/hgrc.5.html#files|here]] if you are unsure which file to edit.). Add the following lines:
 {{{
 #!ini
 [extensions]
 flow = /PATH/TO/hgflow.py
 }}}
-\\
 4. (//optional//) If you use a pager, you may want to let it ignore hgflow. Otherwise it could hide hgflow's input prompts.
-For example, I have the following lines in my ##**$HOME/.hgrc**## file to let the pager ignore hgflow's commands ##**flow**## and ##**flow-init**## (among others):
+For example, I have the following lines in my ##**$HOME/.hgrc**## file to let the pager ignore {{{hg flow init}}} command (among others):
 {{{
 #!ini
 [pager]
 pager = LESS='FSRX' less
-ignore = version, help, update, flow, flow-init
+ignore = version, help, update, flow init
 }}}
 \\
-
+\\
 = Initialization =
 You have to initialize hgflow for every repository where you want to use hgflow.
 {{{
 cd <my_repository_dir>
 hg flow init
 }}}
-\\
 The ##**flow init**## command will create a configuration file: ##**.flow**## in
-the root dir of the repository. Before doing so, it will ask you branch names or prefixes for each stream.
-Type your stream names or simply press return to use the default.
+the root dir of the repository. Before doing so, it will ask you branch names or prefixes for each basic stream.
+Type your preferred names or press return to use the default.
 {{{
 Branch name for master stream: [default] 
 Branch name for develop stream: [develop] 
 Branch name prefix for hotfix stream: [hotfix/] 
 Branch name prefix for support stream: [support/] 
 }}}
-
 Since the configuration file is tracked by ##hg##, if you have multiple existing branches, hgflow will
 need to write the configuration file in each open branch. This will be done automatically by
 ##**hg flow init**## command.
 
 == Autoshelve ==  
-Version 0.8 and later provide a new feature called **autoshelve**. It can automatically shelve uncommitted
+Versions 0.8 and later provide a feature called **autoshelve**. It can automatically shelve uncommitted
 changes in the current workspace right before you switch to a
 different branch, and later when you switch back, it will automatically unshelve the changes.
 You can turn on this feature by adding the following lines in your [[http://www.selenic.com/mercurial/hgrc.5.html#files|hg configuration file]]:
 [flow]
 autoshelve = true
 }}}
-\\This feature needs the [[http://mercurial.selenic.com/wiki/MqExtension|mq extension]].
+This feature needs the [[http://mercurial.selenic.com/wiki/MqExtension|mq extension]].
 
 == Upgrade to v0.9 ==
-From version 0.8 to 0.9, the configuration file name has been changed to .flow (was .hgflow).
-Use {{{hg flow upgrade}}} to make the change for your repository.
-
-
+From version 0.8 to 0.9, the configuration file name has been changed to .flow (was .hgflow in versions 0.8 and ealier).
+Use ##**hg flow upgrade**## to make the change for your repository.
+\\
+\\
+\\
+\\
 = Commands =
 Basic syntax of hgflow commands:
 {{{
 #!bash
 hg flow {<stream> [<action> [<arg>...]] | <command>} [<option>...]
 }}}
-where {{{<stream>}}} should be one of the basic streams:
-##**master**##, ##**develop**##, ##**feature**##, ##**hotfix**##, ##**release**##, and ##**support**##, or a generalized stream, e.g., ##**feature/log_options**##.
+where {{{<stream>}}} should be a (generalized) stream, which can be one of the basic streams:
+##**master**##, ##**develop**##, ##**feature**##, ##**hotfix**##, ##**release**##, and ##**support**##, or a natural stream, e.g., ##**feature/log_options**##.
 
 Actions:
 |=Action    |=Description |