Implement proper svn copy when a file is copied, moved or renamed
[email protected]
BUG=
TEST=A basic unit test verifies history is kept
Review URL: http://codereview.chromium.org/10310034
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135651 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/tests/checkout_test.py b/tests/checkout_test.py
index 8128e02..26cb445 100755
--- a/tests/checkout_test.py
+++ b/tests/checkout_test.py
@@ -397,7 +397,36 @@
self._test_prepare(self._get_co(None))
def testMove(self):
- self._check_move(self._get_co(None))
+ co = self._get_co(None)
+ self._check_move(co)
+ out = subprocess2.check_output(
+ ['svn', 'status'], cwd=co.project_path)
+ expected = (
+ 'A + chromeos/views/webui_menu_widget.h\n'
+ 'D chromeos/views/DOMui_menu_widget.h\n')
+ self.assertEquals(expected, out)
+ # Make sure ancestry is what is expected;
+ env = os.environ.copy()
+ env['LANGUAGE'] = 'en_US.UTF-8'
+ out = subprocess2.check_output(
+ ['svn', 'info', 'chromeos/views/webui_menu_widget.h'],
+ cwd=co.project_path,
+ env=env)
+ values = dict(l.split(': ', 1) for l in out.splitlines() if l)
+ expected = {
+ 'Checksum': '65837bb3da662c8fa88a4a50940ea7c6',
+ 'Copied From Rev': '2',
+ 'Copied From URL':
+ '%strunk/chromeos/views/DOMui_menu_widget.h' % self.svn_base,
+ 'Name': 'webui_menu_widget.h',
+ 'Node Kind': 'file',
+ 'Path': 'chromeos/views/webui_menu_widget.h',
+ 'Repository Root': '%s' % self.svn_base.rstrip('/'),
+ 'Revision': '2',
+ 'Schedule': 'add',
+ 'URL': '%strunk/chromeos/views/webui_menu_widget.h' % self.svn_base,
+ }
+ self.assertEquals(expected, values)
class GitSvnCheckout(SvnBaseTest):