[Bioc-devel] Please bump version number when committing changes

Michael Lawrence lawrence.michael at gene.com
Sat Sep 6 03:48:06 CEST 2014


As Pete and Ryan have pointed out, it seems that the version control system
should somehow ease the burden of the developer here.

Let's look at this from the github perspective, since it is likely to be
the primary hosting mechanism for the foreseeable future. Just thinking out
loud, if R could somehow dynamically ascertain the version of a package at
build time, it could query the git checkout for a version. A simple
algorithm that I have found effective in non-R projects is to consider git
tags, which on github equate to releases. If the repository state is *at*
the tag, then use the tag as the version. If the state is ahead of the most
recent tag, then use the tag + latest commit hash. I wonder if R could
support this by allowing a path to an R script in the version field?



On Fri, Sep 5, 2014 at 6:27 PM, Vincent Carey <stvjc at channing.harvard.edu>
wrote:

> On Fri, Sep 5, 2014 at 7:50 PM, Peter Haverty <haverty.peter at gene.com>
> wrote:
>
> > Hi all,
> >
> > I respectfully disagree.  One should certainly check in each discrete
> unit
> > of work.  These will often not result in something that is ready to be
> used
> > by someone else.  Bumping the version number constitutes a new release
> and
> > carries the implicit promise that the package works again.  This is why
> >
>
> Here I would respectfully disagree.  Code in the devel branch carries no
> guarantees.
> I think we have been pretty loose with respect to package version number
> bumping in devel
> branch; the svn tracking can be used to deal with isolation of code for
> rollbacks.
>
> In this informal regime the package version number is a simple marker of
> package state.
> I think it has served us pretty well in past years but the developer
> community was smaller
> and had fairly homogeneous habits.
>
> Clearly there is room for more regimentation in this area but at the moment
> I agree with
> Dan that version numbers are cheap and should be bumped when new code is
> committed.
> And the recognition by all that a devel image may not work and may change
> fairly dramatically
> while in devel should be general; whether we need to alter that is open to
> question but I would
> think not.
>
>
> > continuous integration systems do a build when the version number
> changes.
> >
> > One should expect working software when installing a pre-build package
> (the
> > tests passed, right?).  Checking out from SVN is for developers of that
> > package and nothing should be assumed about the current state of the
> code.
> >
> > To keep everyone happy, one could add a commit hook to our SVN setup that
> > would add the SVN revision number to the version string.  This would be
> for
> > dev only and hopefully not sufficient to trigger a build.
> >
> > That's my two cents.  Happy weekend all.
> >
> > Regards,
> >
> >
> >
> > Pete
> >
> > ____________________
> > Peter M. Haverty, Ph.D.
> > Genentech, Inc.
> > phaverty at gene.com
> >
> >
> > On Fri, Sep 5, 2014 at 4:30 PM, Dan Tenenbaum <dtenenba at fhcrc.org>
> wrote:
> >
> > >
> > >
> > > ----- Original Message -----
> > > > From: "Stephanie M. Gogarten" <sdmorris at u.washington.edu>
> > > > To: "Dan Tenenbaum" <dtenenba at fhcrc.org>, "bioc-devel" <
> > > bioc-devel at r-project.org>
> > > > Sent: Friday, September 5, 2014 4:27:13 PM
> > > > Subject: Re: [Bioc-devel] Please bump version number when committing
> > > changes
> > > >
> > > > I am guilty of doing this today, but I have (I think) a good reason.
> > > > I'm making a bunch of changes that are all related to each other, but
> > > > are being implemented and tested in stages.  I'd like to use svn to
> > > > commit when I've made a set of changes that works, so I can roll back
> > > > if
> > > > I break something in the next step, but I'd like the users to see
> > > > them
> > > > all at once as a single version update.  Perhaps others are doing
> > > > something similar?
> > > >
> > >
> > > I understand the motivation but this still results in an ambiguous
> state
> > > if two different people check out your package from svn at different
> > times
> > > today (before and after your changes).
> > >
> > > Version numbers are cheap, so if version 1.2.3 exists for a day before
> > > version 1.2.4 (which contains all the changes you want to push to your
> > > users) then that's ok, IMO.
> > >
> > > Including a version bump doesn't impact whether or not you can
> rollback a
> > > commit with svn.
> > >
> > > Dan
> > >
> > >
> > >
> > > > Stephanie
> > > >
> > > > On 9/4/14, 12:04 PM, Dan Tenenbaum wrote:
> > > > > Hello,
> > > > >
> > > > > Looking through our svn logs, I see that there are many commits
> > > > > that are not accompanied by version bumps.
> > > > > All svn commits (or, if you are using the git-svn bridge, every
> > > > > group of commits included in a push) should include a version bump
> > > > > (that is, incrementing the "z" segment of the x.y.z version
> > > > > number). This practice is documented at
> > > > > http://www.bioconductor.org/developers/how-to/version-numbering/ .
> > > > >
> > > > > Failure to bump the version has two consequences:
> > > > >
> > > > > 1) Your changes will not propagate to our package repository or web
> > > > > site, so users installing your package via biocLite() will not
> > > > > receive the latest changes unless you bump the version.
> > > > >
> > > > > 2) Users *can* always get the current files of your package using
> > > > > Subversion, but if you've made changes without bumping the version
> > > > > number, it can be difficult to troubleshoot problems. If two
> > > > > people are looking at what appears to be the same version of a
> > > > > package, but it's behaving differently, it can be really
> > > > > frustrating to realize that the packages actually differ (but not
> > > > > by version number).
> > > > >
> > > > > So if you're not already, please get in the habit of bumping the
> > > > > version number with each set of changes you commit.
> > > > >
> > > > > Let us know on bioc-devel if you have any questions about this.
> > > > >
> > > > > Thanks,
> > > > > Dan
> > > > >
> > > > > _______________________________________________
> > > > > Bioc-devel at r-project.org mailing list
> > > > > https://stat.ethz.ch/mailman/listinfo/bioc-devel
> > > > >
> > > >
> > >
> > > _______________________________________________
> > > Bioc-devel at r-project.org mailing list
> > > https://stat.ethz.ch/mailman/listinfo/bioc-devel
> > >
> >
> >         [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > Bioc-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list