<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">```</div><div class="">opam remote remove shadow-opam-repository </div><div class="">opam remote add shadow-opam-repository ./opam-repository</div><div class="">opam update</div><div class="">opam pin add --no-action project ./ -y </div><div class="">opam install --deps-only project -y</div><div class="">```</div><div class=""><br class=""></div><div class="">Changing version of packages for all devs and our servers is done by commiting changes either to the opam-repository or to the opam file in the project.</div></div></div></blockquote><div><br class=""></div>That's pretty neat! Would maybe be nice to support relative url in the packages to store the local package in the local repository, so you don't have to pin.</div><div><br class=""></div><div><div class=""></div><blockquote type="cite" class=""><div class="">That being said, having to depend on such a repository is a pain. What we would really to do from a user perspective is to have something like that in the project opam file </div><div class=""><div class=""><br class=""></div><div class="">```</div><div class="">opam-version: "1.2"</div></div><div class="">...</div><div class=""><div class="">depends: [</div><div class=""> "asn1-combinators" { = "0.1.1" }<br class=""></div></div><div class=""><div class=""> ...</div><div class=""> "foo" { git: "path-to-git/foo#bar"}</div></div><div class="">]</div><div class="">```</div></blockquote><div class=""><br class=""></div><div class="">Louis will tell you (with reason) that by doing so you will need a fix-point resolver (as the "foo" package which introduce some yet unknown new constraints in your system) so this scheme is pretty difficult to implement.</div><div class=""><br class=""></div><div class="">That being said, that would be nice to have a way to easily import a list of pinned package. Need to double-check but I think that `opam switch export/import` preserves the pin packages so that should be enough for your use case.</div><div class=""><br class=""></div><div class="">Thomas</div><div class=""><br class=""></div></div><div><br class=""></div><div><blockquote type="cite" class=""><div class=""><div class="gmail_extra"><div class="gmail_quote">On Tue, May 5, 2015 at 9:19 PM, Malcolm Matalka <span dir="ltr" class=""><<a href="mailto:mmatalka@gmail.com" target="_blank" class="">mmatalka@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Each project I have has its own opam repo which I put as higher priority<br class="">
to the basic one. Does this do what you want?<br class="">
<div class="HOEnZb"><div class="h5"><br class="">
Trevor Smith <<a href="mailto:trevorsummerssmith@gmail.com" class="">trevorsummerssmith@gmail.com</a>> writes:<br class="">
<br class="">
> Hi all,<br class="">
><br class="">
> We're using opam internally at work. I have two use cases for our internal<br class="">
> libraries:<br class="">
><br class="">
> 1) "dev dependencies" -- I want what is in the repo.<br class="">
> 2) "explicit dependency" -- I want a given version.<br class="">
><br class="">
> opam has #2 covered.<br class="">
><br class="">
> However it is not clear to me how to do #1 correctly. I can, on a given<br class="">
> machine (ie not on an opam repository), pin a given package to a git repo.<br class="">
> But locally pinning isn't what I want. I want a package in an opam<br class="">
> repository to say "I depend upon this other dev package" so that our build<br class="">
> boxes, and various developer machines will all do the same thing, and I<br class="">
> don't need to separately pin everything on each box.<br class="">
><br class="">
> Has anyone else encountered this situation before?<br class="">
><br class="">
> Thoughts? Thanks.<br class="">
><br class="">
> Trevor<br class="">
</div></div><div class="HOEnZb"><div class="h5">> _______________________________________________<br class="">
> Platform mailing list<br class="">
> <a href="mailto:Platform@lists.ocaml.org" class="">Platform@lists.ocaml.org</a><br class="">
> <a href="http://lists.ocaml.org/listinfo/platform" target="_blank" class="">http://lists.ocaml.org/listinfo/platform</a><br class="">
_______________________________________________<br class="">
Platform mailing list<br class="">
<a href="mailto:Platform@lists.ocaml.org" class="">Platform@lists.ocaml.org</a><br class="">
<a href="http://lists.ocaml.org/listinfo/platform" target="_blank" class="">http://lists.ocaml.org/listinfo/platform</a><br class="">
</div></div></blockquote></div><br class=""></div>
_______________________________________________<br class="">Platform mailing list<br class=""><a href="mailto:Platform@lists.ocaml.org" class="">Platform@lists.ocaml.org</a><br class="">http://lists.ocaml.org/listinfo/platform<br class=""></div></blockquote></div><br class=""></body></html>