docs/evolve-good-practice.rst
author Patrick Mezard <patrick@mezard.eu>
Wed, 13 Jun 2012 18:28:10 +0200
changeset 269 6c6bb7a23bb5
parent 241 2f2681ed8f16
child 357 b398e9c2dbd1
permissions -rw-r--r--
stabilize: improve unstable selection heuristic Without argument, stabilize was picking the first in: "unstable() and ((suspended() or obsancestors(::.))::)" which usually returned the "oldest" unstable revision in parent predecessors descendants. This revision is interesting because it usually gives "soft" merges but rebasing it left the working directory on a remote branch, which was very confusing. The new heuristic picks an unstable changeset which can be rebased on top of the parent revision, or on top of one of its descendants (selected in revision order). This has the advantage of selecting a revision which can be rebased on the current subtree, and leave the working directory in a more convenient location.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
241
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     1
-----------------------------------------
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     2
Good pratice for (early) user of evolve
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     3
-----------------------------------------
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     4
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     5
Avoid instability
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     6
--------------------------------
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     7
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     8
The less instability you have the less you need to resolve.
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     9
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    10
Evolve is not yet able to detect and solve every situation. And your mind is
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    11
not ready neither.
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    12
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    13
Branch as much as possible
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    14
--------------------------------
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    15
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    16
This is not MQ you are not constrainted to linear history.
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    17
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    18
Making a branch per independent branch will help you avoiding instability and conflict.
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    19
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    20
Rewrite you change only
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    21
------------------------------------------------
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    22
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    23
There is no descent conflict detection and handling right now. rewriting other
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    24
people changeset garantee that you will get conflict. Communicate with you
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    25
fellow developer before trying to touch other people part. (which is a good
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    26
pratice in any case)
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    27
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    28
Using multiple branch will help you to achieve this goal.
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    29
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    30
Prefer pushing unstability than touching other people changeset
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    31
------------------------------------------------------------------
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    32
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    33
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    34
If you have children changeset from other people that you don't really care
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    35
about, prefer not altering them that risking a conflict by stabilizing them.
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    36
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    37
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    38
Do not get too confident
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    39
---------------------------
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    40
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    41
This is an experimental extension and a complexe concept. This is beautiful,
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    42
powerful and robust on paper. But the tool and your mind may not be prepared to
2f2681ed8f16 [doc] add good practice section
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    43
all situation yet.