summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--project.py5
-rw-r--r--subcmds/diff.py15
2 files changed, 18 insertions, 2 deletions
diff --git a/project.py b/project.py
index 946a6ac3..303abe33 100644
--- a/project.py
+++ b/project.py
@@ -749,7 +749,7 @@ class Project(object):
749 749
750 return 'DIRTY' 750 return 'DIRTY'
751 751
752 def PrintWorkTreeDiff(self): 752 def PrintWorkTreeDiff(self, absolute_paths=False):
753 """Prints the status of the repository to stdout. 753 """Prints the status of the repository to stdout.
754 """ 754 """
755 out = DiffColoring(self.config) 755 out = DiffColoring(self.config)
@@ -757,6 +757,9 @@ class Project(object):
757 if out.is_on: 757 if out.is_on:
758 cmd.append('--color') 758 cmd.append('--color')
759 cmd.append(HEAD) 759 cmd.append(HEAD)
760 if absolute_paths:
761 cmd.append('--src-prefix=a/%s/' % self.relpath)
762 cmd.append('--dst-prefix=b/%s/' % self.relpath)
760 cmd.append('--') 763 cmd.append('--')
761 p = GitCommand(self, 764 p = GitCommand(self,
762 cmd, 765 cmd,
diff --git a/subcmds/diff.py b/subcmds/diff.py
index e0247140..f233f690 100644
--- a/subcmds/diff.py
+++ b/subcmds/diff.py
@@ -20,8 +20,21 @@ class Diff(PagedCommand):
20 helpSummary = "Show changes between commit and working tree" 20 helpSummary = "Show changes between commit and working tree"
21 helpUsage = """ 21 helpUsage = """
22%prog [<project>...] 22%prog [<project>...]
23
24The -u option causes '%prog' to generate diff output with file paths
25relative to the repository root, so the output can be applied
26to the Unix 'patch' command.
23""" 27"""
24 28
29 def _Options(self, p):
30 def cmd(option, opt_str, value, parser):
31 setattr(parser.values, option.dest, list(parser.rargs))
32 while parser.rargs:
33 del parser.rargs[0]
34 p.add_option('-u', '--absolute',
35 dest='absolute', action='store_true',
36 help='Paths are relative to the repository root')
37
25 def Execute(self, opt, args): 38 def Execute(self, opt, args):
26 for project in self.GetProjects(args): 39 for project in self.GetProjects(args):
27 project.PrintWorkTreeDiff() 40 project.PrintWorkTreeDiff(opt.absolute)