<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>George asked that I post some scenarios where this would be
      useful.<br>
    </p>
    1. You are about to create updated asterisk package and want to
    quickly scan the changes to 13 since latest 13.x.0 release to see if
    anything is a 'must patch' for your deployments.  You can use 'tig'
    to review changes for critical fixes until you reach the tag
    '13.x.0-rc1' (which you can see in the list because the tag was
    merged).  I know the end result can be accomplished by other means,
    but not as easily.<br>
    <p>2. You've created an automated test to try finding a performance
      regression.  The test runs asterisk under a profiler and stores
      results.  Each revision you test needs a new file to store results
      - 'git describe' would provide an excellent filename that is
      unique per revision.</p>
    <p>One thing I'm not sure about is if we should only merge rc1 tags
      or if we should merge all new release tags.  At first all release
      tags seem reasonable, but the order of tags other than rc1 would
      be off.  rc1 is special because it would be merged back to
      mainline before anything else.  Even 13.x.0 does not get cut until
      after other commits are merged to 13, so if we merged 13.19.0 to
      13, the commits made since 13.19.0-rc1 would appear out of order
      (before 13.19.0).  The difference between rc1 and final release is
      always small, but the number of new commits to mainline between
      that time can be quite large.<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 12/21/2017 10:45 AM, Corey Farrell
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6f74c0a6-4ed3-f6a5-bad5-23247a62319c@cfware.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      I just read `git help merge` again and I think the solution is
      'git checkout 13 && git merge --strategy ours
      13.19.0-rc1'.  This would effectively tell git that '13' already
      contains 13.19.0-rc1, but without actually trying to pull any
      changes to 13.  This merge would be the final step of
      mkrelease.py.<br>
      <br>
      No changes will be needed to our handling of '.lastclean', please
      ignore those comments as I was wrong.<br>
      <br>
      <div class="moz-cite-prefix">On 12/21/2017 08:19 AM, George Joseph
        wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:CAP=uFEtGEcPtTGn2ufuoes6cm3dp+6sdzm6nsH3DKT--FM0HTA@mail.gmail.com">
        <div dir="ltr"><br>
          <div class="gmail_extra"><br>
            <div class="gmail_quote">On Wed, Dec 20, 2017 at 3:14 PM,
              Corey Farrell <span dir="ltr"><<a
                  href="mailto:git@cfware.com" target="_blank"
                  moz-do-not-send="true">git@cfware.com</a>></span>
              wrote:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div text="#000000" bgcolor="#FFFFFF">
                  <p>One thing that might improve this is if releases
                    were merged back to the major branch.  Currently the
                    commit "Update for 13.19.0-rc1" is on the 13.19
                    branch and tagged as 13.19.0-rc1.  I believe that if
                    we added 'git checkout 13 && git merge
                    13.19.0-rc1' we would get better information from
                    'git describe 13' and tags would appear in 'git log
                    13 --oneline'.  This would continue working even
                    after we delete the minor branches.<br>
                  </p>
                </div>
              </blockquote>
              <div>Sounds reasonable.</div>
              <div><br>
              </div>
              <div> </div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div text="#000000" bgcolor="#FFFFFF">
                  <p> </p>
                  <p>As a test I just ran 'git merge 13.18.4' from the
                    current 13 branch.  The merge did have 2 conflicts
                    but that's because 13.18 was branched so long ago
                    and a couple files that were modified in minor
                    releases have since been modified again or deleted. 
                    Then I ran 'git describe 13', it said
                    '13.18.4-404-gd5d67bb1f4'.  This tells us that my
                    local branch had about 404 commits (including
                    merges) that are not part of 13.18.0-rc1 (the point
                    where 13.18 diverged from 13 because 13.18.3 was not
                    merged back).  Merging each tag as soon as it's
                    created would make the results more accurate. and
                    (almost always) eliminate merge conflicts.<br>
                  </p>
                </div>
              </blockquote>
              <div>"almost always" will be an issue since it's the
                scripts that do the work.  It's kinda frustrating
                already when you're trying to get releases out the door
                and something goes wrong with the script.  What
                conditions do you think might still cause merge
                conflicts?</div>
              <div> <br>
              </div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div text="#000000" bgcolor="#FFFFFF">
                  <p> </p>
                  <p>The only wrinkle in this plan is that the
                    '.lastclean' file is created on the releases but
                    it's listed in .gitignore.  I think we might be able
                    to just get rid of the .lastclean and .cleancount
                    files.  This Makefile hack predates the use of SVN
                    and I don't think it's necessary.  One thing it does
                    do is try to enable the astdb2sqlite3 utility, but
                    Berkely DB was last used in Asterisk 1.8.  The
                    default is for that utility to be enabled, that's
                    enough.  In addition the mkrelease script actually
                    copies .cleancount to .lastclean, I think that means
                    it's disabled for releases.<br>
                  </p>
                </div>
              </blockquote>
              <div>These kind of things we can alter to suite our needs
                so there shouldn't be an issue.</div>
              <div> <br>
              </div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div text="#000000" bgcolor="#FFFFFF">
                  <p> </p>
                  <div>
                    <div class="h5"> <br>
                      <div class="m_8559998465513526041moz-cite-prefix">On
                        12/20/2017 12:58 PM, George Joseph wrote:<br>
                      </div>
                      <blockquote type="cite">
                        <div dir="ltr"><br>
                          <div class="gmail_extra"><br>
                            <div class="gmail_quote">On Wed, Dec 20,
                              2017 at 8:14 AM, Tzafrir Cohen <span
                                dir="ltr"><<a
                                  href="mailto:tzafrir.cohen@xorcom.com"
                                  target="_blank" moz-do-not-send="true">tzafrir.cohen@xorcom.com</a>></span>
                              wrote:<br>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">
                                <div class="m_8559998465513526041HOEnZb">
                                  <div class="m_8559998465513526041h5">On
                                    Wed, Dec 20, 2017 at 07:50:03AM
                                    -0700, George Joseph wrote:<br>
                                    > On Wed, Dec 20, 2017 at 2:44
                                    AM, Tzafrir Cohen <<a
                                      href="mailto:tzafrir.cohen@xorcom.com"
                                      target="_blank"
                                      moz-do-not-send="true">tzafrir.cohen@xorcom.com</a>><br>
                                    > wrote:<br>
                                    ><br>
                                    > > Off-topic:<br>
                                    > ><br>
                                    > > On Tue, Dec 19, 2017 at
                                    01:50:03PM -0700, George Joseph
                                    wrote:<br>
                                    > ><br>
                                    > > > Thankfully we tag
                                    EVERYTHING! :)<br>
                                    > ><br>
                                    > > asterisk(13)$ git describe<br>
                                    > >
                                    13.15.0-rc1-908-ge31e3b581b<br>
                                    > ><br>
                                    > > asterisk(14)$ git describe<br>
                                    > > fatal: No tags can
                                    describe
                                    'fb18797ae09a685ec71101499fb1c<wbr>1c606b16397'.<br>
                                    > > Try --always, or create
                                    some tags.<br>
                                    > ><br>
                                    > > asterisk(15)$ git describe<br>
                                    > > fatal: No tags can
                                    describe
                                    'd312068ee93ff8ce97b464f3c2ff3<wbr>304e15cb3fe'.<br>
                                    > > Try --always, or create
                                    some tags.<br>
                                    > ><br>
                                    > ><br>
                                    > > I wasted half an hour
                                    yesterday trying to find out why a
                                    build sis not<br>
                                    > > switch from master to 13,
                                    only to realize that the name of the
                                    git<br>
                                    > > branch in the version
                                    string is always "master".<br>
                                    > ><br>
                                    > > We tag everything. But
                                    only well after it was branched from
                                    the main<br>
                                    > ><br>
                                    > branch.<br>
                                    > ><br>
                                    ><br>
                                    > I'm not following you.<br>
                                    ><br>
                                    > We tag every release...<br>
                                    ><br>
                                    > $ git checkout 13.18.4<br>
                                    > HEAD is now at f4644317b7...
                                    Update for 13.18.4<br>
                                    > $ git describe<br>
                                    > 13.18.4<br>
                                    <br>
                                    <br>
                                  </div>
                                </div>
                                <span>> $ git checkout 13.18<br>
                                  > Switched to branch '13.18'<br>
                                  > Your branch is up-to-date with
                                  'gerrit/13.18'.<br>
                                  > $ git describe<br>
                                  > 13.18.4<br>
                                  <br>
                                  <br>
                                  > $<br>
                                  ><br>
                                  > We have to create the minor
                                  release branch (13.18) and do the work
                                  there so<br>
                                  > that patch releases (13.18.4) are
                                  based on the minor release branch, not<br>
                                  > the major branch.<br>
                                  <br>
                                </span>Those branches are likewise
                                short-lived branches (at least with
                                respect<br>
                                to the number of commits). Real work is
                                done on master, 13, 15 and such.<br>
                                But when I'm on such a branch, I can't
                                ask git on which branch I am (not<br>
                                to mention: at which stage in it).<br>
                              </blockquote>
                              <div><br>
                              </div>
                              <div> I _think_ I understand now.</div>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex"> <br>
                                For instance: maybe whenever you tag a
                                new release branch (e.g. 13.18),<br>
                                tag the split point as something like
                                "13.18.base" or "base.13.18"?<br>
                              </blockquote>
                              <div><br>
                              </div>
                              <div>Well, that's easy enough.  Toss us an
                                issue for it.</div>
                              <div> <br>
                              </div>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex"> <br>
                                But maybe it's just me and branches 13
                                and 15 are not widely used (for<br>
                                master it is irrelevant anyway).<br>
                                <div class="m_8559998465513526041HOEnZb">
                                  <div class="m_8559998465513526041h5"><br>
                                    --<br>
                                                   Tzafrir Cohen<br>
                                    +972-50-7952406           mailto:<a
href="mailto:tzafrir.cohen@xorcom.com" target="_blank"
                                      moz-do-not-send="true">tzafrir.cohen@xorcom.c<wbr>om</a><br>
                                    <a href="http://www.xorcom.com"
                                      rel="noreferrer" target="_blank"
                                      moz-do-not-send="true">http://www.xorcom.com</a><br>
                                    <br>
                                    --<br>
                                    ______________________________<wbr>______________________________<wbr>_________<br>
                                    -- Bandwidth and Colocation Provided
                                    by <a
                                      href="http://www.api-digital.com"
                                      rel="noreferrer" target="_blank"
                                      moz-do-not-send="true">http://www.api-digital.com</a>
                                    --<br>
                                    <br>
                                    asterisk-dev mailing list<br>
                                    To UNSUBSCRIBE or update options
                                    visit:<br>
                                       <a
                                      href="http://lists.digium.com/mailman/listinfo/asterisk-dev"
                                      rel="noreferrer" target="_blank"
                                      moz-do-not-send="true">http://lists.digium.com/mailm<wbr>an/listinfo/asterisk-dev</a><br>
                                  </div>
                                </div>
                              </blockquote>
                            </div>
                            <br>
                            <br clear="all">
                            <div><br>
                            </div>
                            -- <br>
                            <div
                              class="m_8559998465513526041gmail_signature"
                              data-smartmail="gmail_signature">
                              <div dir="ltr"><span
                                  style="font-size:12.8px">George Joseph</span><br
                                  style="font-size:12.8px">
                                <span style="font-size:12.8px">Digium,
                                  Inc. | Software Developer</span><span
                                  style="font-size:12.8px"><br>
                                  445 Jan Davis Drive NW - Huntsville,
                                  AL 35806 - US<br>
                                </span><span style="font-size:12.8px">Check
                                  us out at: </span><a
                                  href="http://www.digium.com/"
                                  rel="noreferrer"
                                  style="color:rgb(17,85,204);font-size:12.8px"
                                  target="_blank" moz-do-not-send="true">www.digium.com</a><span
                                  style="font-size:12.8px"> & </span><a
                                  href="http://www.asterisk.org/"
                                  rel="noreferrer"
                                  style="color:rgb(17,85,204);font-size:12.8px"
                                  target="_blank" moz-do-not-send="true">www.<wbr>asterisk.org</a><br>
                                <div><br>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                        <br>
                        <fieldset
                          class="m_8559998465513526041mimeAttachmentHeader"></fieldset>
                        <br>
                      </blockquote>
                      <br>
                    </div>
                  </div>
                </div>
                <br>
                --<br>
                ______________________________<wbr>______________________________<wbr>_________<br>
                -- Bandwidth and Colocation Provided by <a
                  href="http://www.api-digital.com" rel="noreferrer"
                  target="_blank" moz-do-not-send="true">http://www.api-digital.com</a>
                --<br>
                <br>
                asterisk-dev mailing list<br>
                To UNSUBSCRIBE or update options visit:<br>
                   <a
                  href="http://lists.digium.com/mailman/listinfo/asterisk-dev"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">http://lists.digium.com/<wbr>mailman/listinfo/asterisk-dev</a><br>
              </blockquote>
            </div>
            <br>
            <br clear="all">
            <div><br>
            </div>
            -- <br>
            <div class="gmail_signature"
              data-smartmail="gmail_signature">
              <div dir="ltr"><span style="font-size:12.8px">George
                  Joseph</span><br style="font-size:12.8px">
                <span style="font-size:12.8px">Digium, Inc. | Software
                  Developer</span><span style="font-size:12.8px"><br>
                  445 Jan Davis Drive NW - Huntsville, AL 35806 - US<br>
                </span><span style="font-size:12.8px">Check us out at: </span><a
                  href="http://www.digium.com/" rel="noreferrer"
                  style="color:rgb(17,85,204);font-size:12.8px"
                  target="_blank" moz-do-not-send="true">www.digium.com</a><span
                  style="font-size:12.8px"> & </span><a
                  href="http://www.asterisk.org/" rel="noreferrer"
                  style="color:rgb(17,85,204);font-size:12.8px"
                  target="_blank" moz-do-not-send="true">www.asterisk.org</a><br>
                <div><br>
                </div>
              </div>
            </div>
          </div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>