/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/add.txt

  • Committer: mernst at mit
  • Date: 2008-10-16 10:57:16 UTC
  • mto: This revision was merged to the branch mainline in revision 3799.
  • Revision ID: mernst@csail.mit.edu-20081016105716-v8x8n5t2pf7f6uds
Improved documentation of stacked and lightweight branches

These patches improve the User Guide's documentation of stacked and
lightweight branches.

Section "1.2.6 Putting the concepts together" should mention stacked
branches and the difference between them and lightweight branches.  It
should also contain links to further details of the common scenarios.

Section "5.3.4 Getting a lightweight checkout" should mention stacked
branches as an option, and should link to all the options, not just some of
them.  It should also clarify that lightweight only applies to checkouts,
not to arbitrary branches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Add
 
2
===
 
3
 
 
4
Add is used to recursively version some paths supplied by the user. Paths that
 
5
match ignore rules are not versioned, and paths that become versioned are
 
6
versioned in the nearest containing bzr tree. Currently we only do this within
 
7
a single tree, but perhaps with nested trees this should change.
 
8
 
 
9
Least work we can hope to perform
 
10
---------------------------------
 
11
 
 
12
* Read a subset of the full versioned paths data for the tree matching the scope of the paths the user supplied.
 
13
* Seek once to each directory within the scope and readdir its contents.
 
14
* Probe if each directory is a child tree to avoid adding data for paths within a child tree.
 
15
* Calculate the ignored status for paths not previously known to be ignored
 
16
* Write data proportional to the newly versioned file count to record their versioning.
 
17
* Assign a fileid for each path (so that merge --uncommitted can work immediately)
 
18
 
 
19
Optionally:
 
20
 
 
21
* Print the ignore rule for each ignored path in the scope.
 
22
* Print the path of each added file.
 
23
* Print the total count of ignored files within the scopes.
 
24
* Record the result of calculating ignored status for ignored files.
 
25
  (proportional to the number we actually calculate).
 
26
 
 
27
Per file algorithm
 
28
------------------
 
29
 
 
30
#. If the path is versioned, and it is a directory, push onto the recurse stack.
 
31
#. If the path is supplied by the user or is not ignored, version it, and if a 
 
32
   directory, push onto the recurse stack. Versioning the path may require
 
33
   versioning the paths parents.
 
34
#. Output or otherwise record the ignored rule as per the user interface selected.