##// END OF EJS Templates
feat(configs): deprecared old hooks protocol and ssh wrapper....
feat(configs): deprecared old hooks protocol and ssh wrapper. New defaults are now set on v2 keys, so previous installation are automatically set to new keys. Fallback mode is still available.

File last commit:

r3290:ac4e4e5a default
r5496:cab50adf default
Show More
forks-branches.rst
101 lines | 2.9 KiB | text/x-rst | RstLexer

Forking and Branching

Forking clones the original |repo| and creates an independent |repo|. Branching allows you to develop independently of the main branch based on the changeset branched, but remains linked to the main |repo|.

Both provide excellent collaboration functionality, and do not differ greatly, but you can find many online discussions where people fight about the differences.

Fork a |repo|

To fork a |repo|, use the following steps:

  1. Select :menuselection:`Admin --> repositories`
  2. Select the |repo| you wish to fork.
  3. Select :menuselection:`Options --> Fork`
  4. On the :guilabel:`Create fork` page, set the following properties:
    • The fork name
    • The fork description
    • If the fork is private or public
    • The copy permissions

Branch a |git| |repo|

Currently branching is only supported from the command line but is picked up on the web interface. To branch a |git| |repo| use the following example:

# branch and checkout
git branch new-branch
git checkout new-branch

# same function shorthand
git checkout -b new-branch

# Example usage
$ git checkout -b example-branch
Switched to a new branch 'example-branch'

$ git status
On branch example-branch
Initial commit
nothing to commit (create/copy files and use "git add" to track)
$ vi example-script.sh
$ git add example-script.sh
$ git commit -a -m "ghost script: initial file"
$ git push

Once it is pushed to the |RCE| server, you can switch to the newly created branch using the following steps:

  1. Select :menuselection:`Admin --> Repositories`.
  2. Select the |repo| you branched.
  3. Select :menuselection:`Switch To --> Branches` and choose the new branch.

For more information, your can read more here on the Git website, Git Branching.

Branch a |hg| |repo|

Note

To use branches in |hg| like |git|, use the hg bookmark option instead. Also see the :ref:`bvb` section for more information.

To branch a |hg| |repo|, use the following example and push your changes to the main |repo|. Once pushed, you can view the new branch in |RCE| by selecting :menuselection:`Switch To --> Branches` from the |repo| page.

$ hg branch example-456
$ hg ci -m "branch: ticket #456"
$ hg push --new-branch

Bookmark a |hg| |repo|

Bookmarks are used in |hg| in much the same way as branches are in |git|. See the Mercurial Bookmarks documentation for more information.

$ hg bookmark example-456
$ hg ci -m "branch: ticket #456"
$ hg push -B example-456
../images/branch-example.png