summaryrefslogtreecommitdiff
path: root/src/cmd/dist
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/dist')
-rw-r--r--src/cmd/dist/build.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cmd/dist/build.c b/src/cmd/dist/build.c
index d898a31b9..be05b82f1 100644
--- a/src/cmd/dist/build.c
+++ b/src/cmd/dist/build.c
@@ -242,12 +242,13 @@ findgoversion(void)
{
char *tag, *rev, *p;
int i, nrev;
- Buf b, path, bmore, branch;
+ Buf b, path, bmore, bplus, branch;
Vec tags;
binit(&b);
binit(&path);
binit(&bmore);
+ binit(&bplus);
binit(&branch);
vinit(&tags);
@@ -314,11 +315,16 @@ findgoversion(void)
// Add extra information.
run(&bmore, goroot, CheckExit, "hg", "log", "--template", " +{node|short} {date|date}", "-r", rev, nil);
chomp(&bmore);
+ // Generate a list of local modifications, if any.
+ run(&bplus, goroot, CheckExit, "hg", "status", "-m", "-a", "-r", "-d", nil);
+ chomp(&bplus);
}
bprintf(&b, "%s", tag);
if(bmore.len > 0)
bwriteb(&b, &bmore);
+ if(bplus.len > 0)
+ bwritestr(&b, " +");
// Cache version.
writefile(&b, bstr(&path), 0);
@@ -330,6 +336,7 @@ done:
bfree(&b);
bfree(&path);
bfree(&bmore);
+ bfree(&bplus);
bfree(&branch);
vfree(&tags);