diff options
author | Lluis Sanchez Gual <lluis@novell.com> | 2011-02-17 19:48:16 +0300 |
---|---|---|
committer | Lluis Sanchez Gual <lluis@novell.com> | 2011-02-17 19:48:16 +0300 |
commit | 26bdcb7b1ef9595ea4bca9d4a9b981d16702016e (patch) | |
tree | 0f253ecd11d7927c091f0c4def7a37d8047e36cc /Mono.Addins.Setup | |
parent | 22f74568cd8f14fd879bd13c85948e70c0955b06 (diff) |
Don't import the root.mrep file if it has not been created.
Diffstat (limited to 'Mono.Addins.Setup')
-rw-r--r-- | Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs b/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs index ef06a50..fc6926a 100644 --- a/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs +++ b/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs @@ -454,9 +454,8 @@ namespace Mono.Addins.Setup ArrayList allAddins = new ArrayList (); Repository rootrep = (Repository) AddinStore.ReadObject (mainPath, typeof(Repository)); - if (rootrep == null) { + if (rootrep == null) rootrep = new Repository (); - } IProgressMonitor monitor = ProgressStatusMonitor.GetProgressMonitor (statusMonitor); BuildRepository (monitor, rootrep, path, "root.mrep", allAddins); @@ -514,16 +513,19 @@ namespace Mono.Addins.Setup } ArrayList toRemove = new ArrayList (); - foreach (PackageRepositoryEntry entry in mainrep.Addins) - if (!File.Exists (Path.Combine (mainPath, entry.Url))) + foreach (PackageRepositoryEntry entry in mainrep.Addins) { + if (!File.Exists (Path.Combine (mainPath, entry.Url))) { toRemove.Add (entry); + modified = true; + } + } foreach (PackageRepositoryEntry entry in toRemove) { DeleteSupportFiles (supportFileDir, entry.Addin); mainrep.RemoveEntry (entry); } - if (modified || toRemove.Count > 0) { + if (modified) { AddinStore.WriteObject (mainFile, mainrep); monitor.Log.WriteLine ("Updated " + relFilePath); lastModified = File.GetLastWriteTime (mainFile); @@ -532,7 +534,7 @@ namespace Mono.Addins.Setup if (repEntry != null) { if (repEntry.LastModified < lastModified) repEntry.LastModified = lastModified; - } else { + } else if (modified) { repEntry = new ReferenceRepositoryEntry (); repEntry.LastModified = lastModified; repEntry.Url = relFilePath; |