Differences between revisions 19 and 26 (spanning 7 versions)
Revision 19 as of 2010-04-11 04:20:21
Size: 2326
Editor: ÉricAraujo
Comment: Propose an answer
Revision 26 as of 2013-08-26 09:47:14
Size: 234
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Mercurial working practices ==

This page documents some ways to use Mercurial. Because the software is flexible, there's no "right way", but some methods are more scalable than others. These are a few tips for creating a scaleable workflow.

First, [[Merge|merge]] often! This makes merging easier for everyone and you
find out about conflicts (which are often rooted in incompatible
design decisions) earlier.

Second, don't hesitate to use multiple trees locally. Mercurial makes
this fast and light-weight. Typical usage is to have an incoming tree,
an outgoing tree, and a separate tree for each area being worked on.

The incoming tree is best maintained as a pristine copy of the
upstream [[Repository|repository]]. This works as a cache so that you don't have to
[[Pull|pull]] multiple copies over the network. No need to check files out here
as you won't be changing them.

The outgoing tree contains all the changes you intend for merge into
upstream. Publish this tree with {{{hg serve}}} or hgweb.cgi or use
{{{hg push}}}
to [[Push|push]] it to another publicly available repository.

Then, for each feature you work on, create a new tree. [[Commit]] early
and commit often, merge with incoming regularly, and once you're
satisfied with your feature, pull the changes into your outgoing tree.

=== Other ways to collaborate ===

|| '''Name''' || '''Scalability''' || '''Overhead''' || '''Description''' ||
|| CvsLikePractice || poor || low || keep things simple, use a few central repositories ||
|| KernelPractice || good || medium || distributed, semi-hierarchical development ||
|| ControlledPractice || good || medium || hierarchical development ||

=== See also ===
 * How to write good ChangeSetComments
 * RepositoryNaming is important, because you'll probably have lots of them
 * [[Clone]]
 * MultipleCommitters

----
Question: Do you know which is the one HG takes itself?

 . Answer: Quote from [[ContributingChanges]]: ''"Mercurial development process resembles the one described in KernelPractice"''

Question: What is the way to have ''commits'' go onto a backed-up drive? If my working computer is laptop with a safe `/samba` share?

 . Answer: Create a clone on this drive and push to it.
----
CategoryHowTo
21 yrs old Santa Clarita-born Verline Sanchez is hooked on [[http://www.superstaredu.com/xe/?document_srl=396264|Costa Blanca weather May,]] gadgets, running. Last of all, she's intrigued by spending free time with her best friends.

21 yrs old Santa Clarita-born Verline Sanchez is hooked on Costa Blanca weather May, gadgets, running. Last of all, she's intrigued by spending free time with her best friends.

WorkingPractices (last edited 2013-08-31 09:38:15 by rcl)