-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify version number in wiki #180
Comments
I believe that it should be "build number", which would indicate the submission to CRAN. For example, if when we submit version |
Commits so you'd have a way (without relying on git log) you determine if
two people are looking at the same code.
…On Wed, Jun 26, 2019, 11:56 AM Gene Leynes ***@***.***> wrote:
The major.minor.patch concept is clear, but what does the part after the
dash indicate?
I believe it's one of these:
- major.minor.patch-commit
- major.minor.patch-buildnumber
It's to me what convention @tomschenkjr <https://github.com/tomschenkjr>
was using. I see some big numbers which would seem like commits, but I know
that the CRAN submission process can be challenging and it could be actual
builds.
Either way, I'd like to make a decision and clarify it in the wiki.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#180?email_source=notifications&email_token=AAMQFUK5LDPPV54BU4JV2HTP4ONS3A5CNFSM4H3UHU5KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G33RKLA>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAMQFUL3MYJN72YLYA2TXPTP4ONS3ANCNFSM4H3UHU5A>
.
|
@geneorama - Documentation for the build iteration process is here |
I didn't see any benefit to this, but one thing that @nicklucius mentioned makes sense: it would be very useful for determining which version is installed if you're looking at A couple of things that I think would make the documentation better are clarifying the following:
Also, in theory shouldn't every commit have a change to the DESCRIPTION file? It would be great to A good example is the last submission to CRAN. We made several changes to the tests and examples and submitted it to CRAN. Then they rejected it because we had a bad URL in the README. When we fixed this should the patch number increment? What about the commitNumber, does that reset? I really like the contributing document in principal, but I'm having a hard time resolving some of these issues, and it's always a problem when it's the last minute with a looming CRAN deadline. Maybe we should be using git hooks to manage all of this. |
Yeah, that's a more succinct and better way of putting it. In RStudio, I've been able to catch that I had a prior build by just looking at the build number.
That's fair. The original documentation on semantic versioning is called build, but I think you're right that it's really tied to the commit. You enumerated a few questions on merge/pull requests and branching. I think it's been tough for contributors to remember to do that, even though we specify it in the CONTRIBUTING documentation. It's a small, easy thing to ignore. In the past, I've simply made the change for them or have occasionally asked them to do it.
I think so. Behind this is the concept that it takes several commits to get to the final version of x.y.z. So, we just need to separate them to know which iteration of x.y.z we're looking at (e.g., x.y.z-1 or x.y.z-2).
I've thought about automating this a few ways, but always seemed to have some issues. I've researched and seen other packages that use a shell script that updates the DESCRIPTION file (but that requires remembering to run the shell script). Ultimately, my thinking was this didn't need to be a perfect exercise and missing it every so often is probably OK. Likewise, I appreciate the deliberation to look at the DESCRIPTION file and think about what version your change should be (e.g., did you make a minor change or just a bug fix?) Nevertheless, always can have improvement in the future. |
@tomschenkjr in the current system, what is your thinking about when the number resets? Is that when there is a successful CRAN submission? Appveyor apparently uses a build number concept, RSocrata is currently at 355 https://ci.appveyor.com/project/cityofchicago/rsocrata I looked into the git hook idea a bit yesterday. Although you can make some things automatic, I wasn't sure how to add it to a project. The hooks are in No matter what, I agree that automation would not solve the "major minor patch" decision. I see two inherent conflicts that are very fundamental. First, the version is something that is ultimately decided after the the commit. Sometimes you might know which version you're working on, but you don't really know until it's merged. Putting the version number in the code is necessary for R packages, so this is just something to manage. Second, there are two sources for what constitutes a version. First, there are the actual things that the code is doing. Second, there is a publication on CRAN. I liked the way we did release candidates in the lead API where we were not on a new version until the new version was accepted. However, I don't think this works well with CRAN where you don't know when something will be accepted. |
After submission to CRAN. CRAN is just publishing one of the commits that we determine was the final version. GitHub contains each one of them. Once we release a version on CRAN, the next version should modify either major.minor.bug version and the commit resets at 1.
Remember that when we'd start new sprints that we'd often say "so this work will be version x.y.z". That was determined based on the work we'd expect to be done in the upcoming sprint. It was also our awareness to understand how dramatic changes would be. So, we would often decide the version number at the beginning of work. Even semantic versioning recognizes that sometimes you have to make changes in their FAQ:
But, perhaps it's valuable to draft changes to the "Making Changes" section of CONTRIBUTING
CRAN is just publishing one commit that we decide is the final version of a new version. Sometimes it's easy so we are done after x.y.z-1, usually it takes several commits so we're not done until x.y.z-20. |
Going though the submission process changed my perspective slightly on this. I would like to suggest that the -n part advances with each submission to CRAN rather with each commit. There can be cases where the same "version" is submitted to CRAN with slight changes to the submission (like if someone builds locally rather than using Travis CI). I think the version number makes sense to track here, but I still don't see how to properly track the -n part with the dev/master/build steps otherwise. |
This makes a lot of sense. |
The
major.minor.patch
concept is clear, but what does the part after the dash indicate?I believe it's one of these:
It's to me what convention @tomschenkjr was using. I see some big numbers which would seem like commits, but I know that the CRAN submission process can be challenging and it could be actual builds.
Either way, I'd like to make a decision and clarify it in the wiki.
The text was updated successfully, but these errors were encountered: