16 | | |
17 | | Note that we maintain an official Mercurial mirror of the SubversionRepository there, see [http://bitbucket.org/edgewall/trac edgewall/trac]. |
18 | | |
19 | | == Basic Mercurial Setup |
20 | | |
21 | | Obviously, you will need a Mercurial client: |
22 | | - The "raw" command-line client can be downloaded here: https://www.mercurial-scm.org/ |
23 | | - A GUI client for Windows also exists, surprisingly named [http://tortoisehg.bitbucket.org/ TortoiseHG] |
24 | | |
25 | | It is considered Good Practice to first get things working with command-line, before moving to GUI-based solutions. |
26 | | |
27 | | Once the client is installed, some basic configuration is in order. Create the global configuration file, depending on your platform: |
28 | | - On Windows XP and earlier: `C:\Documents and Settings\USERNAME\Mercurial.ini` |
29 | | - On Windows Vista and newer: `C:\Users\USERNAME\Mercurial.ini` |
30 | | - TODO: Other OS? |
31 | | |
32 | | This configuration file is ini-style. |
33 | | Important settings for working with the Trac BitBucket mirror: |
34 | | {{{#!ini |
35 | | [extensions] |
36 | | convert = |
37 | | eol = |
38 | | graphlog = |
39 | | ; See below concerning external extensions |
40 | | hgsvnutils = /path/to/HgExts/HgSvnUtils/HgSvnUtils.py |
41 | | |
42 | | [diff] |
43 | | git = true |
44 | | }}} |
45 | | |
46 | | === Mercurial Extensions |
47 | | |
48 | | For details on the concept of extensions see https://www.mercurial-scm.org/wiki/UsingExtensions |
49 | | |
50 | | An important external extension for Trac development with Mercurial is the [http://rc.c-space.org/hg/HgSvnUtils HgSvnUtils] extension (maintained by RemyBlank). |
51 | | |
52 | | To install it, go to some local directory and run (from command-line) |
53 | | {{{ |
54 | | hg clone http://rc.c-space.org/hg/HgSvnUtils |
55 | | }}} |
56 | | and then set the `hgsvnutils` option mentioned above to the checked-out location. |
57 | | |
58 | | === Working with BitBucket |
59 | | |
60 | | Once you installed Mercurial command-line client, you can `hg clone http://bitbucket.org/edgewall/trac` (or any other public repository). |
61 | | |
62 | | After creating an account and a repository (or Trac-fork), you will also be able to push & pull changes against the remote repository: |
63 | | - Using `https://USERNAME@bitbucket.org/USERNAME/reponame` over SSL (built-in support in the Mercurial client); or |
64 | | - Using `ssh://hg@bitbucket.org/USERNAME/reponame` over SSH (note that this uses `hg` as username!)[[BR]] |
65 | | For this you will need `ssh` client and SSH key-pair |
66 | | - See http://confluence.atlassian.com/display/BITBUCKET/Using+SSH+to+Access+your+Bitbucket+Repository for instructions |
67 | | - If you're on Linux, you probably already have `ssh` and keys, so good for you. |
68 | | - If you're on Windows, `ssh` is not native. You may obtain a `ssh` client for Windows (like `plink.exe`), but why bother, when you have the SSL option? |