2485.4.1
by Robert Collins
add analysis |
1 |
Add |
2506.1.1
by Alexander Belchenko
sanitize developers docs |
2 |
=== |
2485.4.1
by Robert Collins
add analysis |
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 |
|
2506.1.1
by Alexander Belchenko
sanitize developers docs |
10 |
--------------------------------- |
2485.4.1
by Robert Collins
add analysis |
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 |
|
2506.1.1
by Alexander Belchenko
sanitize developers docs |
28 |
------------------ |
2485.4.1
by Robert Collins
add analysis |
29 |
|
2485.4.7
by Robert Collins
Review feedback. |
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 |
|
2485.4.1
by Robert Collins
add analysis |
32 |
directory, push onto the recurse stack. Versioning the path may require |
33 |
versioning the paths parents. |
|
2485.4.7
by Robert Collins
Review feedback. |
34 |
#. Output or otherwise record the ignored rule as per the user interface selected. |