Beispiel #1
0
        public bool HasBeenModifiedMoreRecentlyThan(MigrationItemId migrationItemId)
        {
            CQWITDiffItem diffItemToCompare = m_diffProvider.GetWITDiffItem(migrationItemId.ItemId) as CQWITDiffItem;

            if (diffItemToCompare == null)
            {
                return(false);
            }

            return(this.LastChangedDate > diffItemToCompare.LastChangedDate);
        }
Beispiel #2
0
        public bool HasBeenModifiedMoreRecentlyThan(MigrationItemId migrationItemId)
        {
            TfsWITDiffItem diffItemToCompare = m_diffProvider.GetWITDiffItem(migrationItemId.ItemId) as TfsWITDiffItem;

            if (diffItemToCompare == null)
            {
                return(false);
            }

            return(m_tfsWorkItem.ChangedDate > diffItemToCompare.TfsWorkItem.ChangedDate);
        }
Beispiel #3
0
        public virtual void CacheItemVersion(string sourceItemId, string sourceVersionId, Guid sourceId)
        {
            MigrationItemId migrationItemId = new MigrationItemId();

            migrationItemId.ItemId      = sourceItemId;
            migrationItemId.ItemVersion = sourceVersionId;
            if (m_lastMigratedItemsForMigrationSource.ContainsKey(sourceId))
            {
                m_lastMigratedItemsForMigrationSource[sourceId] = migrationItemId;
            }
            else
            {
                m_lastMigratedItemsForMigrationSource.Add(sourceId, migrationItemId);
            }
        }
        private bool IgnoreDifference(WitDiffPair diffPair)
        {
            // TODO: This assumes the HighWaterMark value for all work items is a date time
            // Should pass HighWaterMark instead?
            DateTime sourceHighWaterMarkTime = DateTime.MinValue;

            if (m_latestSyncPoint != null && !DateTime.TryParse(m_latestSyncPoint.SourceHighWaterMarkValue, out sourceHighWaterMarkTime))
            {
                // There is no sync point for the session or we can't parse the DateTime value, so we need to assume the difference cannot be ignored
                return(false);
            }

            if (diffPair.Side1DiffItem != null && diffPair.Side1DiffItem.HasBeenModifiedSince(sourceHighWaterMarkTime))
            {
                string side2workItemId = (diffPair.Side2DiffItem == null) ?
                                         MigrationToolkitResources.WitDiffUnknownWorkItemId : diffPair.Side2DiffItem.WorkItemId;
                m_serverDiffEngine.LogInfo(String.Format(CultureInfo.InvariantCulture,
                                                         MigrationToolkitResources.WitDiffIngoringDiff1,
                                                         diffPair.Side1DiffItem.WorkItemId, diffPair.Side1Name, side2workItemId, diffPair.Side2Name));
                return(true);
            }

            MigrationItemId lastMigratedTargetItemId = new MigrationItemId();

            lastMigratedTargetItemId.ItemId      = m_latestSyncPoint.LastMigratedTargetItemId;
            lastMigratedTargetItemId.ItemVersion = m_latestSyncPoint.LastMigratedTargetItemVersion;
            if (diffPair.Side2DiffItem != null && diffPair.Side2DiffItem.HasBeenModifiedMoreRecentlyThan(lastMigratedTargetItemId))
            {
                string side1workItemId = (diffPair.Side1DiffItem == null) ?
                                         MigrationToolkitResources.WitDiffUnknownWorkItemId : diffPair.Side1DiffItem.WorkItemId;
                m_serverDiffEngine.LogInfo(String.Format(CultureInfo.InvariantCulture,
                                                         MigrationToolkitResources.WitDiffIngoringDiff2,
                                                         side1workItemId, diffPair.Side1Name, diffPair.Side2DiffItem.WorkItemId, diffPair.Side2Name));
                return(true);
            }

            return(false);
        }