Differences between revisions 19 and 28 (spanning 9 versions)
Revision 19 as of 2010-04-11 04:20:21
Size: 2326
Editor: ÉricAraujo
Comment: Propose an answer
Revision 28 as of 2013-08-27 01:42:49
Size: 409
Editor: KandiLest
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
Ernest is his name and believes it sounds often good. Some period of time ago he chose to stay in Idaho.<<BR>>
What he really enjoys doing is jumping in but he's been running into new things lately. The job he's been occupying for a few years is a procurement police but his promotion you should not comes. Go to his website to find outside more: http://www.impedanceanalyzer.com.au/news_feed.php?itemid=16

Ernest is his name and believes it sounds often good. Some period of time ago he chose to stay in Idaho.
What he really enjoys doing is jumping in but he's been running into new things lately. The job he's been occupying for a few years is a procurement police but his promotion you should not comes. Go to his website to find outside more: http://www.impedanceanalyzer.com.au/news_feed.php?itemid=16

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