From ffe3fc9257ff1fb99e1c0ae6389685c17389bf14 Mon Sep 17 00:00:00 2001 From: Stephan Date: Wed, 26 Apr 2017 13:25:54 +0200 Subject: [PATCH 1/3] deploy-293 - fix normalization --- .../TargetVersionSevenSixZero/NormalizeTemplateGuids.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSixZero/NormalizeTemplateGuids.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSixZero/NormalizeTemplateGuids.cs index 3a2e398665..f9f0d0efbb 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSixZero/NormalizeTemplateGuids.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSixZero/NormalizeTemplateGuids.cs @@ -30,8 +30,10 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSixZero var version = database.FirstOrDefault("SELECT version FROM umbracoMigration WHERE name=@name ORDER BY version DESC", new { name = Constants.System.UmbracoMigrationName }); if (version != null && version.StartsWith("7.6.0")) return string.Empty; - var updates = database.Query("SELECT id, text FROM umbracoNode WHERE nodeObjectType = @guid", new { guid = Constants.ObjectTypes.TemplateTypeGuid}) - .Select(template => Tuple.Create((int) template.id, ("template____" + (string) template.text).ToGuid())) + var updates = database.Query(@"SELECT umbracoNode.id, cmsTemplate.alias FROM umbracoNode +JOIN cmsTemplate ON umbracoNode.id=cmsTemplate.nodeId +WHERE nodeObjectType = @guid", new { guid = Constants.ObjectTypes.TemplateTypeGuid}) + .Select(template => Tuple.Create((int) template.id, ("template____" + (string) template.alias).ToGuid())) .ToList(); foreach (var update in updates) From ceeea7827eddfb2ce96b9a52527ad97483c5beb3 Mon Sep 17 00:00:00 2001 From: Stephan Date: Wed, 26 Apr 2017 14:44:48 +0200 Subject: [PATCH 2/3] Fix shadow wrapper cleanup --- src/Umbraco.Core/IO/ShadowWrapper.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Core/IO/ShadowWrapper.cs b/src/Umbraco.Core/IO/ShadowWrapper.cs index 0005603f3f..ab15a4dc61 100644 --- a/src/Umbraco.Core/IO/ShadowWrapper.cs +++ b/src/Umbraco.Core/IO/ShadowWrapper.cs @@ -52,9 +52,19 @@ namespace Umbraco.Core.IO try { Directory.Delete(dir, true); - dir = dir.Substring(0, dir.Length - _shadowPath.Length - 1); - if (Directory.EnumerateFileSystemEntries(dir).Any() == false) - Directory.Delete(dir, true); + + // shadowPath make be path/to/dir, remove each + var min = IOHelper.MapPath("~/App_Data/TEMP/ShadowFs").Length; + var pos = dir.LastIndexOf("/", StringComparison.OrdinalIgnoreCase); + while (pos > min) + { + dir = dir.Substring(0, pos); + if (Directory.EnumerateFileSystemEntries(dir).Any() == false) + Directory.Delete(dir, true); + else + break; + pos = dir.LastIndexOf("/", StringComparison.OrdinalIgnoreCase); + } } catch { From 0291ab615d27d7e73b8719a130d096a8fc1cecb1 Mon Sep 17 00:00:00 2001 From: Stephan Date: Wed, 26 Apr 2017 17:38:06 +0200 Subject: [PATCH 3/3] Fix shadow wrapper cleanup --- src/Umbraco.Core/IO/ShadowWrapper.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/IO/ShadowWrapper.cs b/src/Umbraco.Core/IO/ShadowWrapper.cs index ab15a4dc61..ef113a02c2 100644 --- a/src/Umbraco.Core/IO/ShadowWrapper.cs +++ b/src/Umbraco.Core/IO/ShadowWrapper.cs @@ -54,8 +54,9 @@ namespace Umbraco.Core.IO Directory.Delete(dir, true); // shadowPath make be path/to/dir, remove each + dir = dir.Replace("/", "\\"); var min = IOHelper.MapPath("~/App_Data/TEMP/ShadowFs").Length; - var pos = dir.LastIndexOf("/", StringComparison.OrdinalIgnoreCase); + var pos = dir.LastIndexOf("\\", StringComparison.OrdinalIgnoreCase); while (pos > min) { dir = dir.Substring(0, pos); @@ -63,7 +64,7 @@ namespace Umbraco.Core.IO Directory.Delete(dir, true); else break; - pos = dir.LastIndexOf("/", StringComparison.OrdinalIgnoreCase); + pos = dir.LastIndexOf("\\", StringComparison.OrdinalIgnoreCase); } } catch