Changes between Version 10 and Version 11 of UpdatingFromSource


Ignore:
Timestamp:
Feb 17, 2009, 5:49:45 AM (11 years ago)
Author:
rme
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UpdatingFromSource

    v10 v11  
    11= Updating from Subversion and rebuilding Clozure CL from source =
    22
    3 This page describes how to update and rebuild Clozure CL from subversion ("svn"), starting with the most recent "release" tarball.
    4 ("Release tarballs" are distributed periodically in ftp://clozure.com/pub/release/ )  Extracting the contents of a release tarball into a local "ccl" directory creates a "working copy" of the contents of the svn repository at the time that the release was made.  (This "working copy" contains metainformation - in ".svn" directories - that enable svn to track changes.)
     3Getting Clozure CL via Subversion (as described on the [wiki:WikiStart main page]) creates a "working copy" of
     4the CCL source code and binaries on your local system.  It is also possible to get an initial working copy (including the svn metainformation in .svn directories) from a release tarball.  These are periodically made available from ftp://ftp.clozure.com/pub/release/.
    55
    6 1. In a shell, enter the "ccl" directory created when the tarball was extracted.
     6With a working copy in hand, you can now use Subversion to get updates.
     7
     81. In a shell, enter the "ccl" directory that contains the working copy of the sources.
    79{{{
    810shell> cd ccl
     
    2426||D|| ''path''|| The file or directory at ''path'' was deleted from the repository and has been deleted from the working copy ||
    2527||U|| ''file''|| The file at ''file'' was changed in the repository and the local copy has been updated ||
    26 ||G|| ''file''|| The file at ''file'' was changed in both the repository and working copy, and the local copy contains mixed content ||
     28||G|| ''file''|| The file at ''file'' was changed in both the repository and working copy, and the local copy contains the merged content ||
    2729||C|| ''file''|| The file at ''file'' was changed in both the repository and working copy, and svn was unable to resolve conflicts ||
    2830
    29 Binary files that have been locally modified (the act of recompiling the kernel or rebuilding the image generally count as being "modified") generally can't be merged with newer versions from the repository.  The lisp kernel and heap image generally don't change often in a nominally stable "release", but when they do the changes are often significant.  Doing:
     31Binary files that have been locally modified (a rebuilt lisp kernel or heap image counts as a modification) generally can't be merged with newer versions from the repository.  The lisp kernel and heap image generally don't change often in a nominally stable "release", but when they do the changes are often significant.  Therefore, if you notice that the lisp kernel or heap image have been updated, and the line is marked with a "C", the correct response is to revert the file:
    3032
    3133{{{
    32 shell> svn revert ''file''
     34shell> svn revert some-file
    3335}}}
    3436
    35 will effectively discard any local changes to the named file and replace it with the repository version.
     37will effectively discard any local changes to `some-file` and replace it with the repository version.
    3638
    37393.  Once svn has finished creating local copies of files that have changed on the svn server since the last time you did this (or since the tarballs were created), use the currently installed Clozure CL to compile the updated sources and build a new kernel and heap image:
     
    4244? (ccl:rebuild-ccl :full t)
    4345}}}
     46
     47(Windows users: use `(ccl:rebuild-ccl :clean t)`.  See WindowsNotes for more information.)
    4448
    4549That'll recompile the lisp kernel and all lisp sources used to build a heap image and build that image.