<div class="gmail_quote">On Fri, Jun 10, 2011 at 11:10 AM, Adam D. Ruppe <span dir="ltr"><<a href="mailto:destructionator@gmail.com">destructionator@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;">

I think we should go for immutable packages. It makes the<br>
package managed infinitely simpler: if the file is there, use it.<br>
If not, download it, then use it. Since it's immutable, you can<br>
always use your file.<br>
<br>
How do you push updates then? Easy - change the name. Put the version<br>
number in the module name.<br>
</blockquote></div><br>I agree, and this is the approach of Java tools like Maven and Ant/Ivy. Package a release and label it with the version, then never ever modify it. This makes it hard to work with the "trunk" of a project (though an exceptional case could be made if there's enough justification), but with enough developmental releases, it seems to work pretty well.