[flashrom] [PATCH] Convert flashrom to git

Nico Huber nico.h at gmx.de
Tue Nov 22 23:57:05 CET 2016


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 <stefan.tauner at alumni.tuwien.ac.at>
> Acked-by: Stefan Tauner <stefan.tauner at alumni.tuwien.ac.at>




More information about the flashrom mailing list