示例#1
0
        async private Task <bool> prepareStorageForDiffTool(MergeRequestKey mrk,
                                                            ILocalCommitStorage storage, string leftSHA, string rightSHA, IEnumerable <Discussion> discussions)
        {
            if (storage == null)
            {
                MessageBox.Show("Cannot launch a diff tool without up-to-date storage.",
                                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }

            ICommitStorageUpdateContextProvider contextProvider =
                new CommitBasedContextProvider(new string[] { rightSHA }, leftSHA);

            if (!await prepareCommitStorage(mrk, storage, contextProvider, true) || _exiting)
            {
                return(false);
            }

            ICommitStorageUpdateContextProvider contextProvider2 = new DiscussionBasedContextProvider(discussions);

            return(await prepareCommitStorage(mrk, storage, contextProvider2, false));
        }
示例#2
0
        async private Task <bool> prepareStorageForDiscussionsForm(MergeRequestKey mrk,
                                                                   ILocalCommitStorage storage, IEnumerable <Discussion> discussions)
        {
            if (storage == null)
            {
                if (MessageBox.Show("Without a storage, context code snippets will be missing. "
                                    + "Do you want to continue?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) ==
                    DialogResult.No)
                {
                    Trace.TraceInformation("[MainForm] User rejected to show discussions without a storage");
                    return(false);
                }
                else
                {
                    Trace.TraceInformation("[MainForm] User decided to show Discussions without a storage");
                    return(true);
                }
            }

            ICommitStorageUpdateContextProvider contextProvider = new DiscussionBasedContextProvider(discussions);

            return(await prepareCommitStorage(mrk, storage, contextProvider, false));
        }