1185.1.29
by Robert Collins
merge merge tweaks from aaron, which includes latest .dev |
1 |
******************** |
2 |
Comparison with PRCS |
|
3 |
******************** |
|
4 |
||
5 |
http://prcs.sourceforge.net/ |
|
6 |
||
7 |
* No network support; no Windows or Mac support. |
|
8 |
||
9 |
* Long-lived file IDs, generated from . Files can be reintroduced |
|
10 |
after they are deleted. |
|
11 |
||
12 |
* Named branches. |
|
13 |
||
14 |
* Custom keyword replacement: can specify keywords such as the release |
|
15 |
number. Commands to update keywords, and to strip them out. |
|
16 |
Separate ``rekey`` command can be used after a checkin to bring |
|
17 |
keywords up to date. |
|
18 |
||
19 |
* Users are allowed to edit the manifest file, which also contains |
|
20 |
some system-maintained data. This apparently works OK but I think |
|
21 |
it makes people uncomfotable. |
|
22 |
||
23 |
* ``populate`` command adds all unversioned files and unregister files |
|
24 |
which are no longer present. |
|
25 |
||
26 |
* Merge algorithm is similar to the best-parent three-way merge we're |
|
27 |
planning on using; in particular it remembers merged parents to help |
|
28 |
with later choices. |
|
29 |
||
30 |
* ``$Format$`` feature useful in generating arbitrary tags inside text, |
|
31 |
example__:: |
|
32 |
||
33 |
/* $Format: "static char* version = \"$ProjectVersion$\";"$ */ |
|
34 |
static char* version = "x.x"; |
|
35 |
||
36 |
transformed to:: |
|
37 |
||
38 |
/* $Format: "static char* version = \"$ProjectVersion$\";"$ */ |
|
39 |
static char* version = "1.2"; |
|
40 |
||
41 |
Also a good bundle of other keywords. |
|
42 |
||
43 |
* ``prcs execute`` is like find-xargs; perhaps easier to have a |
|
44 |
find/exec pattern. |
|
45 |
||
46 |
__ http://svn.haxx.se/dev/archive-2004-12/1065.shtml |
|
47 |
||
48 |
||
49 |
Should have a look at their storage format; probably pretty efficient. |