Changeset ea4a93f9f8d0…
Parent e9febbf6d1d9…
by Na'Tosha Bard <natosha@unity3d.com>
Changes to 5 files · Browse files at ea4a93f9f8d0 Showing diff from parent e9febbf6d1d9 Diff from another changeset...
@@ -286,9 +286,10 @@
def update_standin(repo, standin):
file = repo.wjoin(split_standin(standin))
- hash = hashfile(file)
- executable = get_executable(file)
- write_standin(repo, standin, hash, executable)
+ if(os.path.exists(file)):
+ hash = hashfile(file)
+ executable = get_executable(file)
+ write_standin(repo, standin, hash, executable)
def read_standin(repo, standin):
'''read hex hash from <repo.root>/<standin>'''
@@ -318,6 +319,8 @@ return hashfile(repo.wjoin(file))
def hashfile(file):
+ if not os.path.exists(file):
+ return '';
hasher = util.sha1('')
with open(file, 'rb') as fd:
for data in blockstream(fd):
|
@@ -11,7 +11,8 @@ STOREDIR = os.path.join(os.getcwd(), 'store')
DEFAULTRC = {
- 'extensions': [('kbfiles', '%s/../kbfiles' % TESTDIR),],
+ 'extensions': [('kbfiles', '%s/../kbfiles' % TESTDIR),
+ ('rebase', '')],
'kilnbfiles': [('systemcache', os.path.join(os.getcwd(), 'bfilesstore')),],
}
|
@@ -55,3 +55,8 @@ ''')
hgt.hg(['commit', '-m', 'adding', 'dir/b2', 'dir/n2'])
hgt.hg(['status'])
+hgt.writefile('b1', 'b11')
+hgt.hg(['status'],
+ stdout='M b1\n')
+hgt.hg(['commit', '-m', 'modifying b1'])
+hgt.asserttrue(hgt.readfile('b1') == 'b11', 'file contents dont match')
|
|
|
@@ -0,0 +1,158 @@ + #!/usr/bin/python
+#
+# Test rebasing
+#
+
+import os
+import common
+
+
+hgt = common.BfilesTester()
+
+hgt.updaterc()
+hgt.announce('test')
+os.mkdir('repo1')
+os.chdir('repo1')
+hgt.hg(['init'])
+hgt.writefile('n1', 'n1')
+hgt.hg(['add'],
+ stdout=('adding n1\n'))
+hgt.hg(['commit', '-m', 'Add n1 repo1'])
+hgt.writefile('b1', 'b1')
+hgt.hg(['add', '--bf', 'b1'])
+hgt.hg(['commit', '-m', 'Add bfile b1 in repo1'])
+os.chdir('..')
+hgt.hg(['clone', 'repo1', 'repo2'],
+ stdout=('updating to branch default\n'
+ '2 files updated, 0 files merged, 0 files removed, 0 files unresolved\n'
+ 'Getting changed bfiles\n'
+ '1 big files updated, 0 removed\n'))
+os.chdir('repo1')
+hgt.writefile('b1', 'b11')
+hgt.hg(['commit', '-m', 'Modify bfile b1 in repo1'])
+os.chdir('../repo2')
+hgt.writefile('n1', 'n11')
+hgt.hg(['commit', '-m', 'Modify n1 in repo2'])
+hgt.hg(['pull', '--rebase'],
+ stdout=('pulling from $HGTMP/test-rebase.py/repo1\n'
+ 'searching for changes\n'
+ 'adding changesets\n'
+ 'adding manifests\n'
+ 'adding file changes\n'
+ 'added 1 changesets with 1 changes to 1 files (+1 heads)\n'
+ 'Getting changed bfiles\n'
+ '1 big files updated, 0 removed\n'
+ 'saved backup bundle to $HGTMP/test-rebase.py/repo2/.hg/strip-backup/5d80f03f644c-backup.hg\n'
+ 'nothing to rebase\n'))
+hgt.hg(['out', '--bf'],
+ stdout=('comparing with $HGTMP/test-rebase.py/repo1\n'
+ 'searching for changes\n'
+ 'changeset: 3:168bfc518870\n'
+ 'tag: tip\n'
+ 'user: test\n'
+ 'date: Thu Jan 01 00:00:00 1970 +0000\n'
+ 'summary: Modify n1 in repo2\n'
+ '\n'
+ 'searching for changes\n'
+ 'kbfiles to upload:\n'
+ '\n'))
+hgt.writefile('n1', 'n111');
+hgt.hg(['commit', '-m', 'Modify n1'])
+hgt.hg(['out', '--bf'],
+ stdout=('comparing with $HGTMP/test-rebase.py/repo1\n'
+ 'searching for changes\n'
+ 'changeset: 3:168bfc518870\n'
+ 'user: test\n'
+ 'date: Thu Jan 01 00:00:00 1970 +0000\n'
+ 'summary: Modify n1 in repo2\n'
+ '\n'
+ 'changeset: 4:76fa4c6125bc\n'
+ 'tag: tip\n'
+ 'user: test\n'
+ 'date: Thu Jan 01 00:00:00 1970 +0000\n'
+ 'summary: Modify n1\n'
+ '\n'
+ 'searching for changes\n'
+ 'kbfiles to upload:\n'
+ '\n'))
+hgt.hg(['update', '--clean'],
+ stdout=('0 files updated, 0 files merged, 0 files removed, 0 files unresolved\n'
+ 'Getting changed bfiles\n'
+ '0 big files updated, 0 removed\n'))
+hgt.asserttrue(hgt.readfile('b1') == 'b11', "file contents don't match")
+
+# Now do the exact same thing with the rebase command instead of pull --rebase
+os.chdir('..')
+os.mkdir('repo3')
+os.chdir('repo3')
+hgt.hg(['init'])
+hgt.writefile('n1', 'n1')
+hgt.hg(['add'],
+ stdout=('adding n1\n'))
+hgt.hg(['commit', '-m', 'Add n1 repo3'])
+hgt.writefile('b1', 'b1')
+hgt.hg(['add', '--bf', 'b1'])
+hgt.hg(['commit', '-m', 'Add bfile b1 in repo3'])
+os.chdir('..')
+hgt.hg(['clone', 'repo3', 'repo4'],
+ stdout=('updating to branch default\n'
+ '2 files updated, 0 files merged, 0 files removed, 0 files unresolved\n'
+ 'Getting changed bfiles\n'
+ '1 big files updated, 0 removed\n'))
+os.chdir('repo3')
+hgt.writefile('b1', 'b11')
+hgt.hg(['commit', '-m', 'Modify bfile b1 in repo3'])
+os.chdir('../repo4')
+hgt.writefile('n1', 'n11')
+hgt.hg(['commit', '-m', 'Modify n1 in repo4'])
+hgt.hg(['pull'],
+ stdout=('pulling from $HGTMP/test-rebase.py/repo3\n'
+ 'searching for changes\n'
+ 'adding changesets\n'
+ 'adding manifests\n'
+ 'adding file changes\n'
+ 'added 1 changesets with 1 changes to 1 files (+1 heads)\n'
+ '(run \'hg heads\' to see heads, \'hg merge\' to merge)\n'))
+
+
+hgt.hg(['rebase'],
+ stdout=('Getting changed bfiles\n'
+ '1 big files updated, 0 removed\n'
+ 'saved backup bundle to $HGTMP/test-rebase.py/repo4/.hg/strip-backup/589266dab166-backup.hg\n'))
+hgt.hg(['out', '--bf'],
+ stdout=('comparing with $HGTMP/test-rebase.py/repo3\n'
+ 'searching for changes\n'
+ 'changeset: 3:e4dbf8fdf868\n'
+ 'tag: tip\n'
+ 'user: test\n'
+ 'date: Thu Jan 01 00:00:00 1970 +0000\n'
+ 'summary: Modify n1 in repo4\n'
+ '\n'
+ 'searching for changes\n'
+ 'kbfiles to upload:\n'
+ '\n'))
+hgt.writefile('n1', 'n111');
+hgt.hg(['commit', '-m', 'Modify n1'])
+hgt.hg(['out', '--bf'],
+ stdout=('comparing with $HGTMP/test-rebase.py/repo3\n'
+ 'searching for changes\n'
+ 'changeset: 3:e4dbf8fdf868\n'
+ 'user: test\n'
+ 'date: Thu Jan 01 00:00:00 1970 +0000\n'
+ 'summary: Modify n1 in repo4\n'
+ '\n'
+ 'changeset: 4:26ba7897b44d\n'
+ 'tag: tip\n'
+ 'user: test\n'
+ 'date: Thu Jan 01 00:00:00 1970 +0000\n'
+ 'summary: Modify n1\n'
+ '\n'
+ 'searching for changes\n'
+ 'kbfiles to upload:\n'
+ '\n'))
+hgt.hg(['update', '--clean'],
+ stdout=('0 files updated, 0 files merged, 0 files removed, 0 files unresolved\n'
+ 'Getting changed bfiles\n'
+ '0 big files updated, 0 removed\n'))
+
+hgt.asserttrue(hgt.readfile('b1') == 'b11', "file contents don't match")
|
Loading...