svn - but smaller?

Stephen Montgomery-Smith stephen at missouri.edu
Mon Jan 28 14:09:33 UTC 2013


On 01/28/2013 07:34 AM, Isaac (.ike) Levy wrote:
> On CTM,
> 
> On Jan 27, 2013, at 10:54 PM, Stephen Montgomery-Smith wrote:
>> On 01/27/2013 09:24 PM, Isaac (.ike) Levy wrote:
>>> On Jan 24, 2013, at 6:13 AM, Peter Jeremy wrote:
>>>> On 2013-Jan-23 15:40:50 +0100, Oliver Brandmueller <ob at e-Gitt.NET> wrote:
>>>>> in ancient times there was cvsup.
>>>
>>> Thank you for adding the ctm bits in the page, I'm deeply intrigued by possibly solving this problem with bits *already* in base?!!
> ...
>>> - does CTM go away with the CVS servers?
>>> - do CTM-compatable patch/delta files exist on project repos?
>>> - what is the cleanest path to using CTM? (e.g. is the patch you mention required)
> ...
>>> Say I have a bare 9.1 install, no ports, haven't downloaded any base/src or ports yet.
>>> How do I go about using ctm(1) to fetch REL or STABLE to /usr/src, command by command?
>>
>> First, you don't need any patches to get started.
>>
>> Suppose you want to keep up with 9.x-stable.  Then you look at the ftp
>> site ftp://ftp.freebsd.org/pub/FreeBSD/CTM/src-9/, look at the latest
>> xEmpty file, and fetch it.  Then create an empty directory /usr/src, and
>> then do
>> cd /usr/src && ctm the-xEmpty-file-you-downloaded.
>> No need to decompress the file first.
>> Then fetch from the same web site all the files whose number is greater
>> than the xEmpty file you downloaded and do
>> cd /usr/src && ctm the-rest-of-the-files*
>>
>> Now in /usr/src, you will have a reasonably up to date version of
>> 9.x-stable.
>>
>> You can keep it up to date by getting more files, either from the ftp
>> site, or by email, and doing again
>> cd /usr/src && ctm the-rest-of-the-files*
>> It will automatically ignore the files already applied.
>>
>> Similar instructions for all the other stable/currents and ports.  Main
>> thing to remember - start with an empty directory.
>>
>> Also making local changes is not permitted.  If ctm tries to modify a
>> file whose md5 checksum has changed, it will quit with an error message.
>> (But it won't leave your system in an unusable state - if you put that
>> file back to its original state, then ctm will work again.)
>>
>> Now, if you want something not offered by ctm (e.g. 8.2-release), then
>> you need to use svn.  You can get svn via ctm.  But you (1) need to
>> apply the patch, (2) install the svn port, and (3) install the xz port
>> if your FreeBSD is really old.
> 
> Thank you Stephen, ctm(1) is quite rad, but I see now how it doesn't really replace the 'one-liner' pull of c[v]sup…
> 
> I updated the wiki page with an example from your notes,
> https://wiki.freebsd.org/UsersFetchingSource
> 
> --
> With that, 2 questions:
> 
> - I'm wondering if there is a clean/reliable way to pull an index of the CTM deltas?  (This is still very far from the one-liner c[v]sup had become, it would be great to check for new delta files in a simple automated manner.)
> 

Not sure what you mean.  You can do "ctm -l file-name" and it will tell
you what files are modified in that delta.  And for ports, you have the
usual "make fetchindex."  But that is about it.

> - does CTM go away with the CVS servers, e.g. who/how is it supported supported and maintained going foreword under SVN?
> 

No.  CTM is now completely dependent on svn.  I create the CTM deltas on
a computer owned by the University of Missouri.



More information about the freebsd-stable mailing list