annotate text/workflows.txt @ 123:f67bc89db328

workflows: Added plan for the workflow structuring.
author Arne Babenhauserheide <bab@draketo.de>
date Tue, 28 Apr 2009 13:07:25 +0200
parents a5c7422e4e4c
children ac97975760a7
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
99
71ff3b94b20d Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents: 97
diff changeset
53 -->
71ff3b94b20d Added workflows sysadmin, lone developer and seperate features.
Arne Babenhauserheide <bab@draketo.de>
parents: 97
diff changeset
54
116
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
55 == Workflows ==
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
56
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
57 === One-off patch submission ===
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
58
117
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
59 ==== For whom? ====
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
60
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
61 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
62
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
63 ==== Requirements ====
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
64
117
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
65 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
66
116
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
67 ==== Flow ====
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
68
117
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
69 First get the repository
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
70
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
71 $ hg clone http://hg-scm.org/hello
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
72
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
73 Now do and commit your changes
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
74
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
75 $ cd hello
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
76 $ (edit files)
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
77 $ hg add (new files)
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
78 $ 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
79
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
80 Export your patch
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
81
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
82 $ hg export tip &gt; patch.diff
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
83
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
84 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
85
118
a5c7422e4e4c workflows, polishing.
Arne Babenhauserheide <bab@draketo.de>
parents: 117
diff changeset
86 Note: "tip" is the most current revision in your repository.
a5c7422e4e4c workflows, polishing.
Arne Babenhauserheide <bab@draketo.de>
parents: 117
diff changeset
87
117
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
88 ==== Modifications ====
f3bf81b67f7b workflows: Added the basic patch submission workflow.
Arne Babenhauserheide <bab@draketo.de>
parents: 116
diff changeset
89
118
a5c7422e4e4c workflows, polishing.
Arne Babenhauserheide <bab@draketo.de>
parents: 117
diff changeset
90 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
91
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
92 == Lone Developer ==
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
93
7666e300f284 Added preliminary plan for a list of workflows.
Arne Babenhauserheide <bab@draketo.de>
parents: 107
diff changeset
94 ...