~bzr/ubuntu/maverick/bzr-svn/bzr-ppa

« back to all changes in this revision

Viewing changes to specs/layout.txt

  • Committer: Jelmer Vernooij
  • Date: 2008-05-11 19:29:26 UTC
  • mfrom: (220.36.144 0.4)
  • Revision ID: jelmer@samba.org-20080511192926-7mh02j45r25qmzkz
Merge 0.4 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Repository layouts
 
2
==================
 
3
 
 
4
.. contents:
 
5
 
 
6
Rationale
 
7
---------
 
8
Branching schemes are very inflexible and changing them breaks the ability to 
 
9
use the repository since they are embedded in the generated revision ids. It 
 
10
should be possible to get rid of branching schemes but there are a couple of 
 
11
properties of it that should still be usable. 
 
12
 
 
13
When searching for revision ids, we need to search a limited set of paths in 
 
14
the repository for branch properties.
 
15
 
 
16
When importing a branch, we need to import the relevant tags so we need 
 
17
to know where to find them.
 
18
 
 
19
In order to push right hand side history into Bazaar, it should be 
 
20
possible to create new branches inside the repository automatically.
 
21
 
 
22
Since there may be more than one project in a repository and it can be 
 
23
very inefficient to have to browse the full repository it will be useful 
 
24
to be able to restrict the paths searched on a per-project basis.
 
25
 
 
26
Storage
 
27
~~~~~~~
 
28
It should be possible to specify the repository layout locally as the user 
 
29
may only have read-only access to the repository. It should be possible to 
 
30
set the layout globally as well, inside of the repository, so it is possible
 
31
to use the repository and just have it work.
 
32
 
 
33
If repository layout is known, one should be guess - similar to the way 
 
34
that is currently being done for branching schemes.
 
35
 
 
36
Proposal
 
37
--------
 
38
In order to deal with this information, we need to keep a list of branches
 
39
and tags per project.
 
40
 
 
41
Backwards compatibility
 
42
-----------------------
 
43
Branching schemes should be derivable from the repository layout. 
 
44
 
 
45
Implementation
 
46
--------------
 
47
A new class RepositoryLayout will be created that can manage a list of 
 
48
branch paths, tags paths and locations to add new tags or branches.
 
49
 
 
50
.. vim: ft=rest