Mercurial > hg-website
annotate text/workflows.txt @ 135:8d069bba8cce
learning in workflows: shared server now contains a bit more information for people with existing servers.
author | Arne Babenhauserheide <bab@draketo.de> |
---|---|
date | Fri, 01 May 2009 14:32:23 +0200 |
parents | ac97975760a7 |
children |
rev | line source |
---|---|
102
fa153f85e455
workflows: Changed the title to 'Learning Mercurial in Workflows'.
Arne Babenhauserheide <bab@draketo.de>
parents:
101
diff
changeset
|
1 = Learning Mercurial in Workflows = |
97 | 2 |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
3 == Intro == |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
4 |
97 | 5 With Mercurial you can use a multitude of different workflows. This page shows some of them, including their use cases. |
6 | |
7 It is intended to make it easier for you to create your own workflow. | |
8 | |
103
2bbea4b68181
workflows: minor text polishing.
Arne Babenhauserheide <bab@draketo.de>
parents:
102
diff
changeset
|
9 To write this page we gathered [real life workflows](wiki - workflows), so every more complex workflow in here has proven itself in real life usage. We begin with basic workflows and then go on to more complex examples. |
99
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
10 |
123
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
11 The workflows on this page are rather terse to give you a good overview. You can find a longer introduction which shows basic Mercurial usage compatible with these workflows in [learning Mercurial in workflows](learning_mercurial_in_workflows). |
107
ee4b04bac02c
workflows: moved the workflow tutorial into learning_mercurial_in_workflows.txt and added a note pointing to that in workflows.txt
Arne Babenhauserheide <bab@draketo.de>
parents:
106
diff
changeset
|
12 |
99
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
13 <!--Structure: |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
14 * For whom? -> Why? |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
15 * What do you need? -> Resources + extensions |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
16 * Single Developer workflow |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
17 * Sharing changes. --> |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
18 |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
19 <!-- Plan |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
20 |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
21 * Simple workflows without extensions |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
22 |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
23 * Complex Workflows, including collaborative patch development and similar. |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
24 |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
25 * Smoothing workflows with extensions -> i.e. shelve before merging. |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
26 |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
27 |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
28 Workflows: |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
29 |
123
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
30 General: |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
31 * One-off patch submission |
123
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
32 * Lone Developer + laptop + publish |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
33 * Simple shared push repository for small trusted teams |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
34 * Several pull repositories with integrators for security and large teams |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
35 |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
36 collaborating on features: |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
37 * Shared repo + named branches and bugzilla for feature development |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
38 * centralized with attic |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
39 * |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
40 |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
41 Dependency tracking: |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
42 * Dependency tracking |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
43 * Snapshots |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
44 |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
45 Special usages |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
46 * Tiered web development |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
47 * Offsite working on dynamic websites |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
48 * automatic trusted group of committers for optionally anonymous repositories |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
49 |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
50 working with other vcs: |
f67bc89db328
workflows: Added plan for the workflow structuring.
Arne Babenhauserheide <bab@draketo.de>
parents:
118
diff
changeset
|
51 * Dealing with CVS |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
52 |
127
ac97975760a7
workflows: Added note to also include the bundle incoming trick.
Arne Babenhauserheide <bab@draketo.de>
parents:
123
diff
changeset
|
53 neat tricks: |
ac97975760a7
workflows: Added note to also include the bundle incoming trick.
Arne Babenhauserheide <bab@draketo.de>
parents:
123
diff
changeset
|
54 * bundle incoming |
ac97975760a7
workflows: Added note to also include the bundle incoming trick.
Arne Babenhauserheide <bab@draketo.de>
parents:
123
diff
changeset
|
55 |
99
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
56 --> |
71ff3b94b20d
Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents:
97
diff
changeset
|
57 |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
58 == Workflows == |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
59 |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
60 === One-off patch submission === |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
61 |
117
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
62 ==== For whom? ==== |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
63 |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
64 If you just want to submit a short patch to a project, this workflow is right for you. |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
65 |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
66 ==== Requirements ==== |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
67 |
117
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
68 You need just Mercurial (command line) and an email address to which you can send the patch. |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
69 |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
70 ==== Flow ==== |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
71 |
117
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
72 First get the repository |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
73 |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
74 $ hg clone http://hg-scm.org/hello |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
75 |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
76 Now do and commit your changes |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
77 |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
78 $ cd hello |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
79 $ (edit files) |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
80 $ hg add (new files) |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
81 $ hg commit -m 'short descriptioni of the changes' |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
82 |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
83 Export your patch |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
84 |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
85 $ hg export tip > patch.diff |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
86 |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
87 And send patch.diff to the developers email address, ideally with a description what your patch does and why it's important. |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
88 |
118
a5c7422e4e4c
workflows, polishing.
Arne Babenhauserheide <bab@draketo.de>
parents:
117
diff
changeset
|
89 Note: "tip" is the most current revision in your repository. |
a5c7422e4e4c
workflows, polishing.
Arne Babenhauserheide <bab@draketo.de>
parents:
117
diff
changeset
|
90 |
117
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
91 ==== Modifications ==== |
f3bf81b67f7b
workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents:
116
diff
changeset
|
92 |
118
a5c7422e4e4c
workflows, polishing.
Arne Babenhauserheide <bab@draketo.de>
parents:
117
diff
changeset
|
93 You can also upload the patch, for example to a bugtracker. It's just a simple file after all. |
116
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
94 |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
95 == Lone Developer == |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
96 |
7666e300f284
Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents:
107
diff
changeset
|
97 ... |