annotate text/workflows.txt @ 205:88364e82ca61

turned learn_mercurial into Markdown.
author Arne Babenhauserheide <bab@draketo.de>
date Thu, 02 Jul 2009 14:45:13 +0200
parents ac97975760a7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
991719e0dbf5 Begun a workflow text.
Arne Babenhauserheide <bab@draketo.de>
parents:
diff changeset
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
991719e0dbf5 Begun a workflow text.
Arne Babenhauserheide <bab@draketo.de>
parents:
diff changeset
5 With Mercurial you can use a multitude of different workflows. This page shows some of them, including their use cases.
991719e0dbf5 Begun a workflow text.
Arne Babenhauserheide <bab@draketo.de>
parents:
diff changeset
6
991719e0dbf5 Begun a workflow text.
Arne Babenhauserheide <bab@draketo.de>
parents:
diff changeset
7 It is intended to make it easier for you to create your own workflow.
991719e0dbf5 Begun a workflow text.
Arne Babenhauserheide <bab@draketo.de>
parents:
diff changeset
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 &gt; 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 ...