-
Notifications
You must be signed in to change notification settings - Fork 90
/
cvs-tips.txt
110 lines (66 loc) · 2.9 KB
/
cvs-tips.txt
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Using CVS to access Proof General repository
============================================
Here are some notes on how to access the PG repository remotely
using CVS, using pserver access to cvs.inf.ed.ac.uk
0. If you want write access to the Proof General repository, fill
in the web form here to apply for an account:
http://www.informatics.ed.ac.uk/systems/cvs/new/
The request will be processed manually and confirmed with the
Proof General maintainer (David Aspinall), so you should discuss
with him before applying.
1. Login to the CVS server:
cvs -d :pserver:<user>@cvs.inf.ed.ac.uk:/disk/cvs/proofgen login
Replace <user> with your username, or with "anon" for anonymous
access.
2. Checkout the repository:
cvs -d :pserver:<user>@cvs.inf.ed.ac.uk:/disk/cvs/proofgen checkout ProofGeneral
Inside the ProofGeneral directory, to retrieve the latest updates, do:
cvs update
To commit some changes to file <filename>, do:
cvs commit -m"<message here>" <filename>
See "man cvs" for (much) more.
-----------------------------------------------------------------
Making a branch to patch a previous release:
============================================
cvs checkout -r Release-3-1-3 ProofGeneral
cd ProofGeneral
cvs tag -b Release-3-1-branch
# Drop this repo, has sticky tag for 3-1-3.
cd .. ; cvs release -d ProofGeneral
# Get new one
cvs checkout -r Release-3-1-branch ProofGeneral
cd ProofGeneral
patch ... blah ...
cvs commit ... blah ..
Then make release as ~proofgen:
mkdir oldbranch
cd oldbranch
cvs checkout -r Release-3-1-branch ProofGeneral
make devel.releaseall VERSION=3.1 FULLVERSION=3.1.99
NB: See warning in Makefile.devel about this (it will
downgrade web pages).
Then perhaps merge in branch changes into main stream:
cd projects/proofgen/ProofGeneral
cvs update -jRelease-3-1-branch
NB: this merging will always create conficts with
$Id$ tags in source. (Is there a way to avoid this?)
Overriding the CVS/Root setting temporarily:
============================================
Use
cvs -d $CVSROOT
NB: This doesn't alter CVS/Root, but uses NEWROOT in preference.
($CVSROOT does not overide CVS/Root at all).
Useful command:
alias cvs='cvs -d $CVSROOT'
to force this behaviour.
Moving to a new branch
======================
This only works on a clean repository (no spurious files):
find * -path '*/CVS' -prune -o -path 'CVS' -prune -o -print | tr '\n' '\0' | xargs -0 cvs commit -m"Updating branch" -f -r 4.0
(The tr is needed because of some nasty filenames, e.g. etc/isa/\backslashname)
Updating base revision number
=============================
Starting with a new base revision number is handy to easily see changes since last release.
cvs commit -f -R -r 12.0 -m"Update base revision number for 4.2 development cycle" .
cvs up -A
Need second update to remove automatically added sticky tag.