From bartequi@neomedia.it  Tue Oct  9 09:44:25 2001
Return-Path: <bartequi@neomedia.it>
Received: from aragorn.neomedia.it (aragorn.neomedia.it [195.103.207.6])
	by hub.freebsd.org (Postfix) with ESMTP id E657F37B409
	for <freebsd-gnats-submit@freebsd.org>; Tue,  9 Oct 2001 09:44:20 -0700 (PDT)
Received: (from httpd@localhost)
	by aragorn.neomedia.it (8.11.4/8.11.4) id f99GiGa06076
	for freebsd-gnats-submit@freebsd.org; Tue, 9 Oct 2001 18:44:16 +0200 (CEST)
Message-Id: <1002645855.3bc3295fc5515@webmail.neomedia.it>
Date: Tue, 09 Oct 2001 18:44:15 +0200 (CEST)
From: Salvo Bartolotta <bartequi@neomedia.it>
To: freebsd-gnats-submit@freebsd.org
Subject: [ARTICLE] CVSup advanced points

>Number:         31169
>Category:       docs
>Synopsis:       [ARTICLE] CVSup advanced points
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 09 09:50:00 PDT 2001
>Closed-Date:    Wed Oct 10 14:38:57 PDT 2001
>Last-Modified:  Wed Oct 10 14:39:54 PDT 2001
>Originator:     Salvo Bartolotta
>Release:        FreeBSD 4.4-STABLE i386
>Organization:
none of importance
>Environment:
System: FreeBSD 4.4-STABLE Sat Sep 29 12:25:01 CEST 2001
 
>Description:
 This article covers problematic points related to cvsup usage.
 The fake $ID$ string suggests a possible position in the doc tree.

>How-To-Repeat:
 Read the mailing lists...
>Fix:
The attached small article (to be renamed article.sgml), containing detailed
examples as well as an (hopefully) clear explanation, is an attempt at fixing
the problem. :-)

-- Salvo
---MOQ10026458556b6ceeef4d889190fc41d261c60f24a0
Content-Type: application/octet-stream; name="article"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="article"


PCEtLQogICAgIFRoZSBGcmVlQlNEIERvY3VtZW50YXRpb24gUHJvamVjdAotLT4KCjwhRE9DVFlQ
RSBhcnRpY2xlIFBVQkxJQyAiLS8vRnJlZUJTRC8vRFREIERvY0Jvb2sgVjQuMS1CYXNlZCBFeHRl
bnNpb24vL0VOIiBbCjwhRU5USVRZICUgbWFuIFBVQkxJQyAiLS8vRnJlZUJTRC8vRU5USVRJRVMg
RG9jQm9vayBNYW51YWwgUGFnZSBFbnRpdGllcy8vRU4iPgolbWFuOwpdPgoKPGFydGljbGU+CiAg
PGFydGljbGVpbmZvPgogICAgPHRpdGxlPkNWU3VwIEFkdmFuY2VkIFBvaW50czwvdGl0bGU+Cgog
ICAgPGF1dGhvcmdyb3VwPgogICAgICA8YXV0aG9yPgoJPGZpcnN0bmFtZT5TYWx2bzwvZmlyc3Ru
YW1lPgoJPHN1cm5hbWU+QmFydG9sb3R0YTwvc3VybmFtZT4KCgk8YWZmaWxpYXRpb24+CgkgIDxh
ZGRyZXNzPjxlbWFpbD5iYXJ0ZXF1aUBuZW9tZWRpYS5pdDwvZW1haWw+PC9hZGRyZXNzPgoJPC9h
ZmZpbGlhdGlvbj4KICAgICAgPC9hdXRob3I+CiAgICA8L2F1dGhvcmdyb3VwPgoKICAgIDxwdWJk
YXRlPiRGcmVlQlNEOiBkb2MvZW5fVVMuSVNPODg1OS0xL2FydGljbGVzL2N2c3VwL2FydGljbGUu
c2dtbCx2IDEgMjAwMS8xMC8wOCAyMToyODoxMSBtdXJyYXkgRXhwICQ8L3B1YmRhdGU+CgogICAg
PGFic3RyYWN0PgogICAgICA8cGFyYT5UaGUgcHJlc2VudCBhcnRpY2xlIGFzc3VtZXMgYSBiYXNp
YyB1bmRlcnN0YW5kaW5nIG9mIENWU3VwCiAgICAgICAgb3BlcmF0aW9uLiBJdCBkb2N1bWVudHMg
c2V2ZXJhbCBkZWxpY2F0ZSBpc3N1ZXMgY29ubmVjdGVkIHdpdGggCglzb3VyY2Ugc3luY2hyb25p
emF0aW9uIHZpYSBDVlN1cCwgdml6LiBlZmZlY3RpdmUgc29sdXRpb25zIHRvCgl0aGUgcHJvYmxl
bSBvZiBzdGFsZSBmaWxlcyBhcyB3ZWxsIGFzIHNwZWNpYWwgc291cmNlIHVwZGF0aW5nCgljYXNl
czsgd2hpY2ggaXNzdWVzIGFyZSBsaWtlbHkgdG8gY2F1c2UgYXBwYXJlbnRseSBpbmV4cGxpY2Fi
bGUKCXRyb3VibGVzLjwvcGFyYT4KICAgIDwvYWJzdHJhY3Q+CiAgPC9hcnRpY2xlaW5mbz4KCiAg
PHNlY3QxIGlkPSJwcmVmYWNlIj4KICAgIDx0aXRsZT5QcmVmYWNlPC90aXRsZT4KICAgIAogICAg
ICA8cGFyYT5UaGlzIGRvY3VtZW50IGlzIHRoZSBmcnVpdCBvZiB0aGUgYXV0aG9yJ3MgYXR0ZW1w
dHMgdG8gICAgCglmdWxseSB1bmRlcnN0YW5kIHRoZSBuaWNldGllcyBvZiBjdnN1cCAmIHNvdXJj
ZSB1cGRhdGluZy4mbmJzcDs6LSkKCVdoaWxlIHRoZSBhdXRob3IgaGFzIG1hZGUgZXZlcnkgZWZm
b3J0IHRvIG1ha2UgdGhlc2UgcGFnZXMgCiAgICAgICAgYXMgaW5mb3JtYXRpdmUgYW5kIGNvcnJl
Y3QgYXMgcG9zc2libGUsIGhlIGlzIG9ubHkgaHVtYW4gYW5kIAoJbWF5IGhhdmUgbWFkZSBhbGwg
c29ydHMgb2YgdHlwb3MsIG1pc3Rha2VzLCBldGMuICBIZSB3aWxsIGJlCgl2ZXJ5IGdyYXRlZnVs
IGZvciBhbnkgY29tbWVudHMgYW5kL29yIHN1Z2dlc3Rpb25zIHlvdSBzZW5kIHRvCgloaXMgZS1t
YWlsIGFkZHJlc3MsIDxlbWFpbD5iYXJ0ZXF1aUBuZW9tZWRpYS5pdDwvZW1haWw+LjwvcGFyYT4K
ICA8L3NlY3QxPgoKIAogIDxzZWN0MSBpZD0iaW50cm9kdWN0aW9uIj4KICAgIDx0aXRsZT5JbnRy
b2R1Y3Rpb248L3RpdGxlPgoKICAgICAgPHBhcmE+SWYgeW91IGhhdmUgdmlzaXRlZAoJPHVsaW5r
IHVybD0iaHR0cDovL3d3dy5wb2xzdHJhLmNvbSI+Sm9obiBQb2xzdHJhJ3Mgc2l0ZTwvdWxpbms+
CiAgICAgICAgYW5kIHJlYWQKICAgICAgICA8dWxpbmsgdXJsPSJodHRwOi8vd3d3LnBvbHN0cmEu
Y29tL3Byb2plY3RzL2ZyZWV3YXJlL0NWU3VwL2ZhcS5odG1sIj5oaXMgRkFRPC91bGluaz4sCiAg
ICAgICAgeW91IG1heSBoYXZlIG5vdGljZWQgUXVlc3Rpb24gMTIgJiAxMy48L3BhcmE+CgogICAg
ICA8cGFyYT5XaGVuIHVwZGF0aW5nIGFueSBjb2xsZWN0aW9uIG9mIHNvdXJjZXMgKGVnIAoJPGZp
bGVuYW1lPi91c3IvcG9ydHM8L2ZpbGVuYW1lPiksICZtYW4uY3ZzdXAuMTsgbWFrZXMgdXNlIG9m
Cgl0aGUgcmVsYXRlZCBjaGVja291dHMgZmlsZSBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSB1cGRh
dGluZwoJcHJvY2VzcyBpbiB0aGUgbW9zdCBlZmZpY2llbnQgYW5kIGNvcnJlY3Qgd2F5LiAgSW4g
dGhpcyBleGFtcGxlCiAgICAgICAgKDxmaWxlbmFtZT4vdXNyL3BvcnRzPC9maWxlbmFtZT4pLCB0
aGUgcmVsYXRlZCBjaGVja291dHMgZmlsZQogICAgICAgIGlzIDxmaWxlbmFtZT4vdXNyL3N1cC9w
b3J0cy1hbGwvY2hlY2tvdXRzLmN2czouPC9maWxlbmFtZT4gaWYKICAgICAgICB5b3VyIGJhc2Ug
aXMgPGZpbGVuYW1lPi91c3I8L2ZpbGVuYW1lPi48L3BhcmE+CgogICAgICA8cGFyYT5BIGNoZWNr
b3V0cyBmaWxlIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHRoZSBjdXJyZW50IHN0YXR1cwoJb2Yg
eW91ciBzb3VyY2VzIC0tIGluIGEgd2F5LCBhIHNvcnQgb2YgInBob3RvZ3JhcGgiLiBUaGlzIAoJ
c2lnbmlmaWNhbnQgaW5mb3JtYXRpb24gZW5hYmxlcyBjdnN1cCB0byByZXRyaWV2ZSB1cGRhdGVz
IG1vc3QKCWVmZmVjdGl2ZWx5LiBGdXJ0aGVyLCBhbmQgbWF5YmUgbW9yZSBpbXBvcnRhbnQsIGl0
IGVuYWJsZXMgY3ZzdXAKCXRvIGNvcnJlY3RseSBtYW5hZ2UgeW91ciBzb3VyY2VzIGJ5IGxvY2Fs
bHkgZGVsZXRpbmcgYW55IGZpbGVzCglubyBsb25nZXIgcHJlc2VudCBpbiB0aGUgcmVwb3NpdG9y
eSwgdGh1cyBsZWF2aW5nIG5vIHN0YWxlIGZpbGVzCglvbiB5b3VyIHN5c3RlbS4gSW4gZmFjdCwg
d2l0aG91dCBhIGNoZWNrb3V0cyBmaWxlLCBjdnN1cCB3b3VsZCAKCU5PVCBrbm93IHdoaWNoIGZp
bGVzIHlvdXIgY29sbGVjdGlvbiB3YXMgY29tcG9zZWQgb2YgKGNmCiAgICAgICAgJm1hbi5jdnN1
cC4xOyBhbmQgdGhlIGZhbGxiYWNrIG1ldGhvZCBmb3IgZGV0YWlscyk7IGFzIGEgcmVzdWx0LAoJ
aXQgY291bGQgTk9UIGRlbGV0ZSBvbiB5b3VyIHN5c3RlbSB0aG9zZSBmaWxlcyBubyBsb25nZXIg
cHJlc2VudAoJaW4gdGhlIHJlcG9zaXRvcnkuIFRoZXkgd291bGQgcmVtYWluIG9uIHlvdXIgc3lz
dGVtIChzdGFsZQoJZmlsZXMpLCBhbmQgbWlnaHQgY2F1c2UgeW91IHN1YnRsZSBidWlsZCBmYWls
dXJlcyBvciBvdGhlcgoJdHJvdWJsZS4gRm9yIGV4YW1wbGUsIHRoaXMgcHJvYmxlbSBpcyBsaWtl
bHkgdG8gb2NjdXIgaWYgeW91CglmaXJzdCB1cGRhdGUgeW91ciBwb3J0cyBjb2xsZWN0aW9uIHNl
dmVyYWwgd2Vla3MgYWZ0ZXIgeW91CgloYXZlIGdvdCh0ZW4pIHlvdXIgaW5zdGFsbGF0aW9uIENE
cy48L3BhcmE+CgogICAgIDxwYXJhPkl0IGlzIHRoZXJlZm9yZSByZWNvbW1lbmRlZCB0aGF0IHlv
dSBhZG9wdCB0aGUgdHdvLXN0ZXAgcHJvY2VkdXJlCiAgICAgICBvdXRsaW5lZCBpbiB0aGUgQ3Zz
dXAgRkFRIChjZiBRMTIsIFExMyk7IGluIHN1YnNlcXVlbnQgc2VjdGlvbnMsIHlvdQogICAgICAg
d2lsbCBiZSBnaXZlbiBpbnRlcmVzdGluZyBhbmQgaW5zdHJ1Y3RpdmUgY29uY3JldGUgZXhhbXBs
ZXMuPC9wYXJhPgogIDwvc2VjdDE+CgogIDxzZWN0MSBpZD0ic2NyaXB0Ij4KICAgIDx0aXRsZT5B
IHVzZWZ1bCBweXRob24gc2NyaXB0OiBjdnN1cGNoazwvdGl0bGU+CgogICAgICA8cGFyYT5BbHRl
cm5hdGl2ZWx5LCBpbiBvcmRlciB0byBleGFtaW5lIHlvdXIgc291cmNlcyBmb3IgCglpbmNvbnNp
c3RlbmNpZXMsIHlvdSBtYXkgd2lzaCB0byB1dGlsaXplIHRoZSBjdnN1cGNoayBweXRob24gCglz
Y3JpcHQ7IHdoaWNoIHNjcmlwdCBpcyBjdXJyZW50bHkgZm91bmQgaW4gCgk8ZmlsZW5hbWU+L3Vz
ci9wb3J0cy9uZXQvY3ZzdXAvd29yay9jdnN1cC0xNi4xL2NvbnRyaWIvY3ZzdXBjaGs8L2ZpbGVu
YW1lPiwKCXRvZ2V0aGVyIHdpdGggYSBuaWNlIDxmaWxlbmFtZT5SRUFETUU8L2ZpbGVuYW1lPi4g
UHJlcmVxdWlzaXRlczo8L3BhcmE+CgogICAgICAgIDxvcmRlcmVkbGlzdD4KICAgICAgICAgICA8
bGlzdGl0ZW0+CiAgICAgICAgICAgICA8cGFyYT48bGl0ZXJhbD4vdXNyL3BvcnRzL25ldC9jdnN1
cDwvbGl0ZXJhbD4gJnByb21wdC5yb290OyA8dXNlcmlucHV0PiBtYWtlIGV4dHJhY3Q8L3VzZXJp
bnB1dD48L3BhcmE+CiAgICAgICAgICAgPC9saXN0aXRlbT4KCiAgICAgICAgICAgPGxpc3RpdGVt
PgogICAgICAgICAgICAgPHBhcmE+cHl0aG9uIChhbHNvIGZvdW5kIGluIHRoZSBwb3J0cyBjb2xs
ZWN0aW9uIDotKSk8L3BhcmE+CiAgICAgICAgICAgPC9saXN0aXRlbT4KCiAgICAgICAgICAgPGxp
c3RpdGVtPgogICAgICAgICAgICAgPHBhcmE+YSBjaGVja291dHMgZmlsZSBmb3IgeW91ciBjb2xs
ZWN0aW9uIG9mIHNvdXJjZXMuPC9wYXJhPgogICAgICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAg
IDwvb3JkZXJlZGxpc3Q+CgogICAgICA8cGFyYT5JZiB5b3UgYXJlIHVwZGF0aW5nIHlvdXIgc291
cmNlcyBmb3IgdGhlIHZlcnkgZmlyc3QgdGltZSwKCW9mIGNvdXJzZSB5b3UgZG8gbm90IGhhdmUg
YSBjaGVja291dHMgZmlsZS4gQWZ0ZXIgaW5zdGFsbGluZwoJcHl0aG9uIGFuZCB1cGRhdGluZyB5
b3VyIHNvdXJjZXMgKGVnIDxmaWxlbmFtZT4vdXNyL3BvcnRzPC9maWxlbmFtZT4pLAoJeW91IGNh
biBjaGVjayB0aGVtIHRodXM6PC9wYXJhPgoKICAgICAgICA8c2NyZWVuPiZwcm9tcHQudXNlcjsg
PGZpbGVuYW1lPi9wYXRoL3RvLzwvZmlsZW5hbWU+PHVzZXJpbnB1dD5jdnN1cGNoayAtZCAvdXNy
IC1jIC91c3Ivc3VwL3BvcnRzLWFsbC9jaGVja291dHMuY3ZzOi4gfCBtb3JlPC91c2VyaW5wdXQ+
PC9zY3JlZW4+CgogICAgICA8cGFyYT5JZiB5b3Ugd2FudCB0byBjaGVjayB5b3VyIFJFTEVOR180
IHNvdXJjZXM6PC9wYXJhPgoKICAgICAgICA8c2NyZWVuPiZwcm9tcHQudXNlcjsgPGZpbGVuYW1l
Pi9wYXRoL3RvLzwvZmlsZW5hbWU+PHVzZXJpbnB1dD5jdnN1cGNoayAtZCAvdXNyIC1jIC91c3Iv
c3VwL3NyYy1hbGwvY2hlY2tvdXRzLmN2czpSRUxFTkdfNCB8IG1vcmU8L3VzZXJpbnB1dD48L3Nj
cmVlbj4KCiAgICAgIDxwYXJhPkluIGVhY2ggY2FzZSwgY3ZzdXBjaGsgd2lsbCBpbnNwZWN0IHlv
dXIgc291cmNlcyBmb3IgCglpbmNvbnNpc3RlbmNpZXMgYnkgdXRpbGl6aW5nIHRoZSBpbmZvcm1h
dGlvbiBjb250YWluZWQgaW4gdGhlIAoJcmVsYXRlZCBjaGVja291dHMgZmlsZS4gIFN1Y2ggYW5v
bWFsaWVzIGFzIGRlbGV0ZWQgZmlsZXMgYmVpbmcgCglwcmVzZW50IChha2Egc3RhbGUgZmlsZXMp
LCBtaXNzaW5nIGNoZWNrZWQtb3V0IGZpbGVzLCBleHRyYSBSQ1MKCWZpbGVzLCBhbmQgZGVhZCBk
aXJlY3RvcmllcyB3aWxsIGJlIHByaW50ZWQgdG8gc3RhbmRhcmQgb3V0cHV0LjwvcGFyYT4KCiAg
ICAgIDxwYXJhPkluIHRoZSBuZXh0IHNlY3Rpb24sIHdlIHdpbGwgcHJvdmlkZSBpbXBvcnRhbnQs
IHR5cGljYWwKCWV4YW1wbGVzIG9mIHNvdXJjZSB1cGRhdGluZzsgd2hpY2ggZXhhbXBsZXMgd2ls
bCBzaG93IHlvdSB0aGUKCXJvbGUgb2YgY2hlY2tvdXRzIGZpbGVzIGFuZCB0aGUgZGFuZ2VycyBv
ZiBuZWdsaWdlbnQgc291cmNlCgltYW5hZ2VtZW50LjwvcGFyYT4KICA8L3NlY3QxPgoKICA8c2Vj
dDEgaWQ9ImV4YW1wbGVzIj4KICAgIDx0aXRsZT5FeGFtcGxlcyBvZiBtb3JlIGFkdmFuY2VkIHNv
dXJjZSBtYW5hZ2VtZW50PC90aXRsZT4KCiAgICAgIDxzZWN0Mj4KICAgICAgICA8dGl0bGU+SG93
IHRvIHNhZmVseSBjaGFuZ2UgdGFncyB3aGVuIHVwZGF0aW5nIDxsaXRlcmFsPnNyYy1hbGwuPC9s
aXRlcmFsPjwvdGl0bGU+CgogICAgICAgIDxwYXJhPklmIHlvdSBzcGVjaWZ5IGVnIHRhZz1BIGlu
IHlvdXIgc3VwZmlsZSwgY3ZzdXAgd2lsbCBjcmVhdGUKCSAgYSBjaGVja291dHMgZmlsZSBjYWxs
ZWQgPGZpbGVuYW1lPmNoZWNrb3V0cy5jdnM6QTwvZmlsZW5hbWU+OiAKCSAgZm9yIGluc3RhbmNl
LCBpZiB0YWc9UkVMRU5HXzQsIGEgY2hlY2tvdXRzIGZpbGUgY2FsbGVkCiAgICAgICAgICA8Zmls
ZW5hbWU+Y2hlY2tvdXRzLmN2czpSRUxFTkdfNDwvZmlsZW5hbWU+IGlzIGdlbmVyYXRlZC4gCgkg
ICBUaGlzIGZpbGUgd2lsbCBiZSB1c2VkIHRvIHJldHJpZXZlIGFuZC9vciBzdG9yZSBpZGVudGlm
aWNhdGlvbgoJICAgaW5mb3JtYXRpb24gb24geW91ciA0LVNUQUJMRSBzb3VyY2VzLjwvcGFyYT4K
CiAgICAgICAgIDxwYXJhPldoZW4gdHJhY2tpbmcgPGxpdGVyYWw+c3JjLWFsbDwvbGl0ZXJhbD4s
IGlmIHlvdSB3aXNoIHRvCgkgICBwYXNzIGZyb20gdGFnPUEgdG8gdGFnPUIgKEEgbGVzcy9ncmVh
dGVyIHRoYW4gQiBub3QgbWFraW5nIAoJICAgYW55IGRpZmZlcmVuY2UpIGFuZCBpZiB5b3VyIGNo
ZWNrb3V0cyBmaWxlIGlzIAoJICAgPGZpbGVuYW1lPmNoZWNrb3V0cy5jdnM6QTwvZmlsZW5hbWU+
LCB0aGUgZm9sbG93aW5nIGFjdGlvbnMKCSAgIHNob3VsZCBiZSBwZXJmb3JtZWQ6PC9wYXJhPgoK
ICAgICAgICAgICAgPG9yZGVyZWRsaXN0PgogICAgICAgICAgICAgIDxsaXN0aXRlbT4KICAgICAg
ICAgICAgICAgIDxwYXJhPiZwcm9tcHQucm9vdDsgPHVzZXJpbnB1dD5tdiBjaGVja291dHMuY3Zz
OkEgY2hlY2tvdXRzLmN2czpCPC91c2VyaW5wdXQ+CiAgICAgICAgICAgICAgICAgIChUaGlzIHBy
b3ZpZGVzIHRoZSBzdWJzZXF1ZW50IHN0ZXAgd2l0aCB0aGUgYXBwcm9wcmlhdGUKICAgICAgICAg
ICAgICAgICAgY2hlY2tvdXRzIGZpbGUpPC9wYXJhPgogICAgICAgICAgICAgIDwvbGlzdGl0ZW0+
CgogICAgICAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgICAgICAgIDxwYXJhPndyaXRlIGEg
c3VwZmlsZSB3aG9zZSBjb2xsZWN0aW9uIGxpbmUgcmVhZHM6PC9wYXJhPgogICAgICAgICAgICAg
ICAgICA8cHJvZ3JhbWxpc3Rpbmc+c3JjLWFsbCB0YWc9QjwvcHJvZ3JhbWxpc3Rpbmc+CiAgICAg
ICAgICAgICAgPC9saXN0aXRlbT4KCiAgICAgICAgICAgICAgPGxpc3RpdGVtPgogICAgICAgICAg
ICAgICAgPHBhcmE+Y3ZzdXAgeW91ciBzb3VyY2VzIHVzaW5nIHRoZSBuZXcgc3VwZmlsZS48L3Bh
cmE+CiAgICAgICAgICAgICAgPC9saXN0aXRlbT4KICAgICAgICAgICAgPC9vcmRlcmVkbGlzdD4K
CiAgICAgICAgIDxwYXJhPkN2c3VwIHdpbGwgbG9vayBmb3IgPGZpbGVuYW1lPmNoZWNrb3V0cy5j
dnM6QjwvZmlsZW5hbWU+IAoJICAgLS0gaW4gdGhhdCB0aGUgdGFyZ2V0IGlzIEI7IHRoYXQgaXMs
IGN2c3VwIHdpbGwgbWFrZSB1c2Ugb2YgCgkgICB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIHRo
ZXJlaW4gdG8gY29ycmVjdGx5IG1hbmFnZSB5b3VyIAoJICAgc291cmNlcy48L3BhcmE+CgogICAg
ICAgICA8cGFyYT5UaGUgYmVuZWZpdHM6PC9wYXJhPgoKICAgICAgICAgICA8aXRlbWl6ZWRsaXN0
PgogICAgICAgICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgICAgICAgIDxwYXJhPnRoZSBzb3Vy
Y2VzIGFyZSBkZWFsdCB3aXRoIGNvcnJlY3RseSAoaW4gcGFydGljdWxhciwKCQkgIG5vIHN0YWxl
IGZpbGVzKTwvcGFyYT4KICAgICAgICAgICAgICA8L2xpc3RpdGVtPgoKICAgICAgICAgICAgICA8
bGlzdGl0ZW0+CiAgICAgICAgICAgICAgICA8cGFyYT5sZXNzIGxvYWQgaXMgcGxhY2VkIG9uIHRo
ZSBzZXJ2ZXIsIGluIHRoYXQgY3ZzdXAgCgkJICBvcGVyYXRlcyBpbiB0aGUgbW9zdCBlZmZpY2ll
bnQgd2F5LjwvcGFyYT4KICAgICAgICAgICAgICA8L2xpc3RpdGVtPgogICAgICAgICAgIDwvaXRl
bWl6ZWRsaXN0PgoKCiAgICAgICAgIDxwYXJhPkZvciBleGFtcGxlLCBBPVJFTEVOR180LCBCPS4g
IFRoZSBwZXJpb2QgaW4gIkI9LiIgbWVhbnMgCgkgICAtQ1VSUkVOVC4gIFRoaXMgaXMgYSByYXRo
ZXIgdHlwaWNhbCB1cGRhdGUsIGZyb20gNC1TVEFCTEUgCgkgICB0byAtQ1VSUkVOVC4gV2hpbGUg
aXQgaXMgc3RyYWlnaHRmb3J3YXJkIHRvICJkb3duZ3JhZGUiIHlvdXIgCgkgICBzb3VyY2VzIChl
ZyBmcm9tIC1DVVJSRU5UIHRvIC1TVEFCTEUpLCBkb3duZ3JhZGluZyBhIHN5c3RlbSAKCSAgIGlz
IHF1aXRlIGFub3RoZXIgbWF0dGVyLiBZb3UgYXJlIFNUUk9OR0xZIGFkdmlzZWQgbm90IHRvIAoJ
ICAgYXR0ZW1wdCBzdWNoIGFuIG9wZXJhdGlvbiwgdW5sZXNzIHlvdSBrbm93IGV4YWN0bHkgd2hh
dCB5b3UKCSAgIGFyZSBkb2luZy48L3BhcmE+CiAgICAgICA8L3NlY3QyPgoKICAgICAgIDxzZWN0
Mj4KICAgICAgICAgPHRpdGxlPlVwZGF0aW5nIHRvIHRoZSBzYW1lIHRhZyBhcyBvZiBhIGRpZmZl
cmVudCBkYXRlPC90aXRsZT4KCiAgICAgICAgIDxwYXJhPklmIHlvdSB3aXNoIHRvIHN3aXRjaCBm
cm9tICJ0YWc9QSIgdG8gInRhZz1BIiBhcyBvZiBhIAoJICAgZGlmZmVyZW50IEdNVCBkYXRlIChz
YXksICJkYXRlPUQiKSwgeW91IHdpbGwgZXhlY3V0ZSB0aGUgCgkgICBmb2xsb3dpbmc6PC9wYXJh
PgoKICAgICAgICAgICA8b3JkZXJlZGxpc3Q+CiAgICAgICAgICAgICA8bGlzdGl0ZW0+CiAgICAg
ICAgICAgICAgIDxwYXJhPndyaXRlIGEgc3VwZmlsZSB3aG9zZSBjb2xsZWN0aW9uIGxpbmUgcmVh
ZHM6PC9wYXJhPgogICAgICAgICAgICAgICAgIDxwcm9ncmFtbGlzdGluZz5zcmMtYWxsIHRhZz1B
IGRhdGU9RDwvcHJvZ3JhbWxpc3Rpbmc+CiAgICAgICAgICAgICA8L2xpc3RpdGVtPgoKICAgICAg
ICAgICAgIDxsaXN0aXRlbT4KICAgICAgICAgICAgICAgPHBhcmE+dXBkYXRlIHlvdXIgc291cmNl
cyB1c2luZyB0aGUgbmV3IHN1cGZpbGU8L3BhcmE+CiAgICAgICAgICAgICA8L2xpc3RpdGVtPgog
ICAgICAgICAgIDwvb3JkZXJlZGxpc3Q+CgogICAgICAgICA8cGFyYT5XaGV0aGVyIHRoZSBuZXcg
ZGF0ZSBwcmVjZWRlcyB0aGF0IG9mIHRoZSBsYXN0IHN5bmMKCSAgIG9wZXJhdGlvbiB3aXRoIHRh
Zz1BIG9yIG5vdCwgaXQgaXMgaW1tYXRlcmlhbC4gRm9yIGV4YW1wbGUsIAoJICAgaW4gb3JkZXIg
dG8gc3BlY2lmeSB0aGUgZGF0ZSAiQXVndXN0IDI3LCAyMDAwLCAxMDowMDowMCBHTVQiIAoJICAg
eW91IHdyaXRlIHRoZSBsaW5lOjwvcGFyYT4KCgogICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+c3Jj
LWFsbCB0YWc9UkVMRU5HXzQgZGF0ZT0yMDAwLjA4LjI3LjEwLjAwLjAwPC9wcm9ncmFtbGlzdGlu
Zz4KCiAgICAgICAgIDxwYXJhPk4uQi4gVGhlIGZvcm1hdCBvZiBhIGRhdGUgaXMgcmlnaWQuIFlv
dSBoYXZlIHRvIHNwZWNpZnkgCgkgICBhbGwgdGhlIGNvbXBvbmVudHMgb2YgdGhlIGRhdGU6IGNl
bnR1cnkgKDIwLCBpZSB0aGUgMjB0aCAKCSAgIGNlbnR1cnksIG11c3QgYmUgc3VwcGxpZWQgd2hl
cmVhcyAxOSwgdGhlIHBhc3QgY2VudHVyeSwgY2FuIAoJICAgYmUgb21pdHRlZCksIHllYXIsIG1v
bnRoLCBkYXksIGhvdXIsIG1pbnV0ZXMsIHNlY29uZHMgLS0gYXMgCgkgICBzaG93biBpbiB0aGUg
YWJvdmUgZXhhbXBsZS4gIEZvciBtb3JlIGluZm9ybWF0aW9uLCBwbGVhc2UgCgkgICBzZWUgJm1h
bi5jdnN1cC4xOy48L3BhcmE+CgogICAgICAgICA8cGFyYT5XaGV0aGVyIG9yIG5vdCBhIGRhdGUg
aXMgc3BlY2lmaWVkLCB0aGUgY2hlY2tvdXRzIGZpbGUgCgkgICBpcyBjYWxsZWQgPGZpbGVuYW1l
PmNoZWNrb3V0cy5jdnM6QTwvZmlsZW5hbWU+IChlZwogICAgICAgICAgIDxmaWxlbmFtZT5jaGVj
a291dHMuY3ZzOlJFTEVOR180PC9maWxlbmFtZT4pLiBBcyBhIHJlc3VsdCwKCSAgIG5vIHBhcnRp
Y3VsYXIgYWN0aW9uIGlzIG5lZWRlZCBpbiBvcmRlciB0byByZXZlcnQgdG8gdGhlIAoJICAgcHJl
dmlvdXMgc3RhdGU6IHlvdSBoYXZlIHRvIG1vZGlmeSB0aGUgZGF0ZSBpbiB0aGUgc3VwZmlsZSwg
CgkgICBhbmQgY3N2dXAgYWdhaW4uPC9wYXJhPgogICAgICAgPC9zZWN0Mj4KCgogICAgICAgPHNl
Y3QyPgogICAgICAgICA8dGl0bGU+VXBkYXRpbmcgeW91ciBwb3J0cyBjb2xsZWN0aW9uIGZvciB0
aGUgZmlyc3QgdGltZTwvdGl0bGU+CgogICAgICAgICA8cGFyYT5TaW5jZSBwb3J0cyBhcmUgdGFn
Z2VkICIuIiAoaWUgLUNVUlJFTlQpLCB5b3UgY2FuIAoJICAgY29ycmVjdGx5ICJzeW5jIiB0aGVt
IGZvciB0aGUgZmlyc3QgdGltZSBieSBhZGRpbmcgdGhlIGRhdGUgCgkgICBrZXl3b3JkIChjZiAm
bWFuLmN2c3VwLjE7IGZvciB0aGUgZXhhY3QgZm9ybWF0KTogeW91IHNob3VsZCAKCSAgIHNwZWNp
ZnkgYSBkYXRlIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoYXQgb2YgInNoaXBwaW5nIiBvZiAK
CSAgIHlvdXIgcG9ydHMgdHJlZS4gQWZ0ZXIgY3ZzdXAgaGFzIGNvcnJlY3RseSBjcmVhdGVkIHRo
ZSBwb3J0cyAKCSAgIGNoZWNrb3V0cyBmaWxlLCB3aGljaCBpcyBwcmVjaXNlbHkgdGhlIGdvYWwg
b2YgdGhpcyBmaXJzdCAKCSAgIHNwZWNpYWwgc3luYyBvcGVyYXRpb24sIHRoZSBkYXRlIGZpZWxk
IG11c3QgYmUgcmVtb3ZlZDsKICAgICAgICAgICBhbGwgc3Vic2VxdWVudCB1cGRhdGVzIHdpbGwg
YmUgY2FycmllZCBvdXQgc21vb3RobHkuPC9wYXJhPgoKICAgICAgICAgPHBhcmE+SWYgeW91IGhh
dmUgYmVlbiByZWFkaW5nIHRoZSBhcHBhcmVudGx5IG5pdC1waWNraW5nIAoJICAgcmVtYXJrcyBp
biB0aGVzZSBzZWN0aW9ucywgeW91IHdpbGwgcHJvYmFibHkgaGF2ZSByZWNvZ25pemVkIAoJICAg
dGhlIHBvdGVudGlhbCBmb3Igc2NyXld0cm91YmxlIGluIGEgc291cmNlIHVwZGF0aW5nIHByb2Nl
c3MuIAoJICAgQSBudW1iZXIgb2YgcGVvcGxlIGhhdmUgYWN0dWFsbHkgcnVuIGludG8gcHJvYmxl
bXMuIFlvdSBoYXZlCgkgICBiZWVuIHdhcm5lZC4gOi0pPC9wYXJhPgogICAgICA8L3NlY3QyPgog
ICA8L3NlY3QxPgo8L2FydGljbGU+Cg==


---MOQ10026458556b6ceeef4d889190fc41d261c60f24a0--
>Release-Note:
>Audit-Trail:

From: Salvo Bartolotta <bartequi@neomedia.it>
To: freebsd-gnats-submit@freebsd.org
Cc:  
Subject: Re: docs/31169: [ARTICLE] CVSup advanced points
Date: Tue, 09 Oct 2001 19:08:08 +0200 (CEST)

 [ D****d ISP, webmail & MIME.
 
   Here is the small article (article.sgml) in plain text.  Sorry for the 
   inconvenience. ]
 
 <!--
      The FreeBSD Documentation Project
 -->
 
 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
 <!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
 %man;
 ]>
 
 <article>
   <articleinfo>
     <title>CVSup Advanced Points</title>
 
     <authorgroup>
       <author>
 	<firstname>Salvo</firstname>
 	<surname>Bartolotta</surname>
 
 	<affiliation>
 	  <address><email>bartequi@neomedia.it</email></address>
 	</affiliation>
       </author>
     </authorgroup>
 
     <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/cvsup/article.sgml,v 1
 2001/10/08 21:28:11 murray Exp $</pubdate>
 
     <abstract>
       <para>The present article assumes a basic understanding of CVSup
         operation. It documents several delicate issues connected with 
 	source synchronization via CVSup, viz. effective solutions to
 	the problem of stale files as well as special source updating
 	cases; which issues are likely to cause apparently inexplicable
 	troubles.</para>
     </abstract>
   </articleinfo>
 
   <sect1 id="preface">
     <title>Preface</title>
     
       <para>This document is the fruit of the author's attempts to    
 	fully understand the niceties of cvsup & source updating.&nbsp;:-)
 	While the author has made every effort to make these pages 
         as informative and correct as possible, he is only human and 
 	may have made all sorts of typos, mistakes, etc.  He will be
 	very grateful for any comments and/or suggestions you send to
 	his e-mail address, <email>bartequi@neomedia.it</email>.</para>
   </sect1>
 
  
   <sect1 id="introduction">
     <title>Introduction</title>
 
       <para>If you have visited
 	<ulink url="http://www.polstra.com">John Polstra's site</ulink>
         and read
         <ulink url="http://www.polstra.com/projects/freeware/CVSup/faq.html">his
 FAQ</ulink>,
         you may have noticed Question 12 & 13.</para>
 
       <para>When updating any collection of sources (eg 
 	<filename>/usr/ports</filename>), &man.cvsup.1; makes use of
 	the related checkouts file in order to perform the updating
 	process in the most efficient and correct way.  In this example
         (<filename>/usr/ports</filename>), the related checkouts file
         is <filename>/usr/sup/ports-all/checkouts.cvs:.</filename> if
         your base is <filename>/usr</filename>.</para>
 
       <para>A checkouts file contains information on the current status
 	of your sources -- in a way, a sort of "photograph". This 
 	significant information enables cvsup to retrieve updates most
 	effectively. Further, and maybe more important, it enables cvsup
 	to correctly manage your sources by locally deleting any files
 	no longer present in the repository, thus leaving no stale files
 	on your system. In fact, without a checkouts file, cvsup would 
 	NOT know which files your collection was composed of (cf
         &man.cvsup.1; and the fallback method for details); as a result,
 	it could NOT delete on your system those files no longer present
 	in the repository. They would remain on your system (stale
 	files), and might cause you subtle build failures or other
 	trouble. For example, this problem is likely to occur if you
 	first update your ports collection several weeks after you
 	have got(ten) your installation CDs.</para>
 
      <para>It is therefore recommended that you adopt the two-step procedure
        outlined in the Cvsup FAQ (cf Q12, Q13); in subsequent sections, you
        will be given interesting and instructive concrete examples.</para>
   </sect1>
 
   <sect1 id="script">
     <title>A useful python script: cvsupchk</title>
 
       <para>Alternatively, in order to examine your sources for 
 	inconsistencies, you may wish to utilize the cvsupchk python 
 	script; which script is currently found in 
 	<filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>,
 	together with a nice <filename>README</filename>. Prerequisites:</para>
 
         <orderedlist>
            <listitem>
              <para><literal>/usr/ports/net/cvsup</literal> &prompt.root;
 <userinput> make extract</userinput></para>
            </listitem>
 
            <listitem>
              <para>python (also found in the ports collection :-))</para>
            </listitem>
 
            <listitem>
              <para>a checkouts file for your collection of sources.</para>
            </listitem>
          </orderedlist>
 
       <para>If you are updating your sources for the very first time,
 	of course you do not have a checkouts file. After installing
 	python and updating your sources (eg <filename>/usr/ports</filename>),
 	you can check them thus:</para>
 
         <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk
 -d /usr -c /usr/sup/ports-all/checkouts.cvs:. | more</userinput></screen>
 
       <para>If you want to check your RELENG_4 sources:</para>
 
         <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk
 -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen>
 
       <para>In each case, cvsupchk will inspect your sources for 
 	inconsistencies by utilizing the information contained in the 
 	related checkouts file.  Such anomalies as deleted files being 
 	present (aka stale files), missing checked-out files, extra RCS
 	files, and dead directories will be printed to standard output.</para>
 
       <para>In the next section, we will provide important, typical
 	examples of source updating; which examples will show you the
 	role of checkouts files and the dangers of negligent source
 	management.</para>
   </sect1>
 
   <sect1 id="examples">
     <title>Examples of more advanced source management</title>
 
       <sect2>
         <title>How to safely change tags when updating
 <literal>src-all.</literal></title>
 
         <para>If you specify eg tag=A in your supfile, cvsup will create
 	  a checkouts file called <filename>checkouts.cvs:A</filename>: 
 	  for instance, if tag=RELENG_4, a checkouts file called
           <filename>checkouts.cvs:RELENG_4</filename> is generated. 
 	   This file will be used to retrieve and/or store identification
 	   information on your 4-STABLE sources.</para>
 
          <para>When tracking <literal>src-all</literal>, if you wish to
 	   pass from tag=A to tag=B (A less/greater than B not making 
 	   any difference) and if your checkouts file is 
 	   <filename>checkouts.cvs:A</filename>, the following actions
 	   should be performed:</para>
 
             <orderedlist>
               <listitem>
                 <para>&prompt.root; <userinput>mv checkouts.cvs:A
 checkouts.cvs:B</userinput>
                   (This provides the subsequent step with the appropriate
                   checkouts file)</para>
               </listitem>
 
               <listitem>
                 <para>write a supfile whose collection line reads:</para>
                   <programlisting>src-all tag=B</programlisting>
               </listitem>
 
               <listitem>
                 <para>cvsup your sources using the new supfile.</para>
               </listitem>
             </orderedlist>
 
          <para>Cvsup will look for <filename>checkouts.cvs:B</filename> 
 	   -- in that the target is B; that is, cvsup will make use of 
 	   the information contained therein to correctly manage your 
 	   sources.</para>
 
          <para>The benefits:</para>
 
            <itemizedlist>
               <listitem>
                 <para>the sources are dealt with correctly (in particular,
 		  no stale files)</para>
               </listitem>
 
               <listitem>
                 <para>less load is placed on the server, in that cvsup 
 		  operates in the most efficient way.</para>
               </listitem>
            </itemizedlist>
 
 
          <para>For example, A=RELENG_4, B=.  The period in "B=." means 
 	   -CURRENT.  This is a rather typical update, from 4-STABLE 
 	   to -CURRENT. While it is straightforward to "downgrade" your 
 	   sources (eg from -CURRENT to -STABLE), downgrading a system 
 	   is quite another matter. You are STRONGLY advised not to 
 	   attempt such an operation, unless you know exactly what you
 	   are doing.</para>
        </sect2>
 
        <sect2>
          <title>Updating to the same tag as of a different date</title>
 
          <para>If you wish to switch from "tag=A" to "tag=A" as of a 
 	   different GMT date (say, "date=D"), you will execute the 
 	   following:</para>
 
            <orderedlist>
              <listitem>
                <para>write a supfile whose collection line reads:</para>
                  <programlisting>src-all tag=A date=D</programlisting>
              </listitem>
 
              <listitem>
                <para>update your sources using the new supfile</para>
              </listitem>
            </orderedlist>
 
          <para>Whether the new date precedes that of the last sync
 	   operation with tag=A or not, it is immaterial. For example, 
 	   in order to specify the date "August 27, 2000, 10:00:00 GMT" 
 	   you write the line:</para>
 
 
          <programlisting>src-all tag=RELENG_4
 date=2000.08.27.10.00.00</programlisting>
 
          <para>N.B. The format of a date is rigid. You have to specify 
 	   all the components of the date: century (20, ie the 20th 
 	   century, must be supplied whereas 19, the past century, can 
 	   be omitted), year, month, day, hour, minutes, seconds -- as 
 	   shown in the above example.  For more information, please 
 	   see &man.cvsup.1;.</para>
 
          <para>Whether or not a date is specified, the checkouts file 
 	   is called <filename>checkouts.cvs:A</filename> (eg
            <filename>checkouts.cvs:RELENG_4</filename>). As a result,
 	   no particular action is needed in order to revert to the 
 	   previous state: you have to modify the date in the supfile, 
 	   and csvup again.</para>
        </sect2>
 
 
        <sect2>
          <title>Updating your ports collection for the first time</title>
 
          <para>Since ports are tagged "." (ie -CURRENT), you can 
 	   correctly "sync" them for the first time by adding the date 
 	   keyword (cf &man.cvsup.1; for the exact format): you should 
 	   specify a date as close as possible to that of "shipping" of 
 	   your ports tree. After cvsup has correctly created the ports 
 	   checkouts file, which is precisely the goal of this first 
 	   special sync operation, the date field must be removed;
            all subsequent updates will be carried out smoothly.</para>
 
          <para>If you have been reading the apparently nit-picking 
 	   remarks in these sections, you will probably have recognized 
 	   the potential for scr^Wtrouble in a source updating process. 
 	   A number of people have actually run into problems. You have
 	   been warned. :-)</para>
       </sect2>
    </sect1>
 </article>
State-Changed-From-To: open->closed 
State-Changed-By: murray 
State-Changed-When: Wed Oct 10 14:38:57 PDT 2001 
State-Changed-Why:  
Thanks for all your work on this.  Your article has been imported to 
articles/cvsup-advanced.  It should appear on the web within 24 hours. 


http://www.FreeBSD.org/cgi/query-pr.cgi?pr=31169 
>Unformatted:
 This message is in MIME format.
 
 ---MOQ10026458556b6ceeef4d889190fc41d261c60f24a0
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 8bit
 
 [ Resent.  Sorry for the mistake; please close pending/31163.  Because of my 
 current ISP's brain-deadness (dynamic IP, no name associated with it) I have 
 to use webmail. ]
 
 
