Ovyron wrote:I support the date idea!
Carey wrote:For most cases, I think a simple major.minor works fine. Especially when the minor number isn't limited to just a single digit.
What I dislike is when they mark a minor update 10 with the number 10, because in math: 1.1 = 1.10, so the versions:
1.0 - 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 - 1.7 - 1.8 - 1.9 - 1.10
Looks confusing (as if after 1.9 you go back to 1.1, because 1.10 looks a lot like 1.1.0)
So, I suggest to just avoid that. (You could go to letters, like 1.A, or 1.9a or something like that.)
But version numbering isn't math. There is absolutely no reason to think a version number couldn't have .10
You (and many others) dislike it simply becuase you expect the minor number to have only a single digit. You expect it to be math.
Which is a valid reason not to use, of course. If you don't like it (for any reason), then that is certainly a good reason.
You could change the decimal point to 'r'. That way you could have 9r15 instead of 9.15
I guess this whole discussion depends a lot on what he is actually wanting to do. Is this versioning for his internal private use, or for release.
He doesn't have to use the same numbering scheme for both. He can use whatever is most convenient or comfortable for each.
For internal use, a simple incrementing number would be okay.
As would doing several subminor numbers.
Using CVS or SVN/Subversion numbering schemes would also be a reasonable idea. In fact, if you do that kind of source control, you don't really need a seperate versioning number system to tack onto your builds.
Using something like 'TortiseSVN (for windows) works pretty easy and is a nice way to keep track of all your source code. It's really nice to have all your source in one place, along with comments about what is different about this version, or why you decided to rejeect the most recent build and go back to a previous version of the source, and so on.
I've never really been a big fan of CVS or SVN for personal use. I liked the idea, but hated the tools. Things like TortiseSVN make it actually easy enough to use. (There are other tools, of course. It's a matter of personal preference.)
For external use, a date based version number would work quite well. Just the year & month would be convenient, simple, and descriptive. With a subminor number if necessary.