How we use Git

classic Classic list List threaded Threaded
36 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Randall S. Becker
>On November 3, 2014 10:52 AM  Gervase Markham wrote:
>On 03/11/14 15:39, Mark Côté wrote:
>> A very good point.  I'm up for removing bugzilla-stable.  And in
> keeping with the other thread, we should probably name these "release-X.X-stable".
>Well, release-4.4.6 would be a tag, but release-4.4-stable would be a branch. And yet they feel like similar things. Is that a problem, or not?

The git implication is that the release-X.X-stable branch is where development/fixes would be done in an accumulating fashion. The tag release-4.4.6 could also be used to create a fix branch in an emergency from that tag, but I do not think that follows the Bugzilla fix approach.

>> or just
>>
>> git clone --branch bugzilla-4.2-stable
>> http://git.mozilla.org/bugzilla/bugzilla.git

>Yes, indeed :-)

This would be the way to get the 4.2 fix branch. In the ideal git world, contributors should create their own branch off this one, make their changes on their branch, push, and then approvers would merge the changes onto the 4.2-stable branch and create a release-4.2.1 tag when the fix release goes out. In another ideal world, the changes on the contributor's branch could then be merged into the 4.4-stable branch, if the fix applies there also.

It might be helpful to establish standards for naming those branches. In my git-infused organization, each bug has its own branch (and each developer on that bug has a separate branch, with one developer "owning" the merges). Typically, it is "task-nnnnn-initials" for us, with "task-nnnnn" being the root branch off the release or development branch.

I might be stating the obvious ;-)

-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Gervase Markham
In reply to this post by Gervase Markham
Hi Randall,

I think there's a wire crossed here. We are looking for the git commands
for administrators to use to obtain a copy of Bugzilla for their server,
and perhaps upgrade it. Developers would use different commands.

On 03/11/14 16:25, Randall S. Becker wrote:
> The git implication is that the release-X.X-stable branch is where
> development/fixes would be done in an accumulating fashion.

No - that's the branch simply called "X.X". The release-X.X-stable
branch would stick at the point where the last release was made, and
then jump forward to the next release point all in one go. This would
mean that people tracking it would have the exact code which went into
one of our point releases, rather than some hybrid in between.

So developers would use the "X.X" branch, and admins would use the
"release-X.X-stable" branch.

Gerv
_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Randall S. Becker
Sorry about the confusion. The title, you know.

Otherwise, makes sense, Gerv. I don't know that there is a good reason to
have a Tag in that case. Your -stable branch appears to do what is needed
for it, and the Tag is a bit redundant.

-----Original Message-----
From: [hidden email] [mailto:[hidden email]]
On Behalf Of Gervase Markham
Sent: November 3, 2014 11:44 AM
To: [hidden email]
Subject: Re: How we use Git

Hi Randall,

I think there's a wire crossed here. We are looking for the git commands for
administrators to use to obtain a copy of Bugzilla for their server, and
perhaps upgrade it. Developers would use different commands.

On 03/11/14 16:25, Randall S. Becker wrote:
> The git implication is that the release-X.X-stable branch is where
> development/fixes would be done in an accumulating fashion.

No - that's the branch simply called "X.X". The release-X.X-stable branch
would stick at the point where the last release was made, and then jump
forward to the next release point all in one go. This would mean that people
tracking it would have the exact code which went into one of our point
releases, rather than some hybrid in between.

So developers would use the "X.X" branch, and admins would use the
"release-X.X-stable" branch.

Gerv
_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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@...>

-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Mark Côté
In reply to this post by Gervase Markham
Well, I think it's still a good idea to tag when releases are made.

Anyway, if we're all in agreement, I can go back and add release-X.Y[.Z]
and release-X.Y-stable tags and delete the bugzilla-stable tag (the
latter being the last push -f we'll hopefully ever need).

Mark


On 2014-11-03 11:51 AM, Randall S. Becker wrote:

> Sorry about the confusion. The title, you know.
>
> Otherwise, makes sense, Gerv. I don't know that there is a good reason to
> have a Tag in that case. Your -stable branch appears to do what is needed
> for it, and the Tag is a bit redundant.
>
> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]]
> On Behalf Of Gervase Markham
> Sent: November 3, 2014 11:44 AM
> To: [hidden email]
> Subject: Re: How we use Git
>
> Hi Randall,
>
> I think there's a wire crossed here. We are looking for the git commands for
> administrators to use to obtain a copy of Bugzilla for their server, and
> perhaps upgrade it. Developers would use different commands.
>
> On 03/11/14 16:25, Randall S. Becker wrote:
>> The git implication is that the release-X.X-stable branch is where
>> development/fixes would be done in an accumulating fashion.
>
> No - that's the branch simply called "X.X". The release-X.X-stable branch
> would stick at the point where the last release was made, and then jump
> forward to the next release point all in one go. This would mean that people
> tracking it would have the exact code which went into one of our point
> releases, rather than some hybrid in between.
>
> So developers would use the "X.X" branch, and admins would use the
> "release-X.X-stable" branch.
>
> Gerv
> _______________________________________________
> dev-apps-bugzilla mailing list
> [hidden email]
> 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@...>
>
> -
> To view or change your list settings, click here:
> <http://bugzilla.org/cgi-bin/mj_wwwusr?user=dev-apps-bugzilla@...>
>

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Mark Côté
Let me just summarize what we decided:

* We will stop using the tag "bugzilla-X.Y[.Z]" to indicate releases;
instead, we'll use "release-X.Y[.Z]".  We'll keep existing tags of the
former format, but we'll add the new-style tags to them as well, and
only use the new style going forward.

* We will create a lightweight branch off of each release branch named
"release-X.Y-stable", the HEAD of which will always point to the last
release-X.Y[.Z] tag of the X.Y branch, and which will never diverge from
the release branch (i.e. the HEAD of release-X.Y-stable will always
point to a commit somewhere in the X.Y branch and will only be
fast-forwarded when new releases are created).  Are we okay doing this
to supported branches (4.0, 4.2, 4.4) only?

* We will delete bugzilla-stable and stop using it.

Mark

On 2014-11-03 11:58 AM, Mark Côté wrote:

> Well, I think it's still a good idea to tag when releases are made.
>
> Anyway, if we're all in agreement, I can go back and add release-X.Y[.Z]
> and release-X.Y-stable tags and delete the bugzilla-stable tag (the
> latter being the last push -f we'll hopefully ever need).
>
> Mark
>
>
> On 2014-11-03 11:51 AM, Randall S. Becker wrote:
>> Sorry about the confusion. The title, you know.
>>
>> Otherwise, makes sense, Gerv. I don't know that there is a good reason to
>> have a Tag in that case. Your -stable branch appears to do what is needed
>> for it, and the Tag is a bit redundant.
>>
>> -----Original Message-----
>> From: [hidden email] [mailto:[hidden email]]
>> On Behalf Of Gervase Markham
>> Sent: November 3, 2014 11:44 AM
>> To: [hidden email]
>> Subject: Re: How we use Git
>>
>> Hi Randall,
>>
>> I think there's a wire crossed here. We are looking for the git commands for
>> administrators to use to obtain a copy of Bugzilla for their server, and
>> perhaps upgrade it. Developers would use different commands.
>>
>> On 03/11/14 16:25, Randall S. Becker wrote:
>>> The git implication is that the release-X.X-stable branch is where
>>> development/fixes would be done in an accumulating fashion.
>>
>> No - that's the branch simply called "X.X". The release-X.X-stable branch
>> would stick at the point where the last release was made, and then jump
>> forward to the next release point all in one go. This would mean that people
>> tracking it would have the exact code which went into one of our point
>> releases, rather than some hybrid in between.
>>
>> So developers would use the "X.X" branch, and admins would use the
>> "release-X.X-stable" branch.
>>
>> Gerv
>> _______________________________________________
>> dev-apps-bugzilla mailing list
>> [hidden email]
>> 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@...>
>>
>> -
>> To view or change your list settings, click here:
>> <http://bugzilla.org/cgi-bin/mj_wwwusr?user=dev-apps-bugzilla@...>
>>
>

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Gervase Markham
In reply to this post by Mark Côté
On 03/11/14 16:58, Mark Côté wrote:
> Anyway, if we're all in agreement, I can go back and add release-X.Y[.Z]
> and release-X.Y-stable tags and delete the bugzilla-stable tag (the
> latter being the last push -f we'll hopefully ever need).

I'd like to hear from dkl as release manager first.

So here's a summary of the plan:

1) Add "release-X.Y[.Z]" tags for every bugzilla-X.Y[.Z] tag back to the
beginning of time

2) Add a bugzilla-X.Y-stable branch for all supported releases (4.0,
4.2, 4.4) pointing at the same place as the most recent release tag

3) Delete the bugzilla-stable tag

4) Update the release process documentation:
   * Change the name of the tag to be created at the release point
   * Add "Create or update the release-X.Y-stable branch" as a step
   * Remove anything about updating the bugzilla-stable tag

5) Update the new docs to use the simple git commands outlined up-thread

Gerv

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=$MSGRCPT>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Gervase Markham
On 03/11/14 17:05, Gervase Markham wrote:
> So here's a summary of the plan:

Wow, great minds :-)

Gerv

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Frédéric Buclin
In reply to this post by Mark Côté
Le 03. 11. 14 18:04, Mark Côté a écrit :
> * We will stop using the tag "bugzilla-X.Y[.Z]" to indicate releases;
> instead, we'll use "release-X.Y[.Z]".  We'll keep existing tags of the
> former format, but we'll add the new-style tags to them as well, and
> only use the new style going forward.

I hope you are only talking about git and are not going to mess with bzr
tags. bzr should still use the current format for tags.


LpSolit

-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Frédéric Buclin
In reply to this post by Gervase Markham
Le 03. 11. 14 18:05, Gervase Markham a écrit :
> 1) Add "release-X.Y[.Z]" tags for every bugzilla-X.Y[.Z] tag back to the
> beginning of time

I don't see the point to go "back to the beginning of time", really.
It's just a waste of time for something that is totally useless. Unless
you plan to download Bugzilla 2.12 to play with it?

LpSolit

-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Mark Côté
In reply to this post by Gervase Markham
On 2014-11-03 2:11 PM, Frédéric Buclin wrote:
> Le 03. 11. 14 18:05, Gervase Markham a écrit :
>> 1) Add "release-X.Y[.Z]" tags for every bugzilla-X.Y[.Z] tag back to the
>> beginning of time
>
> I don't see the point to go "back to the beginning of time", really.
> It's just a waste of time for something that is totally useless. Unless
> you plan to download Bugzilla 2.12 to play with it?

I'll be writing a script to do this, so it's actually easier to do them all.

Mark



_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=$MSGRCPT>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Gervase Markham
On 03/11/14 20:31, Mark Côté wrote:
> I'll be writing a script to do this, so it's actually easier to do them all.

Mark: is this on your plate to do? Do you need a bug filed?

dkl: as release manager, any objections? Last chance :-)

Gerv

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=$MSGRCPT>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Dave Lawrence
In reply to this post by Gervase Markham
Sorry so late to the discussion. This got lost in my inbox unfortunately.

On 11/03/2014 12:05 PM, Gervase Markham wrote:

> On 03/11/14 16:58, Mark Côté wrote:
>> Anyway, if we're all in agreement, I can go back and add release-X.Y[.Z]
>> and release-X.Y-stable tags and delete the bugzilla-stable tag (the
>> latter being the last push -f we'll hopefully ever need).
>
> I'd like to hear from dkl as release manager first.
>
> So here's a summary of the plan:
>
> 1) Add "release-X.Y[.Z]" tags for every bugzilla-X.Y[.Z] tag back to the
> beginning of time

This is fine. I will just have to remember that for BZR we would still
use bugzilla-X.Y[.Z]. Would love to switch there as well but as
LpSolit mentioned, it would break legacy scripts for users most likely.
With Git it is new enough for us we can make those types of changes early on.

> 2) Add a bugzilla-X.Y-stable branch for all supported releases (4.0,
> 4.2, 4.4) pointing at the same place as the most recent release tag

Fine. But would we call this release-X.Y-stable in line with the new tag
naming? I will have to get with Mark on how this would work command wise.
For example, when the bugzilla-4.4-stable branch is created, no commits
are made to it ever. So when we release the next minor version of 4.4, then
we delete the old bugzilla-4.4-stable branch completely and create the new
one in the new location. Is that basically it?

> 3) Delete the bugzilla-stable tag

Also fine.

> 4) Update the release process documentation:
>    * Change the name of the tag to be created at the release point
>    * Add "Create or update the release-X.Y-stable branch" as a step
>    * Remove anything about updating the bugzilla-stable tag

I will do that once I figure out the command sequence.

> 5) Update the new docs to use the simple git commands outlined up-thread

Sounds good.

dkl

--
David Lawrence
[hidden email]
-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Gervase Markham
In reply to this post by Gervase Markham
On 12/11/14 14:48, David Lawrence wrote:
>> 2) Add a bugzilla-X.Y-stable branch for all supported releases (4.0,
>> 4.2, 4.4) pointing at the same place as the most recent release tag
>
> Fine. But would we call this release-X.Y-stable in line with the new tag
> naming?

I think not, because they are branches, not tags, and so they "move".
But see below - I think there's a misunderstanding here.

> I will have to get with Mark on how this would work command wise.
> For example, when the bugzilla-4.4-stable branch is created, no commits
> are made to it ever. So when we release the next minor version of 4.4, then
> we delete the old bugzilla-4.4-stable branch completely and create the new
> one in the new location. Is that basically it?

No. You would merge the "4.4" branch to the "bugzilla-4.4-stable"
branch. This would always be a fast-forward merge because the
"bugzilla-4.4-stable" branch would never have independent checkins, it
would just accept merges from 4.4.

The commands would be:

<finalise 4.4.XX release on branch "4.4">
git checkout bugzilla-4.4-stable
git merge 4.4
git commit

(I believe.)

Then, people could update to "bugzilla-4.4-stable" and always get
exactly the latest stable release. Whereas "4.4" bumbles along one
commit at a time, "bugzilla-4.4-stable" jumps along from release to release.

Does it now make more sense why it's called "bugzilla-4.4-stable" rather
than "release-4.4-stable"? Calling it "release-" sort of suggests it's a
particular release and won't change. But that's not what happens.

Gerv
_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Randall S. Becker
On: November 12, 2014 10:02 AM Gervase Markham wrote:
>> I will have to get with Mark on how this would work command wise.
>> For example, when the bugzilla-4.4-stable branch is created, no commits
>> are made to it ever. So when we release the next minor version of 4.4,
then
>> we delete the old bugzilla-4.4-stable branch completely and create the
new
>> one in the new location. Is that basically it?

>No. You would merge the "4.4" branch to the "bugzilla-4.4-stable"
>branch. This would always be a fast-forward merge because the
>"bugzilla-4.4-stable" branch would never have independent checkins, it
>would just accept merges from 4.4.

This does make sense from a git standpoint. Naming something "release-X"
when it moves ends up being pretty counterintuitive. Having a well-known
integration branch is a very common approach.

>git checkout bugzilla-4.4-stable
>git merge 4.4
>git commit

There will be a push upstream, also, to publicize. The commit is generally
local and I would not suggest ever doing a merge/commit directly on the
repository. I mean "ever". If anything goes wrong, you want the opportunity
to fix it.

-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Gervase Markham
In reply to this post by Gervase Markham
On 12/11/14 23:18, Randall S. Becker wrote:
> This does make sense from a git standpoint. Naming something "release-X"
> when it moves ends up being pretty counterintuitive. Having a well-known
> integration branch is a very common approach.
>
>> git checkout bugzilla-4.4-stable
>> git merge 4.4
>> git commit
>
> There will be a push upstream, also, to publicize.

Yes, of course. :-)

Gerv

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: How we use Git

Mark Côté
In reply to this post by Gervase Markham
On 2014-11-12 8:23 AM, Gervase Markham wrote:
> On 03/11/14 20:31, Mark Côté wrote:
>> I'll be writing a script to do this, so it's actually easier to do them all.
>
> Mark: is this on your plate to do? Do you need a bug filed?
>
> dkl: as release manager, any objections? Last chance :-)
>
> Gerv

Yes, sorry for the delay.  I filed bug 1099284 with all the steps; I'll
get to it soon.

Mark
_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
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=$MSGRCPT>
12