SVN doesn't like requesting logs for non-existent revisions
If revisions 1-130 exist, it errors at "svn log -r 1:250", so we can't reliably give a last number. Easiest solution is to just forego per-batch processing, and fetch all the unseen entries in one go.
This commit is contained in:
@@ -12,7 +12,6 @@ from . import attrs_extra
|
||||
|
||||
task_logged = blinker.NamedSignal('task_logged')
|
||||
task_marker_re = re.compile(r'\[(?P<task_id>T\d+)\]')
|
||||
FETCH_AND_OBSERVE_CHUNK_SIZE = 10
|
||||
|
||||
|
||||
def obtain(server_location):
|
||||
@@ -33,8 +32,7 @@ class CommitLogObserver(object):
|
||||
self._log.debug('%s: fetch_and_observe()', self)
|
||||
|
||||
svn_log = self.svn_client.log_default(
|
||||
revision_from=self.last_seen_revision + 1,
|
||||
revision_to=self.last_seen_revision + FETCH_AND_OBSERVE_CHUNK_SIZE)
|
||||
revision_from=self.last_seen_revision + 1)
|
||||
|
||||
for log_entry in svn_log:
|
||||
self._log.debug('- %r', log_entry)
|
||||
|
@@ -78,9 +78,7 @@ class TestCommitLogObserver(unittest.TestCase):
|
||||
self.mock_client.log_default = mock.Mock(name='log_default', return_value=[])
|
||||
self.observer.fetch_and_observe()
|
||||
|
||||
self.mock_client.log_default.assert_called_once_with(
|
||||
revision_from=1,
|
||||
revision_to=subversion.FETCH_AND_OBSERVE_CHUNK_SIZE)
|
||||
self.mock_client.log_default.assert_called_once_with(revision_from=1)
|
||||
|
||||
# Should not have changed from the default.
|
||||
self.assertEqual(self.observer.last_seen_revision, 0)
|
||||
@@ -97,14 +95,10 @@ class TestCommitLogObserver(unittest.TestCase):
|
||||
self.observer.last_seen_revision = 42
|
||||
|
||||
self.observer.fetch_and_observe()
|
||||
self.mock_client.log_default.assert_called_with(
|
||||
revision_from=43,
|
||||
revision_to=42 + subversion.FETCH_AND_OBSERVE_CHUNK_SIZE)
|
||||
self.mock_client.log_default.assert_called_with(revision_from=43)
|
||||
|
||||
self.observer.fetch_and_observe()
|
||||
self.mock_client.log_default.assert_called_with(
|
||||
revision_from=47,
|
||||
revision_to=46 + subversion.FETCH_AND_OBSERVE_CHUNK_SIZE)
|
||||
self.mock_client.log_default.assert_called_with(revision_from=47)
|
||||
|
||||
self.assertEqual(self.observer.last_seen_revision, 51)
|
||||
|
||||
|
Reference in New Issue
Block a user