예제 #1
0
        public MessageColumnProvider(RevisionGridControl grid, IGitRevisionSummaryBuilder gitRevisionSummaryBuilder)
            : base("Message")
        {
            _grid = grid;
            _gitRevisionSummaryBuilder = gitRevisionSummaryBuilder;

            Column = new DataGridViewTextBoxColumn
            {
                AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
                HeaderText   = "Message",
                ReadOnly     = true,
                SortMode     = DataGridViewColumnSortMode.NotSortable,
                Width        = DpiUtil.Scale(500),
                MinimumWidth = DpiUtil.Scale(25)
            };
        }
예제 #2
0
        public void Setup()
        {
            _artificialCommitNode = new RevisionGraphRevision(ObjectId.WorkTreeId, 0)
            {
                GitRevision = new GitRevision(ObjectId.WorkTreeId)
                {
                    Author      = "John Doe",
                    AuthorDate  = DateTime.Parse("2010-03-24 13:37:12"),
                    AuthorEmail = "*****@*****.**",
                    Body        = "WIP: fixing bugs"
                }
            };
            var realCommitObjectId = ObjectId.Parse("a48da1aba59a65b2a7f0df7e3512817caf16819f");

            _realCommitNode = new RevisionGraphRevision(realCommitObjectId, 0)
            {
                GitRevision = new GitRevision(realCommitObjectId)
                {
                    Author      = "John Doe",
                    AuthorDate  = DateTime.Parse("2010-03-24 13:37:12"),
                    AuthorEmail = "*****@*****.**",
                    Subject     = "fix: bugs",
                    Body        = "fix: bugs\r\n\r\nall bugs fixed"
                }
            };
            var mergeCommitObjectId = ObjectId.Parse("b48da1aba59a65b2a7f0df7e3512817caf16819f");

            _mergeCommitNode = new RevisionGraphRevision(mergeCommitObjectId, 0)
            {
                GitRevision = new GitRevision(mergeCommitObjectId)
                {
                    Author              = "John Doe",
                    AuthorDate          = DateTime.Parse("2010-03-24 13:37:12"),
                    AuthorEmail         = "*****@*****.**",
                    Subject             = "merge remote tracking branch upstream/branch",
                    Body                = "merge commit's subject here will not be parsed\r\n\r\nmerge commit's body might list details and/or conflicts...",
                    HasMultiLineMessage = true
                }
            };
            var undetectedMergeCommitObjectId = ObjectId.Parse("c48da1aba59a65b2a7f0df7e3512817caf16819f");

            _undetectedMergeCommitNode = new RevisionGraphRevision(undetectedMergeCommitObjectId, 0)
            {
                GitRevision = new GitRevision(undetectedMergeCommitObjectId)
                {
                    Author              = "John Doe",
                    AuthorDate          = DateTime.Parse("2010-03-24 13:37:12"),
                    AuthorEmail         = "*****@*****.**",
                    Subject             = "special merge",
                    Body                = "merge commit's subject here will not be parsed\r\n\r\nmerge commit's body might list details and/or conflicts...",
                    HasMultiLineMessage = true
                }
            };
            var innerCommitObjectId = ObjectId.Parse("d48da1aba59a65b2a7f0df7e3512817caf16819f");

            _innerCommitNode = new RevisionGraphRevision(innerCommitObjectId, 0)
            {
                GitRevision = new GitRevision(innerCommitObjectId)
                {
                    Author      = "John Doe",
                    AuthorDate  = DateTime.Parse("2010-03-24 13:37:12"),
                    AuthorEmail = "*****@*****.**",
                    Subject     = "fix: further bugs",
                    Body        = "fix: further bugs"
                }
            };

            _gitRevisionSummaryBuilder = Substitute.For <IGitRevisionSummaryBuilder>();
            _gitRevisionSummaryBuilder.BuildSummary(Arg.Any <string>()).Returns(i => (string)i.Args()[0]);
            _laneNodeLocator = Substitute.For <ILaneNodeLocator>();
            _infoProvider    = new LaneInfoProvider(_laneNodeLocator, _gitRevisionSummaryBuilder);
        }
예제 #3
0
 public LaneInfoProvider(ILaneNodeLocator nodeLocator, IGitRevisionSummaryBuilder gitRevisionSummaryBuilder)
 {
     _nodeLocator = nodeLocator;
     _gitRevisionSummaryBuilder = gitRevisionSummaryBuilder;
 }
        public RevisionGraphColumnProvider(RevisionGridControl grid, RevisionGraph revisionGraph, IGitRevisionSummaryBuilder gitRevisionSummaryBuilder)
            : base("Graph")
        {
            _grid             = grid;
            _revisionGraph    = revisionGraph;
            _laneInfoProvider = new LaneInfoProvider(new LaneNodeLocator(_revisionGraph), gitRevisionSummaryBuilder);

            // TODO is it worth creating a lighter-weight column type?

            Column = new DataGridViewTextBoxColumn
            {
                AutoSizeMode = DataGridViewAutoSizeColumnMode.None,
                ReadOnly     = true,
                SortMode     = DataGridViewColumnSortMode.NotSortable,
                Resizable    = DataGridViewTriState.False,
                MinimumWidth = LaneWidth
            };
        }