/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/program.py

  • Committer: Tim Marston
  • Date: 2016-05-22 16:45:54 UTC
  • Revision ID: tim@ed.am-20160522164554-n5qhuibvnv0z4tk1
added general reporting to CopyBase and configured it via copy-in and copy-out
walkers (it is required in copy in, during add command); added -R (recursive)
flass to add command; allow vcs backends to augment statically ignored files
list; added detection of out of date working copy to bzr backend;
generate_walk_list() now takes a mandatory directory as the first argument;
don't copy entire subtree during copy of missing directory (as this makes
assumptions about what's in the walk-list)

Show diffs side-by-side

added added

removed removed

117
117
                        'rm': 'remove',
118
118
                        'st': 'status',
119
119
                        'co': 'init',
 
120
                        'ci': 'add',
120
121
                }.get( command, False )
121
122
                if alias: return alias
122
123
 
141
142
 
142
143
        def run( self ):
143
144
                # make an initial attempt to parse the command line, looking only for
144
 
                # --help, --version and --verbose, so that they have the chance to run
145
 
                # without a command being specified
 
145
                # --help and --version so that they have the chance to run without a
 
146
                # command being specified
146
147
                try:
147
148
                        opts, args = getopt.gnu_getopt(
148
 
                                sys.argv[ 1: ], "v",
149
 
                                [ "verbose", "help", "version" ] )
 
149
                                sys.argv[ 1: ], "",
 
150
                                [ "help", "version" ] )
150
151
 
151
152
                        for opt, optarg in opts:
152
153
                                # we only show help if there are no non-option arguments (e.g.,
153
154
                                # a command) specified.  If a command has been specified it will
154
155
                                # have to be parsed and --help will be handled by it, instead)
155
 
                                if opt in [ '--verbose', '-v' ]:
156
 
                                        the.verbose += 1
157
 
                                elif opt == "--help" and len( args ) == 0:
 
156
                                if opt == "--help" and len( args ) == 0:
158
157
                                        self.print_help()
159
158
                                elif opt == "--version":
160
159
                                        self.print_version()
209
208
                try:
210
209
                        instance.run()
211
210
                except Vcs.VcsError as e:
212
 
                        message = e.msg.rstrip()
213
 
                        if the.verbose >= 1:
214
 
                                message += '\n\nOUTPUT:\n' + e.output.rstrip()
 
211
                        message = e.msg.rstrip() + '\n\nVCS OUTPUT:\n' + e.output.rstrip()
215
212
                        self.die( message )
216
213
                except self.FatalError as e:
217
214
                        self.die( e.msg )