~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/compared-prcs.txt

  • Committer: John Arbash Meinel
  • Date: 2007-03-01 21:56:19 UTC
  • mto: (2255.7.84 dirstate)
  • mto: This revision was merged to the branch mainline in revision 2322.
  • Revision ID: john@arbash-meinel.com-20070301215619-wpt6kz8yem3ypu1b
Update to dirstate locking.
Move all of WT4.lock_* functions locally, so that they can
properly interact and cleanup around when we lock/unlock the
dirstate file.
Change all Lock objects to be non-blocking. So that if someone
grabs a lock on the DirState we find out immediately, rather
than blocking.
Change WT4.unlock() so that if the dirstate is dirty, it will
save the contents even if it only has a read lock.
It does this by trying to take a write lock, if it fails
we just ignore it. If it succeeds, then we can flush to disk.
This is more important now that DirState tracks file changes.
It allows 'bzr status' to update the cached stat and sha values.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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.
 
 
b'\\ No newline at end of file'