~bzr-pqm/bzr/bzr.dev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
********************
Comparison with PRCS
********************

  http://prcs.sourceforge.net/

* No network support; no Windows or Mac support.

* Long-lived file IDs, generated from .  Files can be reintroduced
  after they are deleted. 

* Named branches.

* Custom keyword replacement: can specify keywords such as the release
  number.  Commands to update keywords, and to strip them out.
  Separate ``rekey`` command can be used after a checkin to bring
  keywords up to date.

* Users are allowed to edit the manifest file, which also contains
  some system-maintained data.  This apparently works OK but I think
  it makes people uncomfotable.

* ``populate`` command adds all unversioned files and unregister files
  which are no longer present.

* Merge algorithm is similar to the best-parent three-way merge we're
  planning on using; in particular it remembers merged parents to help
  with later choices.

* ``$Format$`` feature useful in generating arbitrary tags inside text,
  example__::

    /* $Format: "static char* version = \"$ProjectVersion$\";"$ */
    static char* version = "x.x";

  transformed to::

    /* $Format: "static char* version = \"$ProjectVersion$\";"$ */
    static char* version = "1.2";

  Also a good bundle of other keywords.

* ``prcs execute`` is like find-xargs; perhaps easier to have a
  find/exec pattern.

__ http://svn.haxx.se/dev/archive-2004-12/1065.shtml


Should have a look at their storage format; probably pretty efficient.