Skip to content

Commit bc5c37b

Browse files
committed
added unclean- prefix for commit if some files not commited or untracked, for OutStdOut use TrimStartAndEndInline and Reset in capture commit hash
1 parent 3901468 commit bc5c37b

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

Source/ProjectVersionFromGit/Private/ProjectVersionFromGitBPLibrary.cpp

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,11 @@ FText UProjectVersionFromGitBPLibrary::GetProjectVersion()
5555
FString TagNameArg;
5656

5757
ExecProcess(TEXT("git"), TEXT("rev-list --tags --max-count=1"), &OutReturnCode, &OutStdOut, &OutStdErr, *OptionalWorkingDirectory);
58+
OutStdOut.TrimStartAndEndInline();
5859

59-
TagNameArg = FString(TEXT("describe --tags ")) + OutStdOut.TrimStartAndEnd();
60+
TagNameArg = FString(TEXT("describe --tags ")) + OutStdOut;
6061
ExecProcess(TEXT("git"), *TagNameArg, &OutReturnCode, &OutStdOut, &OutStdErr, *OptionalWorkingDirectory);
62+
OutStdOut.TrimStartAndEndInline();
6163
//UE_LOG(ProjectVersionFromGit, Log, TEXT("-------- Git tag: %s"), *OutStdOut);
6264

6365
const FRegexPattern myPattern(TEXT("([0-9]\\.[0-9]\\.[0-9])+"));
@@ -79,7 +81,7 @@ FText UProjectVersionFromGitBPLibrary::GetProjectVersion()
7981
}
8082
else
8183
{
82-
OutStdOut = OutStdOut.TrimStartAndEnd();
84+
OutStdOut.TrimStartAndEndInline();
8385
TArray<FString> OutArrayParse;
8486
OutStdOut.ParseIntoArrayWS(OutArrayParse, TEXT("."));
8587

@@ -251,13 +253,15 @@ FText UProjectVersionFromGitBPLibrary::GetProjectVersionBranchName()
251253
if (GEngine->IsEditor())
252254
{
253255
ExecProcess(TEXT("git"), TEXT("symbolic-ref --short HEAD"), &OutReturnCode, &OutStdOut, &OutStdErr, *OptionalWorkingDirectory);
256+
OutStdOut.TrimStartAndEndInline();
257+
254258
if (OutStdOut.IsEmpty())
255259
{
256260
BranchName = FText::FromString(TEXT("unknown"));
257261
}
258262
else
259263
{
260-
BranchName = FText::FromString(OutStdOut.TrimStartAndEnd());
264+
BranchName = FText::FromString(OutStdOut);
261265
}
262266
}
263267
}
@@ -275,16 +279,20 @@ FText UProjectVersionFromGitBPLibrary::GetProjectVersionCommitHash()
275279
static const FString OptionalWorkingDirectory = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir());
276280

277281
ExecProcess(TEXT("git"), TEXT("status --short"), &OutReturnCode, &OutStdOut, &OutStdErr, *OptionalWorkingDirectory);
282+
OutStdOut.TrimStartAndEndInline();
278283
GitStdOutput = OutStdOut;
284+
OutStdOut.Reset();
279285

280-
if (OutStdOut.IsEmpty())
286+
ExecProcess(TEXT("git"), TEXT("describe --always --abbrev=8"), &OutReturnCode, &OutStdOut, &OutStdErr, *OptionalWorkingDirectory);
287+
OutStdOut.TrimStartAndEndInline();
288+
289+
if (GitStdOutput.IsEmpty())
281290
{
282-
ExecProcess(TEXT("git"), TEXT("describe --always --abbrev=8"), &OutReturnCode, &OutStdOut, &OutStdErr, *OptionalWorkingDirectory);
283-
CommitHash = FText::FromString(OutStdOut.TrimStartAndEnd());
291+
CommitHash = FText::FromString(OutStdOut);
284292
}
285293
else
286294
{
287-
CommitHash = FText::FromString(TEXT("unknown"));
295+
CommitHash = FText::FromString(FString(TEXT("unclean-")) + OutStdOut);
288296
}
289297
}
290298

0 commit comments

Comments
 (0)