emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Achim Gratz <Stromeko@nexgo.de>
To: emacs-orgmode@gnu.org
Subject: Re: [DEV] New git workflow
Date: Tue, 20 Mar 2012 20:20:13 +0100	[thread overview]
Message-ID: <87haxjkrki.fsf@Rainer.invalid> (raw)
In-Reply-To: <87ehsnr1w7.fsf@gnu.org>

Bastien <bzg@gnu.org> writes:
> Agreed.  What I want on top of this is a to have a branch where *every*
> commit corresponds to a single release.

Fair enough: a three-branch model with a release branch at the side of
bugfixing and bleeding edge.

> No.  All hotfix branches should merge into master regularily.  When
> hotfix contains enough fixes for a bugfix release, then we merge it to
> maint, and process with release.

This is what I think is confusing: the bugfix branch (be it maint or any
other) should always have the same _unless_ you want to track release
specific bugfixes (which I don't think you do, but you tell me).  If it
changes name at every release, that just begs for a mix-up to happen
when you are preparing for release and someone else tries to do one more
fix.

> My main goal is this: have a branch with one commit = one release.

Why not name it release then and keep maint for fixes?  You could even
install that release branch retro-actively if you want.  BTW, this also
means you need to prepare the release on the hotfix branch, no
fier-upper on the release allowed at all (since you would need to merge
that back).

But as I said before, clone the repo, branch off the 7.7 release or so
and re-trace the following releases via cherry-pick according to that
new development model.  You will quickly learn if what you have to do
feels right and if you commit to that model you will have practised the
moves a few times already.

Another thing that I'd recommend is to not work on the public repo _at
all_ and specifically never push to it, especially not automatically.
The public repo should be "bare" (without a work tree) and any work on
the server should use a clone of that repo, just like anyone else.  If
you prepare the releases on a fresh clone apart from the development
clone, you have a stable base to work from and can nuke with no
consequences if something goes wrong.  Git was designed to make merges
easier, but they are hard and I still botch about every tenth that I try
unless they are really trivial.  Once the release repo is finished, have
it reviewed and then pull from it on the public repo.  The reason is
that it is easy to push from the wrong branch onto the wrong target, but
you really have to try to do that when pulling.  You can be more liberal
with the normal development and bugfixing work on the development repo,
but it would still be a good idea to have commits reviewed and signed
off by another person before they are pulled into public.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

  reply	other threads:[~2012-03-20 19:21 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-20  0:51 Bastien
2012-03-20  7:03 ` Achim Gratz
2012-03-20  7:24   ` Achim Gratz
2012-03-20 10:40   ` Bastien
2012-03-20 19:20     ` Achim Gratz [this message]
2012-03-21  0:02       ` Bastien
2012-03-21  0:23         ` Bastien
2012-03-20 10:47   ` Bastien
2012-03-20 22:35 ` Simon Thum
2012-03-20 22:27   ` Achim Gratz
2012-03-21  8:46     ` Simon Thum
2012-03-21  9:01       ` Achim Gratz
2012-03-21 22:38         ` Simon Thum
2012-03-24 11:05   ` Daniel Dehennin
2012-03-24 20:08     ` Simon Thum
2012-03-24 19:29       ` Nick Dokos
2012-04-01  9:26         ` Simon Thum

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

  List information: https://www.orgmode.org/

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

  git send-email \
    --in-reply-to=87haxjkrki.fsf@Rainer.invalid \
    --to=stromeko@nexgo.de \
    --cc=emacs-orgmode@gnu.org \
    --subject='Re: [DEV] New git workflow' \
    /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

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).