~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/user-guide/revnos.txt

  • Committer: Vincent Ladeuil
  • Date: 2008-01-29 15:16:31 UTC
  • mto: (3206.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 3207.
  • Revision ID: v.ladeuil+lp@free.fr-20080129151631-vqjd13tb405mobx6
Fix two more leaking tmp dirs, by reworking TransformPreview lock handling.

* bzrlib/tests/test_transform.py:
(TestTransformMerge): Revert previous patch and cleanly call
preview.finalize now that we can.

* bzrlib/tests/test_merge.py:
(TestMerge.test_make_preview_transform): Catch TransformPreview
leak.

* bzrlib/builtins.py:
(cmd_merge._do_preview): Finalize the TransformPreview or the
limbodir will stay in /tmp.

* bzrlib/transform.py:
(TreeTransformBase.__init__): Create the _deletiondir since it's
reffered to by finalize.
(TreeTransformBase.finalize): Delete the dir only if _deletiondir
is set.
(TreeTransform.__init__): Use a temp var for deletiondir and set
the attribute after the base class __init__ has been called.
(TransformPreview.__init__): Read locks the tree since finalize
wants to unlock it (as suggested by Aaron).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Understanding Revision Numbers
 
2
==============================
 
3
 
 
4
All revisions in the mainline of a branch will have a simple increasing
 
5
integer. (First commit gets 1, 10th commit gets 10, etc.) This makes them
 
6
fairly natural to use when you want to say "grab the 10th revision from my
 
7
branch", or "fixed in revision 3050".
 
8
 
 
9
For revisions which have been merged into a branch, a dotted notation is
 
10
used (eg, 3112.1.5). Dotted revision numbers have three numbers. The first
 
11
number indicates what mainline revision change is derived from. The second
 
12
number is the branch counter. There can be many branches derived from the
 
13
same revision, so they all get a unique number. The third number is the
 
14
number of revisions since the branch started. For example, 3112.1.5 is the
 
15
first branch from revision 3112, the fifth revision on that branch.
 
16
 
 
17
Revisions are numbered in a stable way, such that if two branches have the
 
18
same revision in their mainline, all revisions in the ancestry of that
 
19
revision will have the same revision numbers. (So if Alice and Bob's
 
20
branches agree on revision 10, they will agree on all revisions before
 
21
that.) Future merges will not change revision numbers. However doing
 
22
``bzr pull`` can change revision numbers, because it changes the
 
23
mainline revisions.
 
24
 
 
25
 
 
26
bzr versions < 1.2
 
27
------------------
 
28
Versions prior to bzr 1.2 used a slightly different algorithm. Some nested
 
29
branches would get extra numbers (such as 1.1.1.1.1) rather than the
 
30
simpler 3-number system.
 
31
 
 
32
..
 
33
   vim: ft=rst tw=74 ai