/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: Vincent Ladeuil
  • Date: 2009-03-12 04:00:48 UTC
  • mto: (4132.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 4135.
  • Revision ID: v.ladeuil+lp@free.fr-20090312040048-x8w6pv3h7xfcn7mx
Fallback to old revision id if the current one doesn't exist in
the requested revision inventory.

* bzrlib/tests/blackbox/test_cat.py:
(TestCat.test_cat_different_id): Complete test.

* bzrlib/inventory.py:
(Inventory.__repr__): Limit debug output to 2048 characters or big
inventories produce too much noise.

* bzrlib/builtins.py:
(cmd_cat._run): The file id in the basis tree may not exist in the
requested revision. Catch the exception and try with the file id
in the revision tree.

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.