Option for 'repo diff' to generate output suitable for 'patch' cmd

The -u option causes 'repo diff' to generate diff output
with file paths relative to the repository root,
so the output can be applied to the Unix 'patch' command.
The name '-u' was selected for convenience, because
both 'diff' and 'git diff' accept the option with the same name
to generate an 'unified diff' output suitable for 'patch' command.

Change-Id: I79c8356db4ed20ecaccc258b3ba139db76666fe0
Reviewed-on: https://gerrit-review.googlesource.com/34380
Reviewed-by: Shawn Pearce <sop@google.com>
Tested-by: Shawn Pearce <sop@google.com>
This commit is contained in:
pelya
2012-03-28 14:49:58 +03:00
committed by Shawn Pearce
parent e9d6b611c5
commit d67872d2f4
2 changed files with 18 additions and 2 deletions

View File

@ -749,7 +749,7 @@ class Project(object):
return 'DIRTY'
def PrintWorkTreeDiff(self):
def PrintWorkTreeDiff(self, absolute_paths=False):
"""Prints the status of the repository to stdout.
"""
out = DiffColoring(self.config)
@ -757,6 +757,9 @@ class Project(object):
if out.is_on:
cmd.append('--color')
cmd.append(HEAD)
if absolute_paths:
cmd.append('--src-prefix=a/%s/' % self.relpath)
cmd.append('--dst-prefix=b/%s/' % self.relpath)
cmd.append('--')
p = GitCommand(self,
cmd,