Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
'rev': '2',
'action': 'move/delete',
'change': '12345',
'text': 'Copyright 2013 Joe User.\n',
},
{
'depotFile': '//mydepot/test/COPYING-new',
'rev': '1',
'action': 'move/add',
'change': '12345',
'text': 'Copyright 2013 Joe User.\n',
},
]
readme_file = make_tempfile()
copying_file = make_tempfile()
readme_file_new = make_tempfile()
copying_file_new = make_tempfile()
client.p4.print_file('//mydepot/test/README#2', readme_file)
client.p4.print_file('//mydepot/test/COPYING#2', copying_file)
client.p4.print_file('//mydepot/test/README-new#1', readme_file_new)
client.p4.print_file('//mydepot/test/COPYING-new#1', copying_file_new)
client.p4.where_files = {
'//mydepot/test/README': readme_file,
'//mydepot/test/COPYING': copying_file,
'//mydepot/test/README-new': readme_file_new,
'//mydepot/test/COPYING-new': copying_file_new,
}
client.p4.fstat_files = {
'//mydepot/test/README': {
'depotFile': '//mydepot/test/COPYING',
'rev': '2',
'action': 'move/delete',
'change': '12345',
'text': 'Copyright 2013 Joe User.\n',
},
{
'depotFile': '//mydepot/test/COPYING-new',
'rev': '1',
'action': 'move/add',
'change': '12345',
'text': 'Copyright 2013 Joe User.\n',
},
]
readme_file = make_tempfile()
copying_file = make_tempfile()
readme_file_new = make_tempfile()
copying_file_new = make_tempfile()
client.p4.print_file('//mydepot/test/README#2', readme_file)
client.p4.print_file('//mydepot/test/COPYING#2', copying_file)
client.p4.print_file('//mydepot/test/README-new#1', readme_file_new)
client.p4.print_file('//mydepot/test/COPYING-new#1', copying_file_new)
client.p4.where_files = {
'//mydepot/test/README': readme_file,
'//mydepot/test/COPYING': copying_file,
'//mydepot/test/README-new': readme_file_new,
'//mydepot/test/COPYING-new': copying_file_new,
}
client.p4.fstat_files = {
'change': '12345',
'text': 'Copyright 2013 Joe User.\n',
},
{
'depotFile': '//mydepot/test/COPYING-new',
'rev': '1',
'action': 'move/add',
'change': '12345',
'text': 'Copyright 2013 Joe User.\n',
},
]
readme_file = make_tempfile()
copying_file = make_tempfile()
readme_file_new = make_tempfile()
copying_file_new = make_tempfile()
client.p4.print_file('//mydepot/test/README#2', readme_file)
client.p4.print_file('//mydepot/test/COPYING#2', copying_file)
client.p4.print_file('//mydepot/test/README-new#1', readme_file_new)
client.p4.print_file('//mydepot/test/COPYING-new#1', copying_file_new)
client.p4.where_files = {
'//mydepot/test/README': readme_file,
'//mydepot/test/COPYING': copying_file,
'//mydepot/test/README-new': readme_file_new,
'//mydepot/test/COPYING-new': copying_file_new,
}
client.p4.fstat_files = {
'//mydepot/test/README': {
'clientFile': readme_file,
'movedFile': '//mydepot/test/README-new',
def _process_diffs(self, diff_entries):
"""Process the given diff entries.
Args:
diff_entries (list):
The list of diff entries.
Returns:
bytes:
The processed diffs.
"""
diff_lines = []
empty_filename = make_tempfile()
tmp_diff_from_filename = make_tempfile()
tmp_diff_to_filename = make_tempfile()
for f in diff_entries:
f = f.strip()
if not f:
continue
m = re.search(br'(?P[ACMD]) (?P.*) '
br'(?Prev:revid:[-\d]+) '
br'(?Prev:revid:[-\d]+) '
br'src:(?P.*) '
br'dst:(?P.*)$',
f)
if not m:
raise SCMError('Could not parse "cm log" response: %s' % f)
def _extract_add_files(self, depot_file, local_file, revision,
cl_is_shelved, cl_is_pending):
"""Extract the 'old' and 'new' files for an add operation.
Returns a tuple of (old filename, new filename). This can raise a
ValueError if the extraction fails.
"""
# Make an empty tempfile for the old file
old_filename = make_tempfile()
if cl_is_shelved:
new_filename = make_tempfile()
self._write_file('%s@=%s' % (depot_file, revision), new_filename)
elif cl_is_pending:
# Just reference the file within the client view
new_filename = local_file
else:
new_filename = make_tempfile()
self._write_file('%s#%s' % (depot_file, revision), new_filename)
return old_filename, new_filename
def _process_diffs(self, diff_entries):
"""Process the given diff entries.
Args:
diff_entries (list):
The list of diff entries.
Returns:
bytes:
The processed diffs.
"""
diff_lines = []
empty_filename = make_tempfile()
tmp_diff_from_filename = make_tempfile()
tmp_diff_to_filename = make_tempfile()
for f in diff_entries:
f = f.strip()
if not f:
continue
m = re.search(br'(?P[ACMD]) (?P.*) '
br'(?Prev:revid:[-\d]+) '
br'(?Prev:revid:[-\d]+) '
br'src:(?P.*) '
br'dst:(?P.*)$',
f)
if not m:
def _extract_delete_files(self, depot_file, revision):
"""Extract the 'old' and 'new' files for a delete operation.
Returns a tuple of (old filename, new filename). This can raise a
ValueError if extraction fails.
"""
# Get the old version out of perforce
old_filename = make_tempfile()
self._write_file('%s#%s' % (depot_file, revision), old_filename)
# Make an empty tempfile for the new file
new_filename = make_tempfile()
return old_filename, new_filename