If you specify eg tag=A in your supfile, cvsup will create a checkouts file called checkouts.cvs:A: for instance, if tag=RELENG_4, a checkouts file called checkouts.cvs:RELENG_4 is generated. This file will be used to retrieve and/or store information identifying your 4-STABLE sources.
When tracking src-all, 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 checkouts.cvs:A, the following actions should be performed:
# mv checkouts.cvs:A checkouts.cvs:B (This provides the subsequent step with the appropriate checkouts file)
write a supfile whose collection line reads:
src-all tag=B
cvsup your sources using the new supfile.
The cvsup utility will look for checkouts.cvs:B--in that the target is B; that is, cvsup will make use of the information contained therein to correctly manage your sources.
The benefits:
the sources are dealt with correctly (in particular, no stale files)
less load is placed on the server, in that cvsup operates in the most efficient way.
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.
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:
write a supfile whose collection line reads:
src-all tag=A date=D
update your sources using the new supfile
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:
src-all tag=RELENG_4 date=2000.08.27.10.00.00
Note: 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 cvsup(1).
Whether or not a date is specified, the checkouts file is called checkouts.cvs:A (eg checkouts.cvs:RELENG_4). 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 run csvup again.
Since ports are tagged ``.'' (ie -CURRENT), you can correctly ``sync'' them for the first time by adding the date keyword (cf 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.
If you have been reading the apparently nit-picking remarks in these sections, you will probably have recognized the potential for trouble in a source updating process. A number of people have actually run into problems. You have been warned. :-)
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the
documentation
before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |