<div dir="ltr">svn:ignore might be something that could be used to accommodate this. &nbsp;<div><br></div><div>Putting just enough thought into it to be dangerous, the live-image could be ignored and the svn-image would be used as Ron stated. &nbsp;But, &nbsp;that&#39;s just me shooting in the dark. &nbsp;Maybe it&#39;ll give someone an idea.</div>
<div><br></div><div>Chris.<br><br><div class="gmail_quote">On Thu, Jul 24, 2008 at 11:52 AM, Ron Garret <span dir="ltr">&lt;<a href="mailto:ron@awun.net">ron@awun.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I suggest modifying the build procedure so that the binaries in SVN<br>
are not used directly, but are copied (or symlinked) before they are<br>
used. &nbsp;In other words, you&#39;d have two files &quot;svn-image&quot; and &quot;live-<br>
image&quot;. &nbsp;When you bootstrap, you copy svn-image into live-image. &nbsp;When<br>
you build, you create a new live-image. &nbsp;When you want to make a new<br>
distribution (and only then) you copy live image back onto svn-image.<br>
Only svn-image is actually checked in. &nbsp;I believe that would eliminate<br>
this problem.<br>
<font color="#888888"><br>
rg<br>
</font><div><div></div><div class="Wj3C7c"><br>
On Jul 24, 2008, at 4:13 AM, Chris Van Dusen wrote:<br>
<br>
&gt; And that was indeed the case. &nbsp;Thanks!<br>
&gt;<br>
&gt; Regarding reverting only those files that are in conflict, short of<br>
&gt; scripting it, I don&#39;t know of a way.<br>
&gt;<br>
&gt; Chris.<br>
&gt;<br>
&gt; On Jul 24, 2008, at 4:56 AM, Gary Byers wrote:<br>
&gt;<br>
&gt;&gt; The &quot;couple of days&quot; that Matt mentioned in:<br>
&gt;&gt;<br>
&gt;&gt; &lt;<a href="http://clozure.com/pipermail/openmcl-devel/2008-July/008389.html" target="_blank">http://clozure.com/pipermail/openmcl-devel/2008-July/008389.html</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; might have been a little optimistic (e.g., the trunk is still<br>
&gt;&gt; pretty volatile as he merges several months&#39; worth of IA-32 changes<br>
&gt;&gt; into it.)<br>
&gt;&gt;<br>
&gt;&gt; As of Wednesday afternoon, the trunk does build on Darwin/x8664<br>
&gt;&gt; (with recent images; the most recent Darwin/x8664 image was checked<br>
&gt;&gt; in as r10191 and identifies itself as &quot;1.2-r10180M-trunk&quot;.)<br>
&gt;&gt;<br>
&gt;&gt; The fact that SVN handles binary files reasonably well is a good<br>
&gt;&gt; thing,<br>
&gt;&gt; but one common case that comes up often involves binary files to<br>
&gt;&gt; which<br>
&gt;&gt; you&#39;ve made local modifications (the lisp kernel and heap image<br>
&gt;&gt; usually<br>
&gt;&gt; fall into this category.) &nbsp;&quot;svn update&quot; downloads newer files and<br>
&gt;&gt; stores<br>
&gt;&gt; them in a parallel directory hierarchy (.svn directories), then<br>
&gt;&gt; compares<br>
&gt;&gt; them to the corresponding files in your working copy. &nbsp;If your local<br>
&gt;&gt; copy wasn&#39;t modified since it was last checked out, it&#39;s overwritten<br>
&gt;&gt; with the new copy. &nbsp;If a text file was modified, svn will try to<br>
&gt;&gt; automatically reconcile the changes in your version with the new<br>
&gt;&gt; version;<br>
&gt;&gt; if it can, you get a working merged version and if it can&#39;t, it flags<br>
&gt;&gt; the file as &quot;conflicting&quot; and adds some annotations that indicate<br>
&gt;&gt; which<br>
&gt;&gt; parts of the attempted merge came from which version.<br>
&gt;&gt;<br>
&gt;&gt; If a binary file&#39;s in conflict ... well, a binary merge would be an<br>
&gt;&gt; interesting research project. &nbsp;Since it can&#39;t really do any sort<br>
&gt;&gt; of binary merge, svn leaves the locally modified copy alone and<br>
&gt;&gt; notes that a conflict exists. &nbsp;(Even if you&#39;ve never changed the<br>
&gt;&gt; source, a lisp heap image that you make yourself may not be bit-for-<br>
&gt;&gt; bit<br>
&gt;&gt; identical to the same version from the server: some internal<br>
&gt;&gt; pathnames<br>
&gt;&gt; may be different, there may be timestamps somewhere, ...)<br>
&gt;&gt;<br>
&gt;&gt; You can see those conflicts by doing:<br>
&gt;&gt;<br>
&gt;&gt; shell&gt; cd ccl &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # your working copy<br>
&gt;&gt; shell&gt; svn status<br>
&gt;&gt;<br>
&gt;&gt; I&#39;d guess that &quot;svn status&quot; sould show something like<br>
&gt;&gt;<br>
&gt;&gt; C &nbsp; &nbsp;dx86cl64.image<br>
&gt;&gt;<br>
&gt;&gt; and maybe<br>
&gt;&gt;<br>
&gt;&gt; C &nbsp; &nbsp;dx86cl64<br>
&gt;&gt;<br>
&gt;&gt; indicating that &quot;svn update&quot; didn&#39;t really know how to merge the<br>
&gt;&gt; locally-modifed copy.<br>
&gt;&gt;<br>
&gt;&gt; &#39;svn update&#39; has already downloaded a copy of everything in the<br>
&gt;&gt; repository (and stored it in a .svn directory), so you can do:<br>
&gt;&gt;<br>
&gt;&gt; shell&gt; svn revert dx86cl64.image<br>
&gt;&gt;<br>
&gt;&gt; which basically says &quot;discard my local modifications to the specified<br>
&gt;&gt; file and replace the working copy with the last version obtained from<br>
&gt;&gt; the server.&quot;<br>
&gt;&gt;<br>
&gt;&gt; If there&#39;s a convenient way to say &quot;do &#39;svn revert&#39; on all files<br>
&gt;&gt; that &#39;svn status&#39; reports as being in conflict&quot;, I don&#39;t know what<br>
&gt;&gt; it is.<br>
&gt;&gt;<br>
&gt;&gt; Anyway, the symptom is &quot;trying to use an old image to compile new<br>
&gt;&gt; sources&quot;, and if you just did an &quot;svn update&quot; and still have<br>
&gt;&gt; an old image, this is a plausible explanation. &nbsp;Binary files<br>
&gt;&gt; don&#39;t change that often, but when they do it&#39;s necessary to be<br>
&gt;&gt; aware of the fact that svn can&#39;t do much but (conservatively)<br>
&gt;&gt; not update the working copy.<br>
&gt;&gt;<br>
&gt;&gt; On Wed, 23 Jul 2008, Chris Van Dusen wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;m trying to rebuild bleeding edge CCL from the command line<br>
&gt;&gt;&gt; (Leopard, X86_64), and am getting the following:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ? (ccl:rebuild-ccl :full t)<br>
&gt;&gt;&gt; ;Building lisp-kernel ...<br>
&gt;&gt;&gt; ;Kernel built successfully.<br>
&gt;&gt;&gt; ;Compiling &quot;/Users/chrisvandusen/bin/ccl/compiler/nxenv.lisp&quot;...<br>
&gt;&gt;&gt; ;Loading #P&quot;/Users/chrisvandusen/bin/ccl/bin/nxenv.dx64fsl&quot;...<br>
&gt;&gt;&gt; ;Compiling &quot;/Users/chrisvandusen/bin/ccl/compiler/nx.lisp&quot;...<br>
&gt;&gt;&gt; ; Including &quot;/Users/chrisvandusen/bin/ccl/compiler/nx-basic.lisp&quot;...<br>
&gt;&gt;&gt; ; Including &quot;/Users/chrisvandusen/bin/ccl/compiler/lambda-<br>
&gt;&gt;&gt; list.lisp&quot;...<br>
&gt;&gt;&gt; ; Including &quot;/Users/chrisvandusen/bin/ccl/compiler/nx0.lisp&quot;...<br>
&gt;&gt;&gt; ; Including &quot;/Users/chrisvandusen/bin/ccl/compiler/nx1.lisp&quot;...<br>
&gt;&gt;&gt; ;Compiler warnings for &quot;/Users/chrisvandusen/bin/ccl/compiler/<br>
&gt;&gt;&gt; nx0.lisp&quot; :<br>
&gt;&gt;&gt; ; &nbsp; In MAKE-AFUNC: Undefined function %MAKE-AFUNC<br>
&gt;&gt;&gt; ;Loading #P&quot;/Users/chrisvandusen/bin/ccl/l1-fasls/nx.dx64fsl&quot;...<br>
&gt;&gt;&gt; ;Compiling &quot;/Users/chrisvandusen/bin/ccl/compiler/<br>
&gt;&gt;&gt; optimizers.lisp&quot;...<br>
&gt;&gt;&gt;&gt; Error: Undefined function %MAKE-AFUNC called with arguments () .<br>
&gt;&gt;&gt;&gt; While executing: MAKE-AFUNC, in process listener(1).<br>
&gt;&gt;&gt;&gt; Type :GO to continue, :POP to abort, :R for a list of available<br>
&gt;&gt;&gt; restarts.<br>
&gt;&gt;&gt;&gt; If continued: Retry applying %MAKE-AFUNC to NIL.<br>
&gt;&gt;&gt;&gt; Type :? for other options.<br>
&gt;&gt;&gt; 1 &gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The warning seems a foreshadowing of the error to come, but that&#39;s<br>
&gt;&gt;&gt; just me guessing. &nbsp;If there&#39;s any more info that might be helpful,<br>
&gt;&gt;&gt; let<br>
&gt;&gt;&gt; me know.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt; Chris.<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Openmcl-devel mailing list<br>
&gt;&gt;&gt; <a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>
&gt;&gt;&gt; <a href="http://clozure.com/mailman/listinfo/openmcl-devel" target="_blank">http://clozure.com/mailman/listinfo/openmcl-devel</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Openmcl-devel mailing list<br>
&gt; <a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>
&gt; <a href="http://clozure.com/mailman/listinfo/openmcl-devel" target="_blank">http://clozure.com/mailman/listinfo/openmcl-devel</a><br>
<br>
_______________________________________________<br>
Openmcl-devel mailing list<br>
<a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>
<a href="http://clozure.com/mailman/listinfo/openmcl-devel" target="_blank">http://clozure.com/mailman/listinfo/openmcl-devel</a><br>
</div></div></blockquote></div><br></div></div>