~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

  • Committer: Martin Pool
  • Date: 2005-05-06 02:49:04 UTC
  • Revision ID: mbp@sourcefrog.net-20050506024904-8d274b77f0f28b7e
- new commit --file option!

Show diffs side-by-side

added added

removed removed

Lines of Context:
578
578
 
579
579
    TODO: Strict commit that fails if there are unknown or deleted files.
580
580
    """
581
 
    takes_options = ['message', 'verbose']
 
581
    takes_options = ['message', 'file', 'verbose']
582
582
    aliases = ['ci', 'checkin']
583
583
 
584
 
    def run(self, message=None, verbose=False):
585
 
        if not message:
586
 
            raise BzrCommandError("please specify a commit message")
 
584
    def run(self, message=None, file=None, verbose=False):
 
585
        ## Warning: shadows builtin file()
 
586
        if not message and not file:
 
587
            raise BzrCommandError("please specify a commit message",
 
588
                                  ["use either --message or --file"])
 
589
        elif message and file:
 
590
            raise BzrCommandError("please specify either --message or --file")
 
591
        
 
592
        if file:
 
593
            import codecs
 
594
            message = codecs.open(file, 'rt', bzrlib.user_encoding).read()
 
595
 
587
596
        Branch('.').commit(message, verbose=verbose)
588
597
 
589
598
 
690
699
OPTIONS = {
691
700
    'all':                    None,
692
701
    'help':                   None,
 
702
    'file':                   unicode,
693
703
    'message':                unicode,
694
704
    'profile':                None,
695
705
    'revision':               int,
702
712
 
703
713
SHORT_OPTIONS = {
704
714
    'm':                      'message',
 
715
    'F':                      'file', 
705
716
    'r':                      'revision',
706
717
    'v':                      'verbose',
707
718
}