<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">Perhaps&nbsp;the pinning feature and how to use it together with the&nbsp;version specification in the manifest could be documented somewhere?&nbsp;</span>I am sorting through how to use
 the Package.pins file on my own projects and I am coming up a bit confused, and<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">&nbsp;I assume&nbsp;that I am just&nbsp;missing the point of this somewhat intrusive change.&nbsp;</span></p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"><br>
</span></p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"><br>
</span></p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">If it is of any interest, my initial impressions of using this behavior are these:</span></p>
<p><br>
</p>
<p>Currently in my package manifests I have been specifying my dependencies with exact versions (e.g. `<span>.Package(url: &quot;URL.git&quot;, Version(0,1,2))`), so the pins file seems entirely redundant. The statement in SE-0145 that&nbsp;&quot;<span>there has heretofore been
 no way to share that pinning information with other team members&quot; seems wrong. Hasn't&nbsp;my package manifest with dependency versions been being shared?</span></span>
</p>
<p><span><span><br>
</span></span></p>
<p><span><span>I see that the pins file is supposed to disambiguate the dependency version &quot;independent from the semantic versioning specification&quot;. Does that mean that I could have a completely different version in the pins file than the manifest and the pins
 file would override the manifest? Can the &quot;version&quot; field in the pins file&nbsp;accept commit hashes or branch names or other things not supported by semantic version tags? Currently, neither of these are possible (in&nbsp;the first case swift gives &quot;error: unsatisfiable&quot;
 and in&nbsp;the second case swift&nbsp;crashes&nbsp;if the pins&nbsp;&quot;version&quot; is anything but a valid semantic version), so again I am missing what benefit the pins file has over simply giving an exact `Version(...)` in the manifest. On the other hand,&nbsp;if the pins file is intended
 to override the manifest,&nbsp;than what is the point of specifying any version in the manifest at all?</span></span></p>
<p><span><span><br>
</span></span></p>
<p><br>
</p>
<p>Steven</p>
<p><br>
</p>
</div>
</body>
</html>