public bool HasBeenModifiedMoreRecentlyThan(MigrationItemId migrationItemId) { CQWITDiffItem diffItemToCompare = m_diffProvider.GetWITDiffItem(migrationItemId.ItemId) as CQWITDiffItem; if (diffItemToCompare == null) { return(false); } return(this.LastChangedDate > diffItemToCompare.LastChangedDate); }
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); }
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); }