title: .Net AssemblyName.version Build versus Revision
body: <p>The MSDN documentation states:</p>
  
  <blockquote>
    <p>Version numbers consist of two to four
    components: major, minor, build, and
    revision. The major and minor
    components are required; the build and
    revision components are optional, but
    the build component is required if the
    revision component is defined. All
    defined components must be integers
    greater than or equal to 0.</p>
    
    <p>The format of the version number is as
    follows (optional components are shown
    in square brackets ([ and ]):
    major.minor[.build[.revision]]  The
    components are used by convention as
    follows:</p>
    
    <ul>
    <li><p>Major: Assemblies with the same name
    but different major versions are not
    interchangeable. A higher version
    number might indicate a major rewrite
    of a product where backward
    compatibility cannot be assumed.</p></li>
    <li><p>Minor: If the name and major
    version number on two assemblies are
    the same, but the minor version number
    is different, this indicates
    significant enhancement with the
    intention of backward compatibility.
    This higher minor version number might
    indicate a point release of a product
    or a fully backward-compatible new
    version of a product.</p></li>
    <li><p>Build: A difference in build number
    represents a recompilation of the same
    source. Different build numbers might
    be used when the processor, platform,
    or compiler changes.</p></li>
    <li><p>Revision: Assemblies with the same
    name, major, and minor version numbers
    but different revisions are intended
    to be fully interchangeable. A higher
    revision number might be used in a
    build that fixes a security hole in a
    previously released assembly.</p></li>
    </ul>
    
    <p>Subsequent versions of an assembly
    that differ only by build or revision
    numbers are considered to be Hotfix
    updates of the prior version.</p>
  </blockquote>
  
  <p>My question is concerning the <em>meaning</em> of the terms Build and Revision in this context.</p>
  
  <p>It seems to me that in general parlance, we do "builds" when there are changes in the source.  Thus "build 678" and "build 679" are different <em>precisely</em> because the sources are different in some way - typically as a result of a checkin of some changed source.  It seems to me that the .NET definition uses "Revision" in the way one generally uses "build".</p>
  
  <p>Does anybody USE the definition above in their versioning?  If so can you give concrete examples of WHY you did?</p>