From: "Randall S. Becker" <rsbecker@nexbridge.com>
To: "'Mayne, Joe'" <JMayne@LSAC.org>, <git@vger.kernel.org>
Subject: RE: Git Branching - Best Practices - Large project - long running branches
Date: Fri, 31 Mar 2017 09:21:59 -0400 [thread overview]
Message-ID: <001801d2aa21$ca45cb20$5ed16160$@nexbridge.com> (raw)
In-Reply-To: <4bb4871d8a78402bbef91231134a613b@EX1-PRD.lsac.org>
-----Original Message-----
>On March 31, 2017 7:56 AM: Joe Mayne Wrote:
>Subject: Git Branching - Best Practices - Large project - long running
branches
>I work on a team of 15+ developers. We are trying to determine best
practices for branching
>because we have had code stepped on when a developer has a long running
feature branch.
>We have a Development branch. Developers are instructed to create a branch
when they begin
>working on a feature. Sometimes a feature may take a week or two to
complete. So a Developer1
>creates a branch and works for a >week or two. In the meantime, other
developers have created
>feature branches from Development and merged them back into Development.
>At this point we are not certain if Developer1 should:
>* Periodically merge the evolving Origin/Development into their Feature
branch and when they
>are done work merge their feature branch into Origin/Development.
>OR
>* Stay on their pure feature branch and when they are done merge into
Origin/Development.
>We have had issues with developers stepping on code when they have long
running branches.
>We are looking for a best practices.
One key thing that may help is standards on formatting. I know that sounds
silly, but many merge
issues result from developers hitting the source format button and create
merge problems. If you
keep things to format standards, it will help merging in future. Even
lengthening lines to 132 instead
of 80 may reduce confusion - another silly suggestion, but I have seen it
help in a couple of places.
Keep your interface classes and base classes stable. If you are changing
those during development,
you are going to impact the larger world and probably should set up a
dedicated feature branch
off of Development and have all topic branches involved in the API change
branch off that one.
Frequent merges into topic branches are common when API changes are ongoing
(as are conflicts)
- they should not be as much when the APIs are stable. If you can, get the
API changes done first,
then create topic branches after the API is stable.
From what I have seen, frequent conflicts are sometimes an indication of an
underlying
development process problem - you should look into this and see whether
there are issues here.
Conflicts happen, but the "why" is important to understand.
Cheers,
Randall
prev parent reply other threads:[~2017-03-31 13:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-31 11:55 Git Branching - Best Practices - Large project - long running branches Mayne, Joe
2017-03-31 13:02 ` Jakub Narębski
2017-03-31 13:21 ` Randall S. Becker [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='001801d2aa21$ca45cb20$5ed16160$@nexbridge.com' \
--to=rsbecker@nexbridge.com \
--cc=JMayne@LSAC.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).