mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
Cope with date-less revisions.
This commit is contained in:
parent
11da64944a
commit
34a1dfc322
@ -586,8 +586,8 @@ def stupid_svn_server_pull_rev(ui, svn, hg_editor, r):
|
||||
break
|
||||
if not is_closed:
|
||||
deleted_branches[branch] = branchtip
|
||||
date = r.date.replace('T', ' ').replace('Z', '').split('.')[0]
|
||||
date += ' -0000'
|
||||
|
||||
date = hg_editor.fixdate(r.date)
|
||||
check_deleted_branches = set()
|
||||
for b in branches:
|
||||
parentctx = hg_editor.repo[hg_editor.get_parent_revision(r.revnum, b)]
|
||||
|
@ -129,11 +129,22 @@ class HgChangeReceiver(delta.Editor):
|
||||
self.readauthors(authors)
|
||||
if self.authors:
|
||||
self.writeauthors()
|
||||
|
||||
self.lastdate = '1970-01-01 00:00:00'
|
||||
self.includepaths = {}
|
||||
self.excludepaths = {}
|
||||
if filemap and os.path.exists(filemap):
|
||||
self.readfilemap(filemap)
|
||||
|
||||
def fixdate(self, date):
|
||||
if date is not None:
|
||||
date = date.replace('T', ' ').replace('Z', '').split('.')[0]
|
||||
date += ' -0000'
|
||||
self.lastdate = date
|
||||
else:
|
||||
date = self.lastdate
|
||||
return date
|
||||
|
||||
def __setup_repo(self, repo_path):
|
||||
"""Verify the repo is going to work out for us.
|
||||
|
||||
@ -573,8 +584,7 @@ class HgChangeReceiver(delta.Editor):
|
||||
files_to_commit.sort()
|
||||
branch_batches = {}
|
||||
rev = self.current_rev
|
||||
date = rev.date.replace('T', ' ').replace('Z', '').split('.')[0]
|
||||
date += ' -0000'
|
||||
date = self.fixdate(rev.date)
|
||||
|
||||
# build up the branches that have files on them
|
||||
for f in files_to_commit:
|
||||
|
133
tests/fixtures/test_no_dates.svndump
vendored
Normal file
133
tests/fixtures/test_no_dates.svndump
vendored
Normal file
@ -0,0 +1,133 @@
|
||||
SVN-fs-dump-format-version: 2
|
||||
|
||||
UUID: 3b9ee152-ff20-493a-9d97-5d739715df90
|
||||
|
||||
Revision-number: 0
|
||||
Prop-content-length: 56
|
||||
Content-length: 56
|
||||
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2009-04-08T10:33:20.055686Z
|
||||
PROPS-END
|
||||
|
||||
Revision-number: 1
|
||||
Prop-content-length: 55
|
||||
Content-length: 55
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 4
|
||||
init
|
||||
K 10
|
||||
svn:author
|
||||
V 3
|
||||
djc
|
||||
PROPS-END
|
||||
|
||||
Node-path: branches
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Node-path: tags
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Node-path: trunk
|
||||
Node-kind: dir
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
|
||||
Revision-number: 2
|
||||
Prop-content-length: 56
|
||||
Content-length: 56
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 5
|
||||
add a
|
||||
K 10
|
||||
svn:author
|
||||
V 3
|
||||
djc
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/a
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Text-content-length: 2
|
||||
Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
|
||||
Content-length: 12
|
||||
|
||||
PROPS-END
|
||||
a
|
||||
|
||||
|
||||
Revision-number: 3
|
||||
Prop-content-length: 98
|
||||
Content-length: 98
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 1
|
||||
b
|
||||
K 10
|
||||
svn:author
|
||||
V 3
|
||||
djc
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2009-04-08T10:35:21.843827Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/a
|
||||
Node-kind: file
|
||||
Node-action: change
|
||||
Text-content-length: 3
|
||||
Text-content-md5: daa8075d6ac5ff8d0c6d4650adb4ef29
|
||||
Content-length: 3
|
||||
|
||||
ab
|
||||
|
||||
|
||||
Revision-number: 4
|
||||
Prop-content-length: 52
|
||||
Content-length: 52
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 1
|
||||
c
|
||||
K 10
|
||||
svn:author
|
||||
V 3
|
||||
djc
|
||||
PROPS-END
|
||||
|
||||
Node-path: trunk/a
|
||||
Node-kind: file
|
||||
Node-action: change
|
||||
Text-content-length: 4
|
||||
Text-content-md5: 0bee89b07a248e27c83fc3d5951213c1
|
||||
Content-length: 4
|
||||
|
||||
abc
|
||||
|
||||
|
@ -8,6 +8,12 @@ import test_util
|
||||
|
||||
|
||||
class TestBasicRepoLayout(test_util.TestBase):
|
||||
|
||||
def test_no_dates(self):
|
||||
repo = self._load_fixture_and_fetch('test_no_dates.svndump')
|
||||
self.assertEqual(repo[0].date(), (-3600.0, -3600))
|
||||
self.assertEqual(repo[1].date(), repo[2].date())
|
||||
|
||||
def test_fresh_fetch_single_rev(self):
|
||||
repo = self._load_fixture_and_fetch('single_rev.svndump')
|
||||
self.assertEqual(node.hex(repo['tip'].node()),
|
||||
|
Loading…
Reference in New Issue
Block a user