In Debian packaging, a version number looks like: x:y~z, where x is called the epoch. According to the Debian policy:It is provided to allow mistakes in the version numbers of older versions of a package, and also a package's previous version numbering schemes, to be left behind.While looking at the Debian packages of Vim, I noticed that they used an epoch number as well. What was surprising is that the epoch number was 2, indicating that it had changed twice. What happened during these changes? Were they a purely Debian change, not related to an upstream one?
Did Vim ever use a different versioning scheme?
history of;version
Yes, they were both caused by changes to the packaging and unrelated to Vim itself.The first epoch bump (since all packages without an explicit epoch have an implicit 0 epoch) was introduced when the versioning of the package changed from x.y.patch-debrev to x.y-patch+debrev (i.e., 6.1.263-2 to 6.1-266+1).  The latter sorts earlier than the former, so the epoch was needed.The second epoch bump was introduced due to another change in how the packages were versioned.  This time it was related to versioning of pre-releases for major Vim releases.  Initially they were being versioned as x.y.patch~snapshot-debrev but then it changed to x.ysnapshot.patch-debrev (1:7.2.0~a-1 to 2:7.2b.001-1).