How we use Git

Randall S. Becker rsbecker at nexbridge.com
Fri Oct 31 12:36:39 UTC 2014


Gerv,

I think it might be best to have a separate branch every release, not just
the minors. So you would have a branch for 4.4.6 as well as 4.4. If you end
up with 4.4.6.1, that too would be a branch - although you could get away
with a tag. The decision between branch and tag really comes down to the
granularity of fix releases. If there will be a 4.4.6.1.1, then branching at
4.4.6.1 is needed, otherwise not. Numbered releases are arbitrary in Git,
unlike in anything derived from the RSC paradigm.

Even if you are going to fix 4.4.6 (on some 4_4 branch or 4_4_6) with
patches to create 4.4.7, in Git, you would normally create a branch for the
pre-approved fixes, check things out, modify, commit, test, and once happy,
merge back into your working branch. From there, tag or branch for the
release, as named - but that is really just an arbitrary identifier to Git.

I hope I didn't confuse things more ;)

Cheers,

Randall

-----Original Message-----
From: developers-owner at bugzilla.org [mailto:developers-owner at bugzilla.org]
On Behalf Of Gervase Markham
Sent: October 31, 2014 7:27 AM
To: dev-apps-bugzilla at lists.mozilla.org
Subject: How we use Git

A quick quiz:

Q1: What git commands would I use to obtain an exact copy of 4.4.6 from our
git repo?

Q2: Same question for 4.4.4.

As far as I can see, the only way of doing this currently is to do:

git clone http://git.mozilla.org/bugzilla/bugzilla.git
cd bugzilla
git log
<look for the final 4.4.4 commit>
git checkout <sha1>
<get strange message about "detached HEAD">

Am I wrong?

If I'm not, then this isn't good.

Currently, we have branches for each release, but these contain all fixes
checked on on that branch, so even if you want "the latest 4.4 release", if
you:

git checkout -b 4.4 origin/4.4

(which is already a complex command) then you actually get 4.4.6 plus some
more fixes.

I believe we need metadata in our git repo such that any (recent) released
version can be pulled and run bit-for-bit identical to the release tarball.
I think we also need a pointer (tag?) to "latest stable release" on each
branch which moves when we do a new release. Does that make sense to people?

Gerv
_______________________________________________
dev-apps-bugzilla mailing list
dev-apps-bugzilla at lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-apps-bugzilla
-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=rsbecker@nexbridge.com>




More information about the developers mailing list