[Xerte-dev] Re: GitHub and Workflows

Tom Reijnders reijnders at tor.nl
Sat Sep 7 11:51:40 BST 2013


In that, I think, git will help us more than SVN was.

For example, for hotfixes, we should REALLY try to refrain ourselves as 
much as possible. But suppose we have a mechanism in place on what 
warrants a hotfix, then we could do it as follows ( suggested by 
http://nvie.com/posts/a-successful-git-branching-model/):

Whenever we identify a bug that needs to go in the latest release:
1. Create a branch of master called hotfix (with a nr, or minor version 
number)
2. Test, merge back into master (set tag on this fix, it will cause git 
describe to give us a good text for version.txt, and it is marked as a 
release in github)
3. merge into develop
4. NO MORE work on the hotfix branch, create a new branch for the next one.

Then when we're ready to release (also as suggested by the same workflow)
1. Create a release branch, say 2.5
2. Test and fix, and once ready merge into master (set tag on this fix, 
it will cause git describe to give us a good text for version .txt, and 
it is marked as a release in github)
3. merge into develop
4. No more work on the release branch, create a new branch for the next one.

The master would be the source of the stable release in the future, so 
from the next release master will be used for the stable release (what 
is now 2.0)
Develop will be the source of the unstable (so it must not be too 
unstable, really new developments take place on feature branches)
When we have an active release branch, there will be an extra zip for 
the release candidate.

The only drawback so far is that if a release has so many new features 
that not anyone is able to move to the new release, we might need to 
maintain a previous release for some time (think of the need to go to 
for example php 5.4, or something similar)

We can solve that by branching of master right before the release branch 
is merged into master and merge hotfixes in there as well (for as long 
as we deem necessary).

So the full workflow will be active after the next release (because 
master currently, is not released). And you could treat the current 2.0 
as a maintenance release now. The merging of hotfixes might be a bit 
more difficult to the maintenance release, but at least it's better than 
copying!







Op 7-9-2013 10:02, Smith, John schreef:
> Morning all,
>
> The way that I see it we should be doing everyday development in the develop branch; I've merged Nikodems changes to Master back into develop (SourceTree wouldn't let me commit to develop while Master was 2 ahead!!). As Julian said in an earlier email, I will either do this directly for a single change or a gitflow branch off of develop for larger changes...
>
> Not really sure how the releases and hotfixes should work though...
>
> I think the thing we have to take most care with (which we didn't always do on Google) was the copying of files between branches/releases. Develop files will often have 'new features' with code that might be unstable. on Google SVN there were a few situations where bugfix changes were being made to the latest revision and then the latest revision file(s) in question were just copied straight over to the v2 branch, introducing any new features into an old release. This is the thing that worries me most, especially if we are having 'Stable' zips built straight from these branches... not really sure yet though how we mitigate this although you can mark chunks in SourceTree and only push those over...
>
> Regards,
>
> John Smith | Learning Technologist
> Room A251, Govan Mbeki Building | School of Health & Life Sciences | Glasgow Caledonian University
> Cowcaddens Road | Glasgow | G4 0BA
> ________________________________________
> From: xerte-dev-bounces at lists.nottingham.ac.uk [xerte-dev-bounces at lists.nottingham.ac.uk] On Behalf Of Julian Tenney [Julian.Tenney at nottingham.ac.uk]
> Sent: 06 September 2013 14:37
> To: For Xerte technical developers
> Subject: [Xerte-dev] Re: GitHub and Workflows
>
> I asked him to commit to 'develop'.
>
> I also wondered about where the unstable build should come from. It's not master, as that would be stable, so it must be develop...?
>
> ________________________________
> From: xerte-dev-bounces at lists.nottingham.ac.uk [xerte-dev-bounces at lists.nottingham.ac.uk] On Behalf Of Tom Reijnders [reijnders at tor.nl]
> Sent: 06 September 2013 14:14
> To: For Xerte technical developers
> Subject: [Xerte-dev] Re: GitHub and Workflows
>
> Hi,
>
> I am in the process of modifying the build scripts to use github in stead of svn.
>
> And I noticed that Nicodem committed to master yesterday, so I've got a question given the workflow mentioned below:
>
> 1. Will we do hotfixes on released branches, i.e. on master and 2.0?
> 2. What shall we put up on the community website? What is the equivalent  to the svn trunk. master or develop, i.e. what is the basis for 'unstable'?
>
> Regards,
>
> Tom
>
> Op 5-9-2013 15:39, Julian Tenney schreef:
> Hi,
>
> I think we’ve got the SVN migrated over to Git Hub with all the history, branches etc, which is great. We need to have some discussion about workflow, and I want to suggest gitflow as a good workflow to adopt. Information can be found here http://nvie.com/posts/a-successful-git-branching-model/ and elsewhere (here: https://www.atlassian.com/git/workflows for example).
>
> I like it for several reasons:
>
>
> -          The ‘master’ branch is always production quality released code
>
> -          Small developments (trivial) can be undertaken directly in ‘develop’
>
> -          Larger developments can be undertaken in braches taken from ‘develop’, and then merged back into develop once complete…
>
> -          …testing of develop can then be undertaken before we make a new release number.
>
> See the information for more details. Does this seem sensible and agreeable to everyone?
>
> There are two other things I’d like us to work towards, again subject to some discussion between us:
>
> Using Tickets for Issues and New Features:
>
> -          Using some ticketing system to record bugs to be fixed, new features to be developed, because we keep losing these;
>
> -          Using those tickets as a way of grouping work into sprints towards a new release;
>
> -          Could be trac, could be github, open to suggestions;
>
> A better means of testing the software rather than the hit and hope method we currently employ:
>
> -          Open to suggestions here?
>
> -          Probably starts with a list of manual tests to work through?
>
> -          Possibly includes automation (Selenium?)
>
> -          UnitTesting probably a very long term goal, might not even be possible?
>
> So my vision would be that we log tickets, we use that list of tickets as a big to-do list; we create a smaller current to-do list from it for the next release; we do the development a la gitflow; changes get pushed to develop and tested; new version released. It sounds good in theory at any rate, it will require a bit more discipline amongst us, but I think the benefits are worth it. I’d very much appreciate your views…
>
> Thanks,
>
> Julian
>
>
>
>
>
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
> _______________________________________________
> Xerte-dev mailing list
> Xerte-dev at lists.nottingham.ac.uk<mailto:Xerte-dev at lists.nottingham.ac.uk>
> http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev
>
>
>
> --
> --
>
> Tom Reijnders
> TOR Informatica
> Chopinlaan 27
> 5242HM Rosmalen
> Tel: 073 5226191
> Fax: 073 5226196
>
>
>
>
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
> Glasgow Caledonian University is a registered Scottish charity, number SC021474
>
> Winner: Times Higher Education’s Widening Participation Initiative of the Year 2009 and Herald Society’s Education Initiative of the Year 2009.
> http://www.gcu.ac.uk/newsevents/news/bycategory/theuniversity/1/name,6219,en.html
>
> Winner: Times Higher Education’s Outstanding Support for Early Career Researchers of the Year 2010, GCU as a lead with Universities Scotland partners.
> http://www.gcu.ac.uk/newsevents/news/bycategory/theuniversity/1/name,15691,en.html
>
> _______________________________________________
> Xerte-dev mailing list
> Xerte-dev at lists.nottingham.ac.uk
> http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev
> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
>
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
>
>
>
>
>

-- 
--

Tom Reijnders
TOR Informatica
Chopinlaan 27
5242HM Rosmalen
Tel: 073 5226191
Fax: 073 5226196

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nottingham.ac.uk/pipermail/xerte-dev/attachments/20130907/53a77009/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dejfjhdi.png
Type: image/png
Size: 233919 bytes
Desc: not available
URL: <http://lists.nottingham.ac.uk/pipermail/xerte-dev/attachments/20130907/53a77009/attachment-0001.png>


More information about the Xerte-dev mailing list