lkml.org 
[lkml]   [2010]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH RFC] kconfig: place git SHA1 in .config output if in git tree
    This patch appends the SHA1 hash of the current git tree to the
    kernel version line, or "[Not git tree]" if run from a non-git tree.
    Uses "git log" to print the hash.

    Suggested-by: Ingo Molnar <mingo@elte.hu>
    Cc: Roman Zippel <zippel@linux-m68k.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    ---

    confdata.c | 13 +++++++++++--
    1 file changed, 11 insertions(+), 2 deletions(-)

    diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
    index c4dec80..4bd7842 100644
    --- a/scripts/kconfig/confdata.c
    +++ b/scripts/kconfig/confdata.c
    @@ -399,10 +399,11 @@ int conf_read(const char *name)
    int conf_write(const char *name)
    {
    FILE *out;
    + FILE *git;
    struct symbol *sym;
    struct menu *menu;
    const char *basename;
    - char dirname[128], tmpname[128], newname[128];
    + char dirname[128], tmpname[128], newname[128], gitsha[128];
    int type, l;
    const char *str;
    time_t now;
    @@ -450,12 +451,20 @@ int conf_write(const char *name)
    if (env && *env)
    use_timestamp = 0;

    + gitsha[0] = '\0';
    + git = popen("git log --pretty=format:%h -1 2> /dev/null", "r");
    + if (git != NULL) {
    + fscanf(git, " %127s ", gitsha);
    + pclose(git);
    + }
    +
    fprintf(out, _("#\n"
    "# Automatically generated make config: don't edit\n"
    - "# Linux kernel version: %s\n"
    + "# Linux kernel version: %s %s\n"
    "%s%s"
    "#\n"),
    sym_get_string_value(sym),
    + gitsha[0] == '\0' ? "[Not git tree]" : gitsha,
    use_timestamp ? "# " : "",
    use_timestamp ? ctime(&now) : "");


    \
     
     \ /
      Last update: 2010-03-01 05:25    [W:0.032 / U:30.248 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site