private string CreateVersionJsonString(WorkspaceWatermark info)
        {
            var json = new JObject(
                new JProperty("changeset", info.MostRecentChangeset),
                new JProperty("serverPath", info.ServerPath),
                new JProperty("localPath", info.LocalPath),
                new JProperty("machine", info.Machine),
                new JProperty("user", info.User),
                new JProperty("hasPendingChanges", info.PendingChanges));

            return(json.ToString());
        }
        private string GenerateAssemblyInfo(
            WorkspaceWatermark info,
            string versionFormat,
            string assemblyInformationalFormat)
        {
            var changeset = info.MostRecentChangeset.ToString();
            var version   = versionFormat.Replace("{changeset}", changeset);
            var assemblyInformationalVersionSuffix = assemblyInformationalFormat
                                                     .Replace("{changeset}", changeset)
                                                     .Replace("{server-path}", info.ServerPath)
                                                     .Replace("{clean}", info.PendingChanges ? "Dirty" : "Clean");

            return
                ($@"
using System.Reflection;
[assembly: AssemblyVersion(""{version}"")]
[assembly: AssemblyInformationalVersion(""{version}+{assemblyInformationalVersionSuffix}"")]
");
        }