diff options
Diffstat (limited to 'org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java')
-rw-r--r-- | org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java index 62b656a67..309908c5b 100644 --- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java +++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java @@ -180,6 +180,17 @@ public class TracRepositoryConnector extends AbstractRepositoryConnector { return false; } + if (ids.size() == 1) { + // getChangedTickets() is expected to always return at least one ticket because + // the repository synchronization timestamp is set to the most recent modification date + Integer id = ids.iterator().next(); + Date lastChanged = client.getTicketLastChanged(id); + if (since.equals(lastChanged)) { + // repository didn't actually change + return false; + } + } + for (AbstractTask task : tasks) { Integer id = getTicketId(task.getTaskId()); if (ids.contains(id)) { |