Hi Stefan, could you please split this up? I started to review but I guess the patch will have gone through some revisions before I'm done reading.
On 21.11.2016 01:19, Stefan Tauner wrote: > - Drop support for Subversion in the getrevision script and Makefile. > - Add .gitignore file > - Restore modification dates of the exported files from the SCM. > - Stop exporting SCM log dumps to CHANGELOG. This makes no sense. > - Do not export the pre-"compiled" manpage. It can be generated like > anything else from the code dump when we export the respective variable. > The latter is added with this change. > - Add some initial client-side git hooks > * When committing check for obvious stuff you never want anyway: > - white space errors > - duplicate sign-offs > * When pushing to the upstream repository check mandatory rules: > - existing signoffs and acks in all new commits > - no deletions or creation of branches > - do not rewrite history of the precious branches, even if forced > - Change version string of flashrom as follows. > Previously, we included the last stable version according to a hard- > coded string in the Makefile and appended the subversion revision number. > > With this patch the version string includes the last reachable git tag, > number of commits since said tag in the upstream branches (if any), > the name of said upstream branch, number of commits since that branch > (if any), and the shortened git hash. > In case there are uncommitted changes a "-dirty" indicator is also added. > The case of unknown versions is explicitly handled in getrevision instead > of simply appending "-unknown" to a hardcoded release number. > > The version information is either taken from an existing git remote > pointing to an upstream repository (or a known mirror), or if that > is not available - with the user's consent - a shadow copy is fetched > from the upstream repo that is updated on every build (usually takes > less than a second). > > In the following some examples of the version string changes are shown. > Basically we print the distance to the last known upstream tag, which > comprises any upstream commits since that tag as well as local commits on > top of that. Additionally we handle upstream's stable and staging branches > specially. > > Old output: > flashrom v0.9.7-r1716 on Linux 3.8.0-6-generic (x86_64) > > New output variants: > > Build of the 0.9.99 release without any changes: > flashrom 0.9.99-e4f6643 on Linux 3.13.0-76-generic (x86_64) Well, that's redundant. Why doesn't it just say 0.9.99? If somebody would forge the tag locally, he could also just override getrevision.sh. Nico > > 5 commits since last tag in upstream's stable branch: > flashrom 0.9.99-5-stable-e4f6643-dirty on Linux 3.13.0-76-generic (x86_64) > > 3 commits since last tag in upstream's staging branch and > 4 local commits on top of that: > flashrom 0.9.99-3-staging-4-e4f6643 on Linux 3.13.0-76-generic (x86_64) > > 3 commits since last tag in upstream's staging branch and > 4 local commits on top of that, and some local uncommitted changes too: > flashrom 0.9.99-3-staging-4-e4f6643-dirty on Linux 3.13.0-76-generic (x86_64) > > 3 commits since the last tag in an unrelated upstream branch > (e.g., a stable release *branch* such as 0.9.99) or local branch: > flashrom 0.9.99-3-e4f6643 on Linux 3.13.0-76-generic (x86_64) > > No tags reachable from current commit (generic git fallback): > flashrom d95935a version on Linux 3.13.0-76-generic (x86_64) > > Not in a repository: > flashrom unknown version on Linux 3.13.0-76-generic (x86_64) > > Signed-off-by: Stefan Tauner <[email protected]> > Acked-by: Stefan Tauner <[email protected]> _______________________________________________ flashrom mailing list [email protected] https://www.flashrom.org/mailman/listinfo/flashrom
