public ChangeLogPolicy GetPolicy() { ChangeLogUpdateMode mode = ChangeLogUpdateMode.None; if (nearestRadioButton.Active) { mode = ChangeLogUpdateMode.Nearest; } else if (oneChangeLogInProjectRootDirectoryRadioButton.Active) { mode = ChangeLogUpdateMode.ProjectRoot; } else if (oneChangeLogInEachDirectoryRadioButton.Active) { mode = ChangeLogUpdateMode.Directory; } VcsIntegration vcs = VcsIntegration.None; if (checkVersionControl.Active) { vcs = VcsIntegration.Enabled; if (checkRequireOnCommit.Active) { vcs = VcsIntegration.RequireEntry; } } return(new ChangeLogPolicy(mode, vcs, style)); }
public ChangeLogPolicy(ChangeLogUpdateMode mode, VcsIntegration vcsIntegration, CommitMessageStyle messageStyle) { VcsIntegration = vcsIntegration; UpdateMode = mode; this.messageStyle = messageStyle; }
public static void Migrate(SolutionItem entry) { if (entry.ParentFolder != null) { Migrate(entry.ParentFolder); } var data = entry.ExtendedProperties ["MonoDevelop.ChangeLogAddIn.ChangeLogInfo"] as OldChangeLogData; if (data == null) { return; } entry.ExtendedProperties.Remove("MonoDevelop.ChangeLogAddIn.ChangeLogInfo"); if (entry.Policies.DirectGet <ChangeLogPolicy> () != null) { return; } ChangeLogPolicyEnum policy = data.policy; if ((entry is SolutionFolder) && ((SolutionFolder)entry).IsRoot) { if (policy == ChangeLogPolicyEnum.UseParentPolicy) { policy = ChangeLogPolicyEnum.UpdateNearestChangeLog; } } ChangeLogUpdateMode mode; VcsIntegration intEnabled = VcsIntegration.Enabled; switch (policy) { case ChangeLogPolicyEnum.UseParentPolicy: return; case ChangeLogPolicyEnum.NoChangeLog: mode = ChangeLogUpdateMode.None; intEnabled = VcsIntegration.None; break; case ChangeLogPolicyEnum.OneChangeLogInEachDirectory: mode = ChangeLogUpdateMode.Directory; break; case ChangeLogPolicyEnum.OneChangeLogInProjectRootDirectory: mode = ChangeLogUpdateMode.ProjectRoot; break; case ChangeLogPolicyEnum.UpdateNearestChangeLog: mode = ChangeLogUpdateMode.Nearest; break; default: throw new InvalidOperationException("Unknown value '" + policy + "'"); } entry.Policies.Set(new ChangeLogPolicy(mode, intEnabled, null)); }