Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 public ChangeLogPolicy(ChangeLogUpdateMode mode, VcsIntegration vcsIntegration, CommitMessageStyle messageStyle)
 {
     VcsIntegration    = vcsIntegration;
     UpdateMode        = mode;
     this.messageStyle = messageStyle;
 }
Exemplo n.º 3
0
        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));
        }