<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Adam: thanks back to you.</p>
    <p>Again. I had forgotten about export. To my credit (very little) I
      do recall environment variables from my UNIX days.</p>
    The following is note & diagram on branching is based on
    experience long before git and similar tools. <br>
    Possible merging is shown by the + signs.<br>
    My goal: Practice with git to learn the ins and outs of branching
    and merging with git to be able to follow this diagram.<br>
    <br>
    An original development is shown as A. <br>
    Development in A w/bug repairs and deployment continues.<br>
    <br>
    At some time a snapshot called a base-load is taken for a next
    generation development B.<br>
    Development in stream A w/bug repairs and deployment continues.<br>
    Development in stream B w/bug repairs and deployment continues.<br>
    Reviews of bug fixes and repairs are scheduled and shown as +.<br>
    Any changes in A relevant to B are ported i.e. merged with B.<br>
    Any changes in B relevant to A are ported i.e. merged with A.<br>
    <br>
    At some time a base-load is taken from B for a next generation
    development C. <br>
    Development in stream A w/bug repairs and deployment continues.<br>
    Development in stream B w/bug repairs and deployment continues.<br>
    Development in stream C w/bug repairs and deployment continues.<br>
    <br>
    <br>
    Reviews of bug fixes and repairs are scheduled and shown as +.<br>
    Any changes in A relevant to B are ported i.e. merged with B.<br>
    Any changes in A relevant to C are ported i.e. merged with C.<br>
    Any changes in B relevant to A are ported i.e. merged with A.<br>
    Any changes in B relevant to C are ported i.e. merged with C.<br>
    Any changes in C relevant to A are ported i.e. merged with A.<br>
    Any changes in C relevant to A are ported i.e. merged with A.<br>
    <br>
    At some time EOL End Of Life is declared for stream A and
    development & support for stream A stops.<br>
    At some time EOL End Of Life is declared for stream A and
    development & support for stream A stops.<br>
    At some time EOL End Of Life is declared for stream B and
    development & support for stream B stops.<br>
    <br>
    <tt>A +-----+-----+-----+-----+.....| EOL</tt><tt><br>
    </tt><tt>        |</tt><tt><br>
    </tt><tt>B      
      +-----+-----+-----+-----+-----+-----+-----+-----+.....| EOL</tt><tt><br>
    </tt><tt>                    |</tt><tt><br>
    </tt><tt>C                  
      +-----+-----+-----+-----+-----+-----+-----+-----+.....| EOL</tt><tt><br>
    </tt><tt>(use fixed width font for this diagram)<br>
    </tt><br>
    JohnJ<br>
    <br>
    <div class="moz-cite-prefix">On 2/14/2018 11:06, Adam Glauser wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAFgBy59mPDgymz-5N0_D4JuMNNJw5u0vVp8CC=Ge3cmDTk_cfw@mail.gmail.com">
      <div dir="ltr">Thanks for sharing this John. For what it's worth,
        I've been using Git for years now, and I strongly prefer the CLI
        over any GUI I've used. That being said, I do use GUI tools for
        certain operations. For example, see `git mergetool`. My
        preferred tool is KDiff3 (which is available on the other OS as
        well).
        <div><br>
        </div>
        <div>My approach to your problem is to use environment
          variables. An advantage of this approach is that you can then
          refer to those paths in a variety of use cases.</div>
        <div><br>
        </div>
        <div># ~/.profile</div>
        <div>export P_A_DIR=<span style="color:rgb(33,33,33)">/c/Users/user/projects/project</span><span
            style="color:rgb(33,33,33)">A</span></div>
        <div>export P_B_DIR=<span style="color:rgb(33,33,33)">/c/Users/user/projects/projectB</span></div>
        <div><br>
        </div>
        <div>You can then do things like:</div>
        <div>$ cd $P_A_DIR<span style="color:rgb(33,33,33)"><br>
          </span></div>
        <div>$ diff $P_A_DIR/path/to/file $P_B_CODE/path/to/file</div>
        <div><br>
        </div>
        <div>In particular, I find this handy for referring to locations
          on remote boxes, where I may not be able to use aliases or
          remote env. vars. easily.</div>
        <div>$ scp $P_A_DIR/path/to/file
          user@server:$P_A_TEST/path/to/file</div>
        <div>   or</div>
        <div>$ scp $P_A_DIR/path/to/file
          user@server:$P_A_RELEASE/path/to/file<br>
        </div>
        <div><br>
        </div>
        <div>Hope this helps,</div>
        <div>Adam</div>
        <div><br>
        </div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr">On Wed, Feb 14, 2018 at 10:36 AM John Johnson
          <<a href="mailto:jvj@golden.net" moz-do-not-send="true">jvj@golden.net</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">Update<br>
          A while ago I was informed about the use of alias command.<br>
          My Bad: I had forgotten about the alias command, as I used it
          back when<br>
          was UNIX sysadm, many eons ago.<br>
          <br>
          While my application is not in Linux what I have shown below
          shows how I<br>
          am using the alias command with the git command window.<br>
          The same can apply to Linux.<br>
          <br>
          In the other OS, I have placed .bashrc (shown below) in the
          git home<br>
          directory /c/Users/user/.<br>
          I have a number of projects, each with their own development
          directory<br>
          and git repository.<br>
          In the git command window, I use the alias commands shown
          below to<br>
          define shortcuts that will put me in the development directory
          for the<br>
          current project.<br>
          <br>
          # .bashrc<br>
          # created 20180211<br>
          alias cdprojectA="cd /c/Users/user/projects/projectA"<br>
          alias cdprojectB="cd /c/Users/user/projects/projectB"<br>
          alias cdprojectC="cd /c/Users/user/projects/projectC"<br>
          # done<br>
          <br>
          Next: Study & use the git control files: .gitignore and
          .ignore.<br>
          <br>
          And yes! At this time, I prefer to use git from the command
          line window.<br>
          Using the git gui will come later.<br>
          <br>
          JohnJ<br>
          <br>
          <br>
          _______________________________________________<br>
          kwlug-disc mailing list<br>
          <a href="mailto:kwlug-disc@kwlug.org" target="_blank"
            moz-do-not-send="true">kwlug-disc@kwlug.org</a><br>
          <a
            href="http://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
kwlug-disc mailing list
<a class="moz-txt-link-abbreviated" href="mailto:kwlug-disc@kwlug.org">kwlug-disc@kwlug.org</a>
<a class="moz-txt-link-freetext" href="http://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org">http://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>