diff --git a/ProjectLighthouse/Configuration/ConfigurationCategories/CustomizationConfiguration.cs b/ProjectLighthouse/Configuration/ConfigurationCategories/CustomizationConfiguration.cs index d552eb1c..2ac58fdc 100644 --- a/ProjectLighthouse/Configuration/ConfigurationCategories/CustomizationConfiguration.cs +++ b/ProjectLighthouse/Configuration/ConfigurationCategories/CustomizationConfiguration.cs @@ -3,6 +3,6 @@ namespace LBPUnion.ProjectLighthouse.Configuration.ConfigurationCategories; public class CustomizationConfiguration { public string ServerName { get; set; } = "Project Lighthouse"; - public string EnvironmentName { get; set; } = "lighthouse"; - public bool UseNumericRevisionNumber { get; set; } = false; + public string EnvironmentName { get; set; } = "project-lighthouse"; + public bool UseLessReliableNumericRevisionNumberingSystem { get; set; } = false; } \ No newline at end of file diff --git a/ProjectLighthouse/Helpers/VersionHelper.cs b/ProjectLighthouse/Helpers/VersionHelper.cs index 44961dad..741247f4 100644 --- a/ProjectLighthouse/Helpers/VersionHelper.cs +++ b/ProjectLighthouse/Helpers/VersionHelper.cs @@ -8,13 +8,25 @@ public static class VersionHelper { static VersionHelper() { - string rawRevision = ""; + string commitNumber = "invalid"; try { CommitHash = ResourceHelper.ReadManifestFile("gitVersion.txt"); Branch = ResourceHelper.ReadManifestFile("gitBranch.txt"); - rawRevision = ServerConfiguration.Instance.Customization.UseNumericRevisionNumber ? ResourceHelper.ReadManifestFile("gitRevCount.txt") : $"{CommitHash}_{Build}"; - Revision = (Branch == "main") ? $"r{rawRevision}" : $"{Branch}_r{rawRevision}"; + bool isShallowRepo = ResourceHelper.ReadManifestFile("gitIsShallowRepo.txt") == "true"; + if (isShallowRepo) + { + Logger.Warn + ( + "The UseLessReliavleNumericRevisionNumberingSystem option is not supported for builds made from a shallow clone." + + "Please perform a full clone if you want to use numeric revision numbers." + + "UseLessReliavleNumericRevisionNumberingSystem is now disabled.", + LogArea.Startup + ); + ServerConfiguration.Instance.Customization.UseLessReliableNumericRevisionNumberingSystem = false; + } + commitNumber = ServerConfiguration.Instance.Customization.UseLessReliableNumericRevisionNumberingSystem ? ResourceHelper.ReadManifestFile("gitRevCount.txt") : $"{CommitHash}_{Build}"; + OrdinalCommitNumber = (Branch == "main") ? $"r{commitNumber}" : $"{Branch}_r{commitNumber}"; string remotesFile = ResourceHelper.ReadManifestFile("gitRemotes.txt"); @@ -51,16 +63,16 @@ public static class VersionHelper "Please make sure you are properly disclosing the source code to any users who may be using this instance.", LogArea.Startup ); - Revision = $"{Branch}-dirty_r{rawRevision}"; + OrdinalCommitNumber = $"{Branch}-dirty_r{commitNumber}"; CanCheckForUpdates = false; } } public static string CommitHash { get; set; } public static string Branch { get; set; } - public static string Revision { get; set; } - public static string EnvVer => $"{ServerConfiguration.Instance.Customization.EnvironmentName} {Revision}"; - public static string FullVersion => $"Project Lighthouse {Branch}@{CommitHash} {Build} ({EnvVer})"; + public static string OrdinalCommitNumber { get; set; } + public static string EnvVer => $"{ServerConfiguration.Instance.Customization.EnvironmentName} {OrdinalCommitNumber}"; + public static string FullVersion => $"Project Lighthouse {Branch}@{CommitHash} {Build} ({(ServerConfiguration.Instance.Customization.UseLessReliableNumericRevisionNumberingSystem ? EnvVer : ServerConfiguration.Instance.Customization.EnvironmentName)})"; public static bool IsDirty => CommitHash.EndsWith("-dirty") || CommitsOutOfDate != 1 || CommitHash == "invalid" || Branch == "invalid"; public static int CommitsOutOfDate { get; set; } public static bool CanCheckForUpdates { get; set; } diff --git a/ProjectLighthouse/ProjectLighthouse.csproj b/ProjectLighthouse/ProjectLighthouse.csproj index b2df14d8..329ced2f 100644 --- a/ProjectLighthouse/ProjectLighthouse.csproj +++ b/ProjectLighthouse/ProjectLighthouse.csproj @@ -52,6 +52,10 @@ Always + + + Always + @@ -63,6 +67,7 @@ + diff --git a/ProjectLighthouse/gitIsShallowRepo.txt b/ProjectLighthouse/gitIsShallowRepo.txt new file mode 100644 index 00000000..c508d536 --- /dev/null +++ b/ProjectLighthouse/gitIsShallowRepo.txt @@ -0,0 +1 @@ +false