<div dir="ltr">The shooting in the dark was directed more at the use of svn:ignore for this. &nbsp;Personally, I haven&#39;t used it, but Gary&#39;s comments about Subversion put into my mind an approach that would leverage it&#39;s available tools.<div>
<br></div><div>Chris.<br><div><br></div><div><br><div class="gmail_quote">On Thu, Jul 24, 2008 at 1:10 PM, 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;">
<div style="word-wrap:break-word">I&#39;m not just shooting in the dark here. &nbsp;We actually faced a nearly identical problem with a configuration file that had to be locally modified for every installation. &nbsp;The svn/live idea worked like a charm.<div>
<br></div><font color="#888888"><div>rg</div></font><div><div></div><div class="Wj3C7c"><div><br><div><div>On Jul 24, 2008, at 10:57 AM, Chris Van Dusen wrote:</div><br><blockquote type="cite"><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" target="_blank">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><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" target="_blank">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" target="_blank">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" target="_blank">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></blockquote></div><br></div></div></div></div><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>
<br></blockquote></div><br></div></div></div>