<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 18, 2015 at 10:12 AM, Pavel Emelyanov <span dir="ltr">&lt;<a href="mailto:xemul@parallels.com" target="_blank">xemul@parallels.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 12/18/2015 08:43 PM, Saied Kazemi wrote:<br>
<span class="">&gt; On Fri, Dec 18, 2015 at 9:05 AM, Pavel Emelyanov &lt;<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     On 12/17/2015 09:18 PM, Saied Kazemi wrote:<br>
&gt;     &gt; I also agree that having fixed dates for stable releases is good and we<br>
&gt;     &gt; should continue doing it.<br>
&gt;<br>
&gt;     OK :)<br>
&gt;<br>
&gt;     &gt; Regarding faster access to newly implemented features, how about a separate<br>
&gt;     &gt; &quot;channel&quot; called beta or dev that releases weekly (or at will)?  New features<br>
&gt;     &gt; are introduced in this channel and, after they&#39;ve been qualified for a few<br>
&gt;     &gt; weeks, move to the stable channel.  This is like what OS distros such as<br>
&gt;     &gt; CoreOS do (they actually have three channels: alpha, beta, stable; visit<br>
&gt;     &gt; <a href="https://coreos.com/releases/" rel="noreferrer" target="_blank">https://coreos.com/releases/</a>).<br>
&gt;<br>
&gt;     Hm... Do you know whether they do those releases from one repo, or constantly<br>
&gt;     move only the good stuff from alfa to beta and then to stable?<br>
&gt;<br>
&gt;<br>
&gt; I&#39;m pretty sure all releases come from the same repo, but different branches.  New<br>
&gt; features are committed to master and then cherry picked onto alpha, beta, and stable.<br>
<br>
</span>Ah, I see. My question was whether they just tag master branch with next alfa/bete<br>
release and after stabilization period tag the stable one, but now it&#39;s clear that<br>
they migrate features between branches.<br>
<span class=""><br>
&gt; Does a two-branch scheme (dev and stable) work for CRIU?<br>
<br>
</span>That&#39;s a good question which I&#39;m trying to figure out :) So far I&#39;ve seen that it<br>
was not that easy to distinguish one feature from another in terms of commit IDs,<br>
so cherry-picking a feature from master/dev branch into stable one would be quite<br>
a challenge.<br>
<br>
Back-porting the tempting stuff from HEAD to &quot;v1.${latest}-stable&quot; branch could be<br>
done with the help of feature owner, though.<br></blockquote><div><br></div><div>I&#39;m not a release engineering expert, so this is just a suggestion.  There are two ways to go.  One would be to create the dev and stable branches, keep them forever, cherry pick onto them, and tag milestones in those branches.  The other would be to create a dev branch that gets promoted (renamed) to the stable branch after qualification period.  The old stable branch can be deleted or renamed and frozen.</div><div><br></div><div>This way you&#39;d minimize the task of cherry picking because each time you create a new dev branch from master, it includes all the commits up to that point.  Cherry picking onto the stable branch should generally be avoided unless there is a major security patch.</div><div><br></div><div>--Saied</div><div><br></div></div></div></div>