本文整理汇总了Python中cola.diffparse.DiffParser.generate_patch方法的典型用法代码示例。如果您正苦于以下问题:Python DiffParser.generate_patch方法的具体用法?Python DiffParser.generate_patch怎么用?Python DiffParser.generate_patch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cola.diffparse.DiffParser
的用法示例。
在下文中一共展示了DiffParser.generate_patch方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_diff_at_start
# 需要导入模块: from cola.diffparse import DiffParser [as 别名]
# 或者: from cola.diffparse.DiffParser import generate_patch [as 别名]
def test_diff_at_start(self):
fixture_path = helper.fixture('diff-start.txt')
parser = DiffParser('foo bar/a', core.read(fixture_path))
hunks = parser.hunks
self.assertEqual(hunks[0].lines[0], '@@ -1 +1,4 @@')
self.assertEqual(hunks[-1].lines[-1], '+c')
self.assertEqual(hunks[0].old_start, 1)
self.assertEqual(hunks[0].old_count, 1)
self.assertEqual(hunks[0].new_start, 1)
self.assertEqual(hunks[0].new_count, 4)
self.assertEqual(parser.generate_patch(1, 3),
'--- a/foo bar/a\n'
'+++ b/foo bar/a\n'
'@@ -1 +1,3 @@\n'
' bar\n'
'+a\n'
'+b\n')
self.assertEqual(parser.generate_patch(0, 4),
'--- a/foo bar/a\n'
'+++ b/foo bar/a\n'
'@@ -1 +1,4 @@\n'
' bar\n'
'+a\n'
'+b\n'
'+c\n')
示例2: test_diff_that_empties_file
# 需要导入模块: from cola.diffparse import DiffParser [as 别名]
# 或者: from cola.diffparse.DiffParser import generate_patch [as 别名]
def test_diff_that_empties_file(self):
fixture_path = helper.fixture('diff-empty.txt')
parser = DiffParser('filename', core.read(fixture_path))
hunks = parser.hunks
self.assertEqual(hunks[0].lines[0],
'@@ -1,2 +0,0 @@')
self.assertEqual(hunks[-1].lines[-1],
'-second')
self.assertEqual(hunks[0].old_start, 1)
self.assertEqual(hunks[0].old_count, 2)
self.assertEqual(hunks[0].new_start, 0)
self.assertEqual(hunks[0].new_count, 0)
self.assertEqual(parser.generate_patch(1, 1),
'--- a/filename\n'
'+++ b/filename\n'
'@@ -1,2 +1 @@\n'
'-first\n'
' second\n')
self.assertEqual(parser.generate_patch(0, 2),
'--- a/filename\n'
'+++ b/filename\n'
'@@ -1,2 +0,0 @@\n'
'-first\n'
'-second\n')
示例3: do
# 需要导入模块: from cola.diffparse import DiffParser [as 别名]
# 或者: from cola.diffparse.DiffParser import generate_patch [as 别名]
def do(self):
parser = DiffParser(self.model.filename, self.model.diff_text)
if self.has_selection:
patch = parser.generate_patch(self.first_line_idx,
self.last_line_idx,
reverse=self.reverse)
else:
patch = parser.generate_hunk_patch(self.first_line_idx,
reverse=self.reverse)
if patch is None:
return
cfg = gitcfg.current()
tmp_path = utils.tmp_filename('patch')
try:
core.write(tmp_path, patch,
encoding=cfg.file_encoding(self.model.filename))
if self.apply_to_worktree:
status, out, err = self.model.apply_diff_to_worktree(tmp_path)
else:
status, out, err = self.model.apply_diff(tmp_path)
finally:
os.unlink(tmp_path)
Interaction.log_status(status, out, err)
self.model.update_file_status(update_index=True)