All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Garvin <yoyodyn@gmail.com>
To: git@vger.kernel.org
Subject: Re: Suggested Workflow Question
Date: Fri, 17 Apr 2009 21:11:24 +0000 (UTC)	[thread overview]
Message-ID: <loom.20090417T205632-412@post.gmane.org> (raw)
In-Reply-To: 200903181452.53497.robin.rosenberg.lists@dewire.com

Robin Rosenberg <robin.rosenberg.lists <at> dewire.com> writes:

> Don't forget the option of mailing bundles (man git-bundle). Those will give
the effect of push/fetch via
> e-mail. I.e. the exact same commit SHA's get replicated, That may be relevant
for the branches that
> contain your released/official test code.

After trying this out for a little while I and projecting some into the future I
think I am going to have a problem that I am not sure if it really is a problem,
or if Git will "take care of it".  Let me give you a simplistic commit history
to illustrate my point.  In its most basic form you have three branches; dev,
test, prod.  In a perfect world all the development happens on dev, then updates
are pushed to test, and finally after tests pass are pushed out to prod.  So at
a point in time you have something like this:

(P)<--(T)<--(D)

Since I would think (and maybe this is my problem) that ideally Prod is a direct
descendant of Test and Test is a direct descendant of Dev.  However we don't
live in a perfect world, so changes get made on Test that aren't in production
yet, and also in an emergency directly on the Prod branch.  Eventually those
changes get migrated back either through a merge or a rebase (rebase would be
bad since there would be multiple developers using these repos.)  Obviously
making a change to Prod and then merging back to Test, and then merging back to
Dev creates a lot of extra commits.

 (P)<---(T)<----(D)
  ^      ^       ^
   \      \      \
  (P')<--(T')<--(D')

Things get even more complicated when the customer decides to only push certain
features into Prod from test, it looks like cherry pick would be ideal for this
and make it much easier for us.

Is trying to maintain a direct ancestral relationship between Prod, Test, and
Dev worth it?  Am I crazy for even trying to?  I am still a pretty green git
user so it might not be worth it.  But it does seem to me that merges might be
easier and faster if the common ancestor between two commits is closer rather
than farther away in the commit history.

Thanks again for your help.

      reply	other threads:[~2009-04-17 21:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-17 17:51 Suggested Workflow Question Roger Garvin
2009-03-18  1:27 ` Marcel M. Cary
2009-03-18  3:54   ` Marcel M. Cary
2009-03-18  4:41   ` Martin Langhoff
2009-03-18 13:00     ` Roger Garvin
2009-03-18 13:52       ` Robin Rosenberg
2009-04-17 21:11         ` Roger Garvin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=loom.20090417T205632-412@post.gmane.org \
    --to=yoyodyn@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.