11 | | If the work is already part of a ticket then attach subversion patches as normal to the ticket. However, if the work is: |
12 | | |
13 | | * A feature that spans multiple tickets (like aggregation or !SpatiaLite support) |
14 | | * A small tweak that jbronn approves (e.g., Christopher Schmidt's [http://geodjango.org/hg/gis-1.1/rev/4d746d3acaab from_bbox patch]) |
15 | | |
16 | | Then send me (jbronn at gmail) patches directly, and I'll incorporate in the mercurial. All the necessary information for working with the mercurial may be found in the next section. |
| 11 | ~~All development will be taking place in the `gis-1.1` repository hosted at the [http://geodjango.org/hg/gis-1.1/ GeoDjango Mercurial] page. The `gis-1.1` repository is synchronized with SVN trunk, as well as, Russell Keith Magee's [http://github.com/freakboy3742/django/tree/aggregation aggregation git repository], and may also include various patches from tickets before they are checked into trunk (e.g., for !SpatiaLite support). Because of the dynamic nature of this repository, it is not recommended for production use.~~ |
19 | | |
20 | | == Mercurial Intro == |
21 | | |
22 | | Fortunately, you will only need to learn a subset of Mercurial's features to participate -- and most of them are very similar to what you would do in SVN. This section is a brief guide of the mercurial commands you'll need to work with the `gis-1.1` repository. |
23 | | |
24 | | === Installation === |
25 | | For those with setup tools and a command-line: |
26 | | |
27 | | {{{ |
28 | | $ easy_install mercurial |
29 | | }}} |
30 | | |
31 | | However, there are also [http://mercurial.berkwood.com/ Mercurial binary packages for Windows and Mac OS X]. |
32 | | |
33 | | === Getting a Copy === |
34 | | Here's how to get a copy of the repository -- unlike SVN, you get every changeset when you "clone" a repository: |
35 | | |
36 | | {{{ |
37 | | $ hg clone http://geodjango.org/hg/gis-1.1/ |
38 | | }}} |
39 | | |
40 | | |
41 | | === Making Patches === |
42 | | |
43 | | After cloning, work with the code as necessary. Once modified, you create a patch as follows: |
44 | | |
45 | | {{{ |
46 | | $ hg diff > my_patch.diff |
47 | | }}} |
48 | | |
49 | | However, if you've made your own changes (e.g., checked in your own local revisions with `hg ci`) then you will need to send me a diff to the latest pulled revision from the repository. In other words, something like: |
50 | | |
51 | | {{{ |
52 | | $ hg diff -r 49 |
53 | | }}} |
54 | | |
55 | | === Updating (Pulling) === |
56 | | |
57 | | To get the latest changes (analagous to `svn update`), you pull the new changesets and then update the repository with the following commands: |
58 | | |
59 | | {{{ |
60 | | $ hg pull |
61 | | $ hg update |
62 | | }}} |
63 | | |
64 | | Or, if you're lazy you can do it in one command: |
65 | | |
66 | | {{{ |
67 | | $ hg pull -u |
68 | | }}} |
| 91 | |
| 92 | == Mercurial Intro == |
| 93 | |
| 94 | Fortunately, you will only need to learn a subset of Mercurial's features to participate -- and most of them are very similar to what you would do in SVN. This section is a brief guide of the mercurial commands you'll need to work with the `gis-1.1` repository. |
| 95 | |
| 96 | === Installation === |
| 97 | For those with setup tools and a command-line: |
| 98 | |
| 99 | {{{ |
| 100 | $ easy_install mercurial |
| 101 | }}} |
| 102 | |
| 103 | However, there are also [http://mercurial.berkwood.com/ Mercurial binary packages for Windows and Mac OS X]. |
| 104 | |
| 105 | === Getting a Copy === |
| 106 | Here's how to get a copy of the repository -- unlike SVN, you get every changeset when you "clone" a repository: |
| 107 | |
| 108 | {{{ |
| 109 | $ hg clone http://geodjango.org/hg/gis-1.1/ |
| 110 | }}} |
| 111 | |
| 112 | |
| 113 | === Making Patches === |
| 114 | |
| 115 | After cloning, work with the code as necessary. Once modified, you create a patch as follows: |
| 116 | |
| 117 | {{{ |
| 118 | $ hg diff > my_patch.diff |
| 119 | }}} |
| 120 | |
| 121 | However, if you've made your own changes (e.g., checked in your own local revisions with `hg ci`) then you will need to send me a diff to the latest pulled revision from the repository. In other words, something like: |
| 122 | |
| 123 | {{{ |
| 124 | $ hg diff -r 49 |
| 125 | }}} |
| 126 | |
| 127 | === Updating (Pulling) === |
| 128 | |
| 129 | To get the latest changes (analagous to `svn update`), you pull the new changesets and then update the repository with the following commands: |
| 130 | |
| 131 | {{{ |
| 132 | $ hg pull |
| 133 | $ hg update |
| 134 | }}} |
| 135 | |
| 136 | Or, if you're lazy you can do it in one command: |
| 137 | |
| 138 | {{{ |
| 139 | $ hg pull -u |
| 140 | }}} |
| 141 | |
| 142 | |