Re: A less invasive rcs

Hugh Sasse <[email protected]> Mon, 15 Feb 2021 12:09:14 +0000
Newsgroups gmane.comp.gnu.rcs
Message-ID <AM6PR0302MB31896E225B36E315C1C14F5BE6889@AM6PR0302MB3189.eurprd03.prod.outlook.com>
--_000_AM6PR0302MB31896E225B36E315C1C14F5BE6889AM6PR0302MB3189_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

SSd2ZSBuZXZlciB3b3JrZWQgd2l0aCBQZXJmb3JjZSBhbmQgaGF2ZSBoZWFyZCBnb29kIGFuZCBi
YWQgdGhpbmdzIGFib3V0IHRoZSBjb21tZXJjaWFsIG9mZmVyaW5ncy4gIFdpcGluZyB0aGUgZGlz
ayByYXRoZXIgdGhhbiBqdXN0IGFkZGluZyB3aGF0IG5lZWRzIHRvIGJlIGFkZGVkIHNlZW1zIHJh
dGhlciBkcmFzdGljIQ0KDQpJIGRvbid0LCBldmVuIG5vdywgZnVsbHkgdW5kZXJzdGFuZCB3aGF0
IGdpdCBkb2VzIHdpdGggbmVzdGVkIHJlcG9zaXRvcmllcywgbm90IGJlaW5nIHRvbyBrZWVuIHRv
IHJlcGVhdCB0aGUgZXhwZXJpZW5jZS4gIFRvIGJvcnJvdyB5b3VyIEFTQ0lJIGFydCwgSSdtIHRo
aW5raW5nIGFib3V0IHRoaXM6DQoNCiAgICAuLi4vcHJvamVjdA0KICAgICAgICCpwKmkqaQgc3Jj
DQogICAgICAgIKmmICAgqcCppKmkIGZvby5jDQogICAgICAgIKmmICAgqcCppKmkIGJhci5jDQog
ICAgICAgIKmmICAgqbippKmkIC9uZXN0ZWQNCiAgICAgICAgqaYgICAgICAgqcCppKmkIHNyYw0K
ICAgICAgICCppiAgICAgICCppiAgIKnAqaSppCBiYXouYw0KICAgICAgICCppiAgICAgICCppiAg
IKm4qaSppCBxdXguYw0KICAgICAgICCppiAgICAgICCpwKmkqaQgaW5jDQogICAgICAgIKmmICAg
ICAgIKmmICAgqcCppKmkIGJhei5oDQogICAgICAgIKmmICAgICAgIKmmICAgqbippKmkIHF1eC5o
DQogICAgICAgIKmmICAgICAgIKnAqaSppCBkb2MNCiAgICAgICAgqaYgICAgICAgqaYgICCpuKmk
qaQgYmF6Lm1kDQogICAgICAgIKmmICAgICAgIKm4qaSppCAucmNzDQogICAgICAgIKmmICAgICAg
ICAgICCpwKmkqaQgc3JjDQogICAgICAgIKmmICAgICAgICAgICCppiAgIKnAqaSppCBiYXouYyx2
DQogICAgICAgIKmmICAgICAgICAgICCppiAgIKm4qaSppCBxdXguYyx2DQogICAgICAgIKmmICAg
ICAgICAgICCpwKmkqaQgaW5jDQogICAgICAgIKmmICAgICAgICAgICCppiAgIKnAqaSppCBiYXou
aCx2DQogICAgICAgIKmmICAgICAgICAgICCppiAgIKm4qaSppCBxdXguaCx2DQogICAgICAgIKmm
ICAgICAgICAgICCpuKmkqaQgZG9jDQogICAgICAgIKmmICAgICAgICAgICAgICAgqbippKmkIGJh
ei5tZCx2DQogICAgICAgIKnAqaSppCBpbmMNCiAgICAgICAgqaYgICCpwKmkqaQgZm9vLmgNCiAg
ICAgICAgqaYgICCpuKmkqaQgYmFyLmgNCiAgICAgICAgqcCppKmkIGRvYw0KICAgICAgICCppiAg
IKm4qaSppCBmb28ubWQNCiAgICAgICAgqbippKmkIC5yY3MNCiAgICAgICAgICAgIKnAqaSppCBz
cmMNCiAgICAgICAgICAgIKmmICAgqcCppKmkIGZvby5jLHYNCiAgICAgICAgICAgIKmmICAgqbip
pKmkIGJhci5jLHYNCiAgICAgICAgICAgIKnAqaSppCBpbmMNCiAgICAgICAgICAgIKmmICAgqcCp
pKmkIGZvby5oLHYNCiAgICAgICAgICAgIKmmICAgqbippKmkIGJhci5oLHYNCiAgICAgICAgICAg
IKm4qaSppCBkb2MNCiAgICAgICAgICAgICAgICCpuKmkqaQgZm9vLm1kLHYNCg0KV2hlbiB5b3Ug
dHJ5IHRvIHJjcyBjb21taXQgLi4uL3Byb2plY3QsIGFuZCBpdCBoaXRzIHRoZSBuZXdseSBjcmVh
dGVkIHNyYy9uZXN0ZWQvLCB0aGVuLCBJIHRoaW5rIGl0IHNob3VsZCwgb3IgbWF5YmUgUkZDIHN0
eWxlOiBNVVNULCBiYWNrdXAgdGhlIGNvbnRhaW5lZCBSQ1MgZGlyZWN0b3JpZXMsIGJlY2F1c2Ug
aXQgaXMgbm90IHBsYXlpbmcgdGhlIHJvbGUgb2YgbG9va2luZyBvZiBSQ1MgZGF0YSBhdCB0aGlz
IHBvaW50LCBpdCBpcyBsb29raW5nIGZvciBmaWxlcyB0byBzcXVpcnJlbCBhd2F5LiAgIEdpdCB3
b3VsZCwgSSB0aGluaywganVzdCBzdG9wLCBhbmQgaWdub3JlIHRoZW0sIG9yIGJhcmsgYXQgdGhl
IHVzZXIuDQoNClRoaXMgd291bGQgcHJvYmFibHkgcmVzdWx0IGluIHRoaW5ncyBsaWtlIHF1eC5j
LHYsdiBpbiB0aGUgUkNTIGZvbGRlciwgYnV0IEkgdGhpbmsgdGhhdCBjb3VsZCBiZSBsaXZlZCB3
aXRoLg0KDQpIb3dldmVyLCB0aGlzIGlzIG9ubHkgbXkgZXhwZWN0YXRpb24sIGF0IHRoZSBtb21l
bnQuICBJIGRvbid0IGtub3cgaWYgSSBhbSByaWdodC4gIFRoZXJlIG1heSBiZSBhIGJldHRlciB3
YXkgdGhhdCBtYWtlcyBtb3JlIHNlbnNlLCBhbmQgb25jZSBJIHNlZSBpdCwgSSB3aWxsIHRoaW5r
LCAiT2gsIG9mIGNvdXJzZSwgdGhhdCBpcyBvYnZpb3VzISEiDQoNCldvcmtpbmcgaW5zaWRlIG5l
c3RlZC8gc2hvdWxkIHdvcmsgYXMgeW91IHN1Z2dlc3QuICAoSXQgaXMgdGhlIHNhbWUgc3RydWN0
dXJlOyBJIGp1c3QgY2hhbmdlZCB0aGUgbmFtZXMuKQ0KDQpEb2VzIHRoaXMgc2hvdyB5b3Ugd2hh
dCBJJ20gdGFsa2luZyBhYm91dD8NCg0KVGhhbmsgeW91LA0KSHVnaA0KX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18NCkZyb206IEpvaG4gWWF0ZXMgPGpvaG5AeWF0ZXMtc2hlZXRzLm9y
Zz4NClNlbnQ6IDE1IEZlYnJ1YXJ5IDIwMjEgMTE6MTkNClRvOiBIdWdoIFNhc3NlIDxoZ3NAZG11
LmFjLnVrPg0KQ2M6IGhlbHAtcmNzQGdudS5vcmcgPGhlbHAtcmNzQGdudS5vcmc+DQpTdWJqZWN0
OiBSZTogQSBsZXNzIGludmFzaXZlIHJjcw0KDQoNClRoaXMgbWVzc2FnZSB3YXMgc2VudCBmcm9t
IG91dHNpZGUgb2YgRE1VLiBQbGVhc2UgZG8gbm90IGNsaWNrIGxpbmtzIG9yIG9wZW4gYXR0YWNo
bWVudHMgdW5sZXNzIHlvdSByZWNvZ25pc2UgdGhlIHNvdXJjZSBvZiB0aGlzIGVtYWlsIGFuZCBr
bm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQoNCkhpIEh1Z2gsDQoNCkkgY2FuIGVtcGF0aGl6ZSB3
aXRoIHlvdXIgbWVtb3J5IG9mIGEgYmFkIGV4cGVyaWVuY2UuDQoNCk15IG1vdGl2YXRpb24gZm9y
IHRoaXMgcHJvamVjdCBpcyBhIGJhZCBleHBlcmllbmNlIHdpdGggZ2l0DQppbiB3aGljaCB1bnNh
dmVkIChub3QgeWV0IGFkZGVkKSBmaWxlcyBnb3QgbG9zdCB2aWEgYSBoYXJkDQpyZXNldC4gIEFz
IGFuIGVtYWNzIHVzZXIgSSB3YW50IGEgbWVjaGFuaXNtIHRoYXQgd2lsbA0KcHJlc2VydmUgbXkg
Y2hhbmdlcyBvbiBldmVyeSBzYXZlLiAgRnVydGhlcm1vcmUsIEkgd2FudA0KdGhvc2UgY2hhbmdl
cyBzYXZlZCBvdXRzaWRlIG9mIG15IHByb2plY3QgdHJlZS4gIChBdCB3b3JrDQp0aGF0IHByb2pl
Y3QgdHJlZSBnZXRzIHdpcGVkIG91dCBhbmQgcmVjcmVhdGVkIGJ5IG91ciBjcmF6eQ0KUGVyZm9y
Y2UgaW50ZWdyYXRpb24uKQ0KDQpBIHJlbGF0ZWQgcHJvamVjdCBpcyB0byBhZGQgYSB2Yy10aW1l
bWFjaGluZSBjYXBhYmlsaXR5LA0KbW9kZWxlZCBvbiBnaXQtdGltZW1hY2hpbmUuICBUaGlzIGlz
IHdoeSBJIHdhbnQgbXkNCmNoYW5nZXMgc2F2ZWQgaW4gcmNzIGluc3RlYWQgb2YgYXMgYSBjb2xs
ZWN0aW9uIG9mIGRhdGUtDQp0aW1lIHN1ZmZpeGVkIGZpbGVzICiooiBsYSB0b2RheSdzIGJhY2t1
cC1lYWNoLXNhdmUuZWwpLg0KDQpJIHdvdWxkIGxpa2UgdG8gYmV0dGVyIHVuZGVyc3RhbmQgeW91
ciBzdWdnZXN0aW9uIGZvciBob3cNCnRvIGhhbmRsZSBuZXN0ZWQgdHJlZXMuICBPdmVyIHRoZSB5
ZWFycyBnaXQgaGFzIGhhZCBtYW55DQpydW5zIGF0IHRoZSBwcm9ibGVtIG9mIG5lc3RlZCBwcm9q
ZWN0cyBhbmQgYWxsIGhhdmUgYmVlbg0KcXVpdGUgY29tcGxleC4gIE15IGhvcGUgaXMgdGhhdCBy
Y3MncyBmaWxlLWNlbnRyaWMgc2ltcGxpY2l0eQ0Kd2lsbCBzYXZlIHVzLg0KDQovam9obg0KDQpP
biBNb24sIEZlYiAxNSwgMjAyMSBhdCA1OjU1IEFNIEh1Z2ggU2Fzc2UgPGhnc0BkbXUuYWMudWs8
bWFpbHRvOmhnc0BkbXUuYWMudWs+PiB3cm90ZToNCkkgbGlrZSB0aGUgc2ltcGxpY2l0eSBhbmQg
Y2xhcml0eSBvZiBSQ1MgaW4gY29tcGFyaXNvbiB3aXRoIGdpdC4gIChUaGUgb3RoZXIgZmVhdHVy
ZXMgb2YgZ2l0IGFyZSBvZnRlbiBhcHByb3ByaWF0ZS4pICBJIHNlZSB0aGUgYmVuZWZpdHMgb2Yg
aGF2aW5nIGEgc2VwYXJhdGUgdHJlZSBhbmQgbm90ZSB0aGUgaWRlYSBvZiBoYXZpbmcgYSB0b3Ag
bWFya2VyLiAgSG93ZXZlciwgSSBoYWQgYSBob3JyaWJsZSBleHBlcmllbmNlIHdoZW4gSSBjcmVh
dGVkIGEgZ2l0IHJlcG9zaXRvcnkgd2hpY2ggSSBoYWRuJ3QgcmVtZW1iZXJlZCB3YXMgaW4gYSBk
aXJlY3RvcnkgYWxyZWFkeSBpbiBvbmUuICBXaGVuIEkgd2VudCB0byB0aGUgdG9wLCB0aGUgZW5j
bG9zaW5nIGdpdCBmdW5jdGlvbmFsaXR5IGp1c3QgZmFpbGVkIG9uIG1lLCBhbmQgSSBjYW4ndCBy
ZW1lbWJlciB0aGUgZmFpbHVyZSBtZXNzYWdlIG5vdyAoaXQncyBhYm91dCB0ZW4geWVhcnMpLiAg
SSB0aG91Z2h0IEkgd2FzIGdvaW5nIHRvIGxvc2UgbXkgcmVzZWFyY2guICBUaGlzIHdhcyB0b28g
Y2xvc2UgdG8gYSBkZWFkbGluZSB0byBiZSBmdW4uDQoNCkkgdGhpbmsgdGhlIGRlc2lnbiBvZiB0
aGUgaW50ZXJmYWNlIGZvciB3aGVuIHRoaW5ncyBnZXQgbmVzdGVkLCBldmVuIGFjY2lkZW50YWxs
eSwgd2lsbCBuZWVkIHRvIGJlIHRob3VnaHQgdGhyb3VnaCB2ZXJ5IGNhcmVmdWxseS4gICBNeSBl
eHBlY3RhdGlvbnMgb2YgIkl0IHNob3VsZCBqdXN0IHdvcmsiIHdlcmUgdGhhdCB0aGUgY3VycmVu
dCBzdGF0ZSBvZiB0aGUgZW5jbG9zZWQgcmVwb3NpdG9yeSBzaG91bGQgYmUgc2F2ZWQgd2hlbiB0
aGUgb3V0ZXIgb25lIHdhcyBzYXZlZC4gIFtJIGhhZCBhZGRlZCBhbGwuXSAgQWZ0ZXIgYWxsLCBp
dCBpcyBqdXN0IGEgY29sbGVjdGlvbiBvZiBmaWxlcyB3aXRoaW4gdGhlIHN0cnVjdHVyZSB0aGF0
IGhhcHBlbiB0byBjb250YWluIGEgLmdpdCBkaXJlY3RvcnksIGV0Yy4NCg0KVGhlcmUgbWF5IGJl
IGEgd2hvbGUgbG9hZCBvZiBleHBlY3RhdGlvbnMgZnJvbSBwZW9wbGUsIGFsbCB2ZXJ5IGRpZmZl
cmVudCwgYnV0IG15IGZlZWxpbmcgd2FzICJBIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gbWF5IG5v
dCBpbmp1cmUgYSB1c2VyJ3MgZmlsZXMsIG9yLCB0aHJvdWdoIGluYWN0aW9uLCBhbGxvdyB0aGVt
IHRvIGNvbWUgdG8gaGFybSIgOi0pISAgSXQgdG9vayBtZSB0b28gbG9uZyB0byB3b3JrIG91dCB3
aGF0IGhhZCBoYXBwZW5lZCwgYW5kIGRpZG4ndCBkbyBtZSBtdWNoIGdvb2QsIG5ldmVyIG1pbmQg
bXkgZmlsZXMhICBUaGUgY29tcHV0ZXIgaGFzIGFjY2VzcyB0byBhbGwgdGhpcyBpbmZvcm1hdGlv
biwgc28gaXQgc2hvdWxkIGJlIGFibGUgdG8gcmVtaW5kIHRoZSBvdmVyYnVyZGVuZWQgdXNlciB0
aGF0IHRoZXJlIGlzIGFuIGVuY2xvc2VkIHJlcG9zaXRvcnksIG5vdCB0aGUgb3RoZXIgd2F5IHJv
dW5kLg0KDQpJIHN1c3BlY3QgdGhlICJIdW1hbiBGYWN0b3JzIiBvZiB0aGlzIG1heSBiZSBtb3Jl
IGRpZmZpY3VsdCB0aGFuIEkgaW1hZ2luZS4NCg0KVGhhbmsgeW91LA0KSHVnaA0KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IGhlbHAtcmNzIDxoZWxwLXJjcy1ib3VuY2Vz
K2hncz1kbXUuYWMudWtAZ251Lm9yZzxtYWlsdG86ZG11LmFjLnVrQGdudS5vcmc+PiBvbiBiZWhh
bGYgb2YgSm9obiBZYXRlcyA8am9obkB5YXRlcy1zaGVldHMub3JnPG1haWx0bzpqb2huQHlhdGVz
LXNoZWV0cy5vcmc+Pg0KU2VudDogMTQgRmVicnVhcnkgMjAyMSAwMjozOA0KVG86IGhlbHAtcmNz
QGdudS5vcmc8bWFpbHRvOmhlbHAtcmNzQGdudS5vcmc+IDxoZWxwLXJjc0BnbnUub3JnPG1haWx0
bzpoZWxwLXJjc0BnbnUub3JnPj4NClN1YmplY3Q6IEEgbGVzcyBpbnZhc2l2ZSByY3MNCg0KDQpU
aGlzIG1lc3NhZ2Ugd2FzIHNlbnQgZnJvbSBvdXRzaWRlIG9mIERNVS4gUGxlYXNlIGRvIG5vdCBj
bGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3UgcmVjb2duaXNlIHRoZSBz
b3VyY2Ugb2YgdGhpcyBlbWFpbCBhbmQga25vdyB0aGUgY29udGVudCBpcyBzYWZlLg0KDQpJIGFt
IGJyYWluc3Rvcm1pbmcgc29tZSBleHRlbnNpb25zIHRvIHJjcyB0aGF0IHdvdWxkDQoNCiAgKiAg
IEF2b2lkIGJvdGggLHYgZmlsZXMgYW5kIFJDUyBkaXJlY3RvcmllcyBpbiB3b3JraW5nIHRyZWVz
DQogICogICBBbGxvdyB0aGUgLHYgZmlsZXMgdG8gYmUgc3RvcmVkIGluIGEgZnVsbHkgc2VwYXJh
dGUgdHJlZQ0KDQpUb2RheSwgd2UgaGF2ZSB0d28gcGxhY2VzIGZvciBhIHdvcmtpbmcgZmlsZSdz
ICx2IGZpbGU6DQoNCiAgKiAgIEluIHRoZSB3b3JraW5nIGZpbGUncyB3b3JraW5nIGRpcmVjdG9y
eQ0KICAqICAgSW4gYW4gUkNTIHN1YmRpcmVjdG9yeSBhZGRlZCB0byB0aGF0IHdvcmtpbmcgZGly
ZWN0b3J5DQoNCkkgcHJvcG9zZSBhIHRoaXJkIGxvY2F0aW9uLCBhIG1pcnJvciBvZiB0aGF0IHdv
cmtpbmcgZGlyZWN0b3J5DQpsb2NhdGVkIGJ5IHNlYXJjaGluZyB1cHdhcmQsIHRocm91Z2ggcGFy
ZW50IGRpcmVjdG9yaWVzLCBmb3INCmEgImRvbWluYXRpbmciIC5yY3MgZGlyZWN0b3J5LiAgSWYg
c3VjaCBhIGRpcmVjdG9yeSBpcyBmb3VuZCwgaXQNCmNvbnRhaW5zIGEgcGFyYWxsZWwgZGlyZWN0
b3J5IHN0cnVjdHVyZToNCg0KICAgIC4uLi9wcm9qZWN0DQogICAgICAgIKnAqaSppCBzcmMNCiAg
ICAgICAgqaYgICCpwKmkqaQgZm9vLmMNCiAgICAgICAgqaYgICCpuKmkqaQgYmFyLmMNCiAgICAg
ICAgqcCppKmkIGluYw0KICAgICAgICCppiAgIKnAqaSppCBmb28uaA0KICAgICAgICCppiAgIKm4
qaSppCBiYXIuaA0KICAgICAgICCpwKmkqaQgZG9jDQogICAgICAgIKmmICAgqbippKmkIGZvby5t
ZA0KICAgICAgICCpuKmkqaQgLnJjcw0KICAgICAgICAgICAgqcCppKmkIHNyYw0KICAgICAgICAg
ICAgqaYgICCpwKmkqaQgZm9vLmMsdg0KICAgICAgICAgICAgqaYgICCpuKmkqaQgYmFyLmMsdg0K
ICAgICAgICAgICAgqcCppKmkIGluYw0KICAgICAgICAgICAgqaYgICCpwKmkqaQgZm9vLmgsdg0K
ICAgICAgICAgICAgqaYgICCpuKmkqaQgYmFyLmgsdg0KICAgICAgICAgICAgqbippKmkIGRvYw0K
ICAgICAgICAgICAgICAgIKm4qaSppCBmb28ubWQsdg0KDQpIb3cgdG8gc2VhcmNoIGZvciBhICx2
IGZpbGU6DQoNCiAgKiAgIExvb2sgaW4gd29ya2luZyBmaWxlJ3MgZGlyZWN0b3J5DQogICogICBJ
ZiB0aGUgd29ya2luZyBkaXJlY3RvcnkgY29udGFpbnMgYW4gUkNTIHN1Yi1kaXJlY3RvcnksDQp0
aGVuIGxvb2sgdGhlcmUNCiAgKiAgIElmIGEgImRvbWluYXRpbmciIC5yY3MgZGlyZWN0b3J5IGV4
aXN0cywgbG9vayBpbiB0aGUNCmNvcnJlc3BvbmRpbmcgZGlyZWN0b3J5DQoNCldoZXJlIHRvIGNy
ZWF0ZSBhIG5ldyAsdiBmaWxlOg0KDQogICogICBJZiBhICJkb21pbmF0aW5nIiAucmNzIGRpcmVj
dG9yeSBleGlzdHMsIGVuc3VyZSBleGlzdGVuY2UNCm9mIGEgY29ycmVzcG9uZGluZyBkaXJlY3Rv
cnkgYW5kIGNyZWF0ZSBpdCB0aGVyZQ0KICAqICAgSWYgYSBSQ1Mgc3ViLWRpcmVjdG9yeSBleGlz
dHMsIGNyZWF0ZSBpdCB0aGVyZQ0KICAqICAgQ3JlYXRlIGl0IGluIHRoZSB3b3JraW5nIGZpbGUn
cyB3b3JraW5nIGRpcmVjdG9yeQ0KDQpUbyBwcm92aWRlIGEgbWVhbnMgb2Ygc3RvcHBpbmcgdGhl
IHVwd2FyZCBzZWFyY2ggZm9yIGEgLnJjcw0KbWFya2VyIEkgcHJvcG9zZSBhIHZlcnkgc2ltcGxl
IC5yY3NzdG9wIG1hcmtlci4NCg0KQXQgdGhpcyBwb2ludCBJIHRha2Ugc29tZSBpbnNwaXJhdGlv
biBmcm9tIGdpdCBmb3IgYSBzZXBhcmF0ZQ0KZGlyZWN0b3J5IGNvbnZlbnRpb24uICBUaGlzIG1l
YW5zIGFsbG93aW5nIHRoZSAiZG9taW5hdGluZyINCi5yY3MgbWFya2VyIHRvIGJlIGEgZmlsZSwg
c2ltaWxhciB0byAuZ2l0LiAgSWYgaXQgaXMgYSBmaWxlIHRoZW4gaXQgaXMNCmEgImZpbGUgc3lz
dGVtIGFnbm9zdGljIiBzeW1ib2xpYyBsaW5rIHRvIGFuIG91dCBvZiB0cmVlIC5yY3MNCmRpcmVj
dG9yeS4gIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgaXMNCg0KICAgIHJjc2RpcjogPHBhdGg+
DQoNCg0KRG9lcyB0aGlzIHNlZW0gdG9vIGNyYXp5PyAgQW55IGltcGxlbWVudGF0aW9uIHN1Z2dl
c3Rpb25zPw0KV2hlcmUgaXMgdGhlIHJlbGV2YW50IHNlYXJjaCBsb2dpYyBpbXBsZW1lbnRlZCBp
biB0aGUgcmNzDQpzb3VyY2U/DQoNCi9qb2huDQoNCg0KDQotLQ0KSm9obiBZYXRlcw0KNTA1IFRy
ZW1vbnQgU3QsICM4MDMNCkJvc3RvbiwgTUEgMDIxMTYNCg==

--_000_AM6PR0302MB31896E225B36E315C1C14F5BE6889AM6PR0302MB3189_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dgb2312">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
I've never worked with Perforce and have heard good and bad things about th=
e commercial offerings.&nbsp; Wiping the disk rather than just adding what =
needs to be added seems rather drastic!</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
I don't, even now, fully understand what git does with nested repositories,=
 not being too keen to repeat the experience.&nbsp; To borrow your ASCII ar=
t, I'm thinking about this:&nbsp;</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
&nbsp; &nbsp; .../project
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 src</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 foo.c</di=
v>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 bar.c</di=
v>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 /nested</=
div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=
=A9=A4 src</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =
=A9=C0=A9=A4=A9=A4 baz.c</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =
=A9=B8=A9=A4=A9=A4 qux.c</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=
=A9=A4 inc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =
=A9=C0=A9=A4=A9=A4 baz.h</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =
=A9=B8=A9=A4=A9=A4 qux.h</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=
=A9=A4 doc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =
=A9=B8=A9=A4=A9=A4 baz.md</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; =A9=B8=A9=A4=
=A9=A4 .rcs</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
=A9=C0=A9=A4=A9=A4 src</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
=A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 baz.c,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
=A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 qux.c,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
=A9=C0=A9=A4=A9=A4 inc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
=A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 baz.h,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
=A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 qux.h,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
=A9=B8=A9=A4=A9=A4 doc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; =A9=B8=A9=A4=A9=A4 baz.md,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 inc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 foo.h</di=
v>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 bar.h</di=
v>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 doc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 foo.md</d=
iv>
<div>&nbsp; &nbsp; &nbsp; &nbsp; =A9=B8=A9=A4=A9=A4 .rcs</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 src</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=
=A9=A4 foo.c,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=
=A9=A4 bar.c,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 inc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=
=A9=A4 foo.h,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=
=A9=A4 bar.h,v</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=B8=A9=A4=A9=A4 doc</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=B8=A9=A4=
=A9=A4 foo.md,v</div>
<div><br>
</div>
When you try to rcs commit .../project, and it hits the newly created src/n=
ested/, then, I think it should, or maybe RFC style: MUST, backup the conta=
ined RCS directories, because it is not playing the role of looking of RCS =
data at this point, it is looking
 for files to squirrel away.&nbsp; &nbsp;Git would, I think, just stop, and=
 ignore them, or bark at the user.</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
This would probably result in things like qux.c,v,v in the RCS folder, but =
I think that could be lived with.</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
However, this is only my expectation, at the moment.&nbsp; I don't know if =
I am right.&nbsp; There may be a better way that makes more sense, and once=
 I see it, I will think, &quot;Oh, of course, that is obvious!!&quot;</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
Working inside nested/ should work as you suggest.&nbsp; (It is the same st=
ructure; I just changed the names.)</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
Does this show you what I'm talking about?&nbsp;&nbsp;</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
Thank you,</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
Hugh</div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> John Yates &lt;john@y=
ates-sheets.org&gt;<br>
<b>Sent:</b> 15 February 2021 11:19<br>
<b>To:</b> Hugh Sasse &lt;[email protected]&gt;<br>
<b>Cc:</b> [email protected] &lt;[email protected]&gt;<br>
<b>Subject:</b> Re: A less invasive rcs</font>
<div>&nbsp;</div>
</div>
<div>
<table>
<tbody>
<tr>
<td bgcolor=3D"#ffffff"><font color=3D"#000000">
<pre>This message was sent from outside of DMU. Please do not click links o=
r open attachments unless you recognise the source of this email and know t=
he content is safe.</pre>
</font></td>
</tr>
</tbody>
</table>
<div dir=3D"ltr">
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">Hi Hugh,</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif"><br>
</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">I can empathize with your memory of a bad experience.&nbsp;</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif"><br>
</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">My motivation for this project is a bad experience with git</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">in which unsaved (not yet added) files got lost via a hard</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">reset.&nbsp; As an emacs user I want a mechanism that will</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">preserve my changes on every save.&nbsp; Furthermore, I want</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">those changes saved outside of my project tree.&nbsp; (At work</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">that project tree gets wiped out and recreated by our crazy</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">Perforce integration.)</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif"><br>
</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">A related project is to add a vc-timemachine capability,</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">modeled on git-timemachine.&nbsp; This is why I want my</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">changes saved in rcs instead of as a collection of date-</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">time suffixed files (<i>=A8=A2 la</i>&nbsp;today's backup-each-save.el=
).</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif"><br>
</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">I would like to better understand your suggestion for how</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">to handle nested trees.&nbsp; Over the years git has had many</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">runs at the problem of nested projects and all have been</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">quite complex.&nbsp; My hope is that rcs's file-centric&nbsp;simplicit=
y</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">will save us.</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif"><br>
</div>
<div class=3D"x_gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif">/john</div>
</div>
<br>
<div class=3D"x_gmail_quote">
<div dir=3D"ltr" class=3D"x_gmail_attr">On Mon, Feb 15, 2021 at 5:55 AM Hug=
h Sasse &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; wrote:<b=
r>
</div>
<blockquote class=3D"x_gmail_quote" style=3D"margin:0px 0px 0px 0.8ex; bord=
er-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir=3D"ltr">
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
I like the simplicity and clarity of RCS in comparison with git.&nbsp; (The=
 other features of git are often appropriate.)&nbsp; I see the benefits of =
having a separate tree and note the idea of having a top marker.&nbsp; Howe=
ver, I had a horrible experience when I created
 a git repository which I hadn't remembered was in a directory already in o=
ne.&nbsp; When I went to the top, the enclosing git functionality just fail=
ed on me, and I can't remember the failure message now (it's about ten year=
s).&nbsp; I thought I was going to lose my
 research.&nbsp; This was too close to a deadline to be fun.</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
<br>
</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
I think the design of the interface for when things get nested, even accide=
ntally, will need to be thought through very carefully.&nbsp; &nbsp;My expe=
ctations of &quot;It should just work&quot; were that the current state of =
the enclosed repository should be saved when the outer
 one was saved.&nbsp; [I had added all.]&nbsp; After all, it is just a coll=
ection of files within the structure that happen to contain a .git director=
y, etc.&nbsp;&nbsp;</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
<br>
</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
There may be a whole load of expectations from people, all very different, =
but my feeling was &quot;A version control system may not injure a user's f=
iles, or, through inaction, allow them to come to harm&quot; :-)!&nbsp; It =
took me too long to work out what had happened,
 and didn't do me much good, never mind my files!&nbsp; The computer has ac=
cess to all this information, so it should be able to remind the overburden=
ed user that there is an enclosed repository, not the other way round.</div=
>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
<br>
</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
I suspect the &quot;Human Factors&quot; of this may be more difficult than =
I imagine.</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
<br>
</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
Thank you,</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0)">
Hugh</div>
<div id=3D"x_gmail-m_-4825369188004097900appendonsend"></div>
<hr style=3D"display:inline-block; width:98%">
<div id=3D"x_gmail-m_-4825369188004097900divRplyFwdMsg" dir=3D"ltr"><font f=
ace=3D"Calibri, sans-serif" color=3D"#000000" style=3D"font-size:11pt"><b>F=
rom:</b> help-rcs &lt;help-rcs-bounces+hgs=3D<a href=3D"mailto:dmu.ac.uk@gn=
u.org" target=3D"_blank">[email protected]</a>&gt; on
 behalf of John Yates &lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt;<br>
<b>Sent:</b> 14 February 2021 02:38<br>
<b>To:</b> <a href=3D"mailto:[email protected]" target=3D"_blank">help-rcs@g=
nu.org</a> &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">help-r=
[email protected]</a>&gt;<br>
<b>Subject:</b> A less invasive rcs</font>
<div>&nbsp;</div>
</div>
<div>
<table>
<tbody>
<tr>
<td bgcolor=3D"#ffffff"><font color=3D"#000000">
<pre>This message was sent from outside of DMU. Please do not click links o=
r open attachments unless you recognise the source of this email and know t=
he content is safe.</pre>
</font></td>
</tr>
</tbody>
</table>
<div dir=3D"ltr">
<div style=3D"font-family:arial,helvetica,sans-serif">I am brainstorming so=
me extensions to rcs that would</div>
<div>
<ul style=3D"font-family:arial,helvetica,sans-serif">
<li>Avoid both ,v files and RCS directories in working trees</li><li>Allow =
the ,v files to be stored in a fully separate tree</li></ul>
<div style=3D"font-family:arial,helvetica,sans-serif">Today, we have two pl=
aces for a working file's ,v file:</div>
<div style=3D"font-family:arial,helvetica,sans-serif">
<ul>
<li>In the working file's working directory</li><li>In an RCS subdirectory =
added to that working directory</li></ul>
<div>I propose a&nbsp;third location, a&nbsp;mirror of that working directo=
ry<br>
located by searching upward, through parent directories, for<br>
a &quot;dominating&quot; .rcs directory.&nbsp; If such a directory is found=
, it<br>
contains a parallel directory structure:</div>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif"><br>
</div>
<div><font face=3D"monospace">&nbsp; &nbsp; .../project<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 src<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 foo.c<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 bar.c<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 inc<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 foo.h<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 bar.h<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 doc<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 foo.md<br>
&nbsp; &nbsp; &nbsp; &nbsp; =A9=B8=A9=A4=A9=A4 .rcs<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 src<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 =
foo.c,v<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 =
bar.c,v<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=C0=A9=A4=A9=A4 inc<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=C0=A9=A4=A9=A4 =
foo.h,v<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=A6 &nbsp; =A9=B8=A9=A4=A9=A4 =
bar.h,v<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=B8=A9=A4=A9=A4 doc<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =A9=B8=A9=A4=A9=A4 =
foo.md,v<br>
</font></div>
<div style=3D"font-family:arial,helvetica,sans-serif"><br>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif">How to search for a ,=
v file:</div>
<div style=3D"font-family:arial,helvetica,sans-serif">
<ul>
<li>Look in working file's directory</li><li>If the working directory conta=
ins an RCS sub-directory,<br>
then look there</li><li>If a &quot;dominating&quot; .rcs directory exists, =
look in the<br>
corresponding directory</li></ul>
<div>Where to create a new ,v file:</div>
<div>
<ul>
<li>If a &quot;dominating&quot; .rcs directory exists, ensure existence<br>
of a corresponding directory and create it there</li><li>If a RCS sub-direc=
tory exists, create it there</li><li>Create it in the working file's workin=
g directory</li></ul>
</div>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif">
<div>
<div>To provide a means of stopping the upward search for a .rcs<br>
marker I propose a very simple .rcsstop marker.</div>
</div>
<div><br>
</div>
<div></div>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif">At this point I take =
some inspiration from git for a separate</div>
<div style=3D"font-family:arial,helvetica,sans-serif">directory convention.=
&nbsp; This means allowing the &quot;dominating&quot;</div>
<div style=3D"font-family:arial,helvetica,sans-serif">.rcs marker to be a f=
ile,&nbsp;similar to .git.&nbsp; If it is a file then it is</div>
<div style=3D"font-family:arial,helvetica,sans-serif">a &quot;file system a=
gnostic&quot; symbolic link to an out of tree .rcs</div>
<div style=3D"font-family:arial,helvetica,sans-serif">directory.&nbsp; The =
contents of this file is</div>
<div style=3D"font-family:arial,helvetica,sans-serif"><br>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif">&nbsp; &nbsp; rcsdir:=
 &lt;path&gt;</div>
</div>
<div><br>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif"><br>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif">Does this seem too cr=
azy?&nbsp; Any implementation suggestions?</div>
<div style=3D"font-family:arial,helvetica,sans-serif">Where is the relevant=
 search logic implemented in the rcs</div>
<div style=3D"font-family:arial,helvetica,sans-serif">source?</div>
<div style=3D"font-family:arial,helvetica,sans-serif"><br>
</div>
<div style=3D"font-family:arial,helvetica,sans-serif">/john</div>
<div style=3D"font-family:arial,helvetica,sans-serif"><br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br clear=3D"all">
<div><br>
</div>
-- <br>
<div dir=3D"ltr" class=3D"x_gmail_signature">
<div dir=3D"ltr">
<div>
<div dir=3D"ltr">
<div>John Yates<br>
</div>
<div>505 Tremont St, #803</div>
<div>Boston, MA 02116</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

--_000_AM6PR0302MB31896E225B36E315C1C14F5BE6889AM6PR0302MB3189_--