/stdhome

To get this branch, use:
bzr branch http://bzr.ed.am/stdhome

« back to all changes in this revision

Viewing changes to lib/stdhome/command/diff.py

  • Committer: Tim Marston
  • Date: 2016-05-22 16:40:51 UTC
  • Revision ID: tim@ed.am-20160522164051-h2n54oaxg25c7x7c
updated todo

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
class DiffCommand( Command ):
31
31
 
32
32
 
33
 
        def __init__( self ):
34
 
                self.repo = None
35
 
 
36
 
 
37
33
        def print_help( self ):
38
34
                print "Usage: " + the.program.name + " diff [--repo=REPO] [FILE]..."
39
35
                print
62
58
                        [ "repo=", "verbose", "help" ] )
63
59
                for opt, optarg in opts:
64
60
                        if opt in [ '--repo', '-r' ]:
65
 
                                if not re.match( '^[-a-zA-z0-9.]+$', optarg ):
 
61
                                if not re.search( '^[-a-zA-z0-9.]+$', optarg ):
66
62
                                        raise the.program.FatalError(
67
63
                                                'invalid repository name: ' + optarg )
68
 
                                self.repo = optarg
 
64
                                the.repo = optarg
69
65
                        elif opt in [ '--verbose', '-v' ]:
70
66
                                the.verbose += 1
71
67
                        elif opt == "--help":
72
68
                                self.print_help()
73
 
                
 
69
 
74
70
                # discard first argument (the command)
75
71
                args.pop( 0 )
76
72
 
81
77
        def run( self ):
82
78
 
83
79
                # set up repo and check it exists
84
 
                the.set_repo( self.repo )
85
80
                the.repo.check_dir_exists()
86
81
 
87
82
                # determine files
106
101
                # call colordiff
107
102
                for file in walker.modified:
108
103
                        print ( "\033[33m=== modified '%s'\n" % file ).rstrip()
 
104
                        sys.stdout.flush()
109
105
                        call( [ 'colordiff', '-ud',
110
106
                                        '--label', file,
111
107
                                        os.path.join( the.repo.full_dir, file ),