<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi!<br>
<br>
I might be a bit paranoid, but after loosing half a day due to an
"update" to a dependency given with {branch, "master"} I have
resorted to the following approach: I fork all the dependencies so
that I am in control if I cannot get a proper tag from the
dependency itself.<br>
<br>
This means that:<br>
<ol>
<li>I control when to take in new stuff.</li>
<li>I can add my own tags to ease upgrades.</li>
<li>If the author removes his repo I still have access to the
source.</li>
</ol>
<p>The main problem is that version numbering is not so popular
these days - what's the point when you have a sha?<br>
Well, it harder to say intelligent things about the magnitude of a
change from looking at the sha compared to a version number that
follows semantic versioning (semver.org).</p>
<p>With semantic versioning you know that a change to the major
number will - at the very least - require serious investigation
before you can be sure that your code with work with the updated
dependency. And so on.<br>
</p>
<p>It is actually easy to do semver with git - just tag your code.<br>
But easy is not enough to get people to do this. Unfortunately.<br>
</p>
<p>I am of the opinion that it becomes easier to re-use software
that uses semver - you get some info from the version number and
people that takes the time to do proper semver knows about
software maintenance, which speaks volumes for their code. <br>
</p>
Cheers,<br>
Torben<br>
<br>
On 24/4/12 21:43 , Heinz N. Gies wrote:
<blockquote
cite="mid:C82CC20E-7E13-42D1-B0FC-BA72EBF004E7@licenser.net"
type="cite">
<pre wrap="">Hi I've noticed that a lot of libraires depend on bleeding edge data I kind of find that disturbing it makes maintaining a stable environment close to impossible since one never knows
what I mean are lines like this:
{alog, ".*", {git, <a class="moz-txt-link-rfc2396E" href="https://github.com/siberian-fast-food/alogger.git">"https://github.com/siberian-fast-food/alogger.git"</a>, {branch, "master"}}}
now if the alogger people push a breaking change your application breaks when depending on it, even worst if you don't even use alogger yourself but a library you use uses it a change in alogger would break your application without you having direct influence on it :(.
So what I'd love to ask people who maintain libraries is use dependencies that have a fixed version and tag your own versions so people can do the same when using your stuff - please?
Regards,
Heinz
PS: I just choose alogger as an example since it was the first I found - I love the thing :)
--
Heinz N. Gies
<a class="moz-txt-link-abbreviated" href="mailto:heinz@licenser.net">heinz@licenser.net</a>
<a class="moz-txt-link-freetext" href="http://licenser.net">http://licenser.net</a>
_______________________________________________
erlang-questions mailing list
<a class="moz-txt-link-abbreviated" href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>
<a class="moz-txt-link-freetext" href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
<a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/torbenhoffmann">http://www.linkedin.com/in/torbenhoffmann</a></pre>
</body>
</html>