On Jul 24, 2012, at 12:27 PM, Rintze Zelle <[email protected]> wrote:
> On Thu, Jul 19, 2012 at 5:40 PM, Sylvester Keil <[email protected]> wrote:
> Another question we should keep in mind whether it may not be easier to work
> on the master branch and have separate release branches? Especially if we may
> want to keep separate versions of styles in the future (i.e., 1.0 branch,
> 1.0.1 branch).
>
> I think nobody objects against having separate branches for the different CSL
> releases. The minimal branch structure would then be: "0.8.1", "1.0", "1.0.1"
> (and so on), "master".
>
> To enable people to subscribe to a CSL branch without having to worry that
> this cloned branch changes version (which would happen in "master" with our
> current setup ), we would need a branch for the current CSL release, in
> addition to branches for older CSL releases.
>
> That arrangement by itself however doesn't solve the problem of preventing
> invalid styles from ending up in the version branches, and we'll likely want
> to be able to accept patches for older CSL versions. I can think of two
> options here:
>
> a) we keep using "master" for accepting CSL styles of the most recent CSL
> version, and allow direct commits and merging of pull requests with invalid
> CSL styles. We also accept pull requests to version branches of older CSL
> releases, but only once Travis CI has checked them. A GitHub service hook can
> be used to check the "master" branch after each commit, and push the commit
> to the most recent CSL version branch if there are no errors (the service
> hook script can either wait for Travis CI or run the tests itself).
>
> b) we keep using "master" for accepting CSL styles of the most recent CSL
> version, but only accept pull requests. We also accept pull requests to
> version branches of older CSL releases. In both cases, we would only merge
> pull requests once Travis CI has checked them. A GitHub service hook can be
> used to automatically push any changes made to "master" to the most recent
> CSL version branch.
>
> The downside of only relying on pull requests is that fixing small errors can
> be cumbersome (you have to download the file(s) by hand via the GitHub web
> interface), because the CSL team members typically won't have commit access
> to the fork of the person making the pull request. In some cases it might be
> easier to accept broken styles and fix them up after merging.
I like the second approach, but in that case, I'm not sure a master branch is
necessary at all. GitHub allows you to rename the master branch and set a
different default branch for a repository. The master branch could also be a
symbolic-ref to the most recent version branch.
You can fix small errors before pushing to the repository if you merge pull
requests the command line way:
git fetch git://github.com/<<USER>>/styles.git
git merge <<COMMIT HASH>>>
# Fix and commit fixes
git push
Simon
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
xbiblio-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbiblio-devel