Changeset 914 for dasscm/trunk/usr/bin


Ignore:
Timestamp:
Jul 2, 2010, 5:16:50 PM (14 years ago)
Author:
joergs
Message:

added missing command descriptions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dasscm/trunk/usr/bin/dasscm

    r907 r914  
    7676my %COMMAND_DEFINITIONS = (
    7777    'help' => {
    78         'desc'     => [],
     78        'desc'     => ["print help and usage information"],
    7979        'params'   => ["CMD"],
    8080        'function' => \&help,
    8181    },
    8282    'login' => {
    83         'desc'     => [],
     83        'desc'     => ["user login to Subversion repositoty"],
    8484        'params'   => ["USER"],
    8585        'function' => \&login
     
    9494    },
    9595    'ls' => {
    96         'desc'     => [],
     96        'desc'     => ["list file from repository"],
    9797        'params'   => ["PATH_REPO"],
    9898        'function' => \&ls
    9999    },
    100100    'update' => {
    101         'desc'     => [],
     101        'desc' => [
     102            "update local repository checkout",
     103            "Normally, this is done automatically"
     104        ],
    102105        'params'   => ["PATH_REPO"],
    103106        'function' => \&update
    104107    },
    105108    'add' => {
    106         'desc'     => [],
     109        'desc' => [
     110            "add a file to the subversion repository",
     111            "Unlike the native svn command,",
     112            "dasscm adds and immediatly submits a file to the subversion repository"
     113        ],
    107114        'params'   => ["PATH_PROD"],
    108115        'options'  => [ 'verbose', 'message=s' ],
     
    111118    },
    112119    'commit' => {
    113         'desc'     => [],
     120        'desc' => ["commit a changed file to the subversion repository"],
    114121        ## TODO: only modified files
    115122        'params'   => ["PATH_REPO"],
     
    119126    },
    120127    'revert' => {
    121         'desc'     => ["revert local changes back to version from repository"],
     128        'desc' => [
     129            "revert local changes back to version from the repository (see diff)"
     130        ],
    122131        'params'   => ["PATH_REPO"],
    123132        'function' => \&revert
    124133    },
    125134    'blame' => {
    126         'desc' => [],
     135        'desc' => ['like "svn blame"'],
    127136        ## TODO: only files from PATH_REPO
    128137        'params'   => ["PATH_REPO"],
     
    130139    },
    131140    'diff' => {
    132         'desc'     => [],
     141        'desc' => [
     142            'display the differences between files on the system and the repository'
     143        ],
    133144        'params'   => ["PATH_REPO"],
    134145        'function' => \&diff
    135146    },
    136147    'status' => {
    137         'desc'     => [],
     148        'desc' => [
     149            'display status information about modified and deleted files.',
     150            'If no path is given "/" is assumed',
     151            '(in contract to "svn" with assumes ".")'
     152        ],
    138153        'params'   => ["PATH_REPO"],
    139154        'function' => \&status
     
    145160    },
    146161    'permissions' => {
    147         'desc'     => [],
     162        'desc' =>
     163          ["internal, used to update information about file permissions"],
    148164        'params'   => [],
    149165        'function' => \&permissions
    150166    },
    151167    'cleanup' => {
    152         'desc'     => [],
     168        'desc'     => ["internal, used to clean repository checkout"],
    153169        'params'   => [],
    154170        'function' => \&cleanup
    155171    },
    156172    'complete' => {
    157         'desc'     => ["internally, used for bash completion"],
     173        'desc'     => ["internal, used for bash completion"],
    158174        'params'   => ["CMD"],
    159175        'function' => \&complete
    160176    },
    161177    'complete_path' => {
    162         'desc'     => ["internally, used for bash completion"],
     178        'desc'     => ["internal, used for bash completion"],
    163179        'params'   => [],
    164180        'function' => \&complete_path
    165181    },
    166182    'complete_repopath' => {
    167         'desc'     => ["internally, used for bash completion"],
     183        'desc'     => ["internal, used for bash completion"],
    168184        'params'   => [],
    169185        'function' => \&complete_repopath
     
    15761592    # check and remove global options. if options are wrong, nothing to do
    15771593    @ARGV = @input;
    1578     if( GetOptions( \%options_complete, @OPTIONS_GLOBAL ) ) {
     1594    if ( GetOptions( \%options_complete, @OPTIONS_GLOBAL ) ) {
    15791595        my $number_arguments = @input;
    15801596        if ( $number_arguments <= 1 ) {
     
    15841600            map { m/^$input/ && print $_, "\n" } ( keys %COMMANDS );
    15851601        } else {
     1602
    15861603            # complete dasscm parameter
    15871604            my $command = get_command_uniform_name( $input[0] );
    1588             if( $command ) {
     1605            if ($command) {
     1606
    15891607                # remove command
    15901608                shift @input;
    15911609
    15921610                # check and remove options
    1593                 my @options = get_command_possible_options( $command );
     1611                my @options = get_command_possible_options($command);
    15941612                @ARGV = @input;
    1595                 if( ( not @options ) || ( GetOptions( \%options_complete, @options ) ) ) {
    1596 
    1597                     my @params  = get_command_possible_params( $command );
     1613                if (   ( not @options )
     1614                    || ( GetOptions( \%options_complete, @options ) ) )
     1615                {
     1616
     1617                    my @params = get_command_possible_params($command);
    15981618                    if ($verbose) { print "params: ", Dumper(@params); }
    15991619
     
    16021622                    #print "input: ", join( ",", @input ), " (", $number_arguments, ")\n";
    16031623
    1604                     if( $number_arguments > 0 ) {
     1624                    if ( $number_arguments > 0 ) {
    16051625                        my $parameter_number = $number_arguments - 1;
    16061626                        if ( defined( $params[$parameter_number] )
     
    16081628                        {
    16091629                            my $param = $params[$parameter_number];
    1610                             if ($verbose) { print "param used: ", $param, "\n"; }
     1630                            if ($verbose) {
     1631                                print "param used: ", $param, "\n";
     1632                            }
    16111633                            if ( $param eq "PATH_PROD" ) {
    1612                                 complete_path( $input[ $number_arguments - 1 ] );
     1634                                complete_path(
     1635                                    $input[ $number_arguments - 1 ] );
    16131636                            } elsif ( $param eq "PATH_REPO" ) {
    1614                                 complete_repopath( $input[ $number_arguments - 1 ] );
     1637                                complete_repopath(
     1638                                    $input[ $number_arguments - 1 ] );
    16151639                            }
    16161640                        }
     
    16831707# global options
    16841708# stops at first non-option
    1685 Getopt::Long::Configure( 'require_order' );
    1686 if( not GetOptions( \%options, @OPTIONS_GLOBAL ) ) {
     1709Getopt::Long::Configure('require_order');
     1710if ( not GetOptions( \%options, @OPTIONS_GLOBAL ) ) {
    16871711    usage();
    16881712    exit $RETURN_NOK;
     
    16921716$verbose = $options{'verbose'};
    16931717
    1694 if( $options{'help'} ) {
     1718if ( $options{'help'} ) {
    16951719    help(@ARGV);
    16961720    exit;
     
    16981722
    16991723# get subcommand and remove it from @ARGV
    1700 if( defined( $ARGV[0] ) ) {
     1724if ( defined( $ARGV[0] ) ) {
    17011725    $command = get_command_uniform_name( $ARGV[0] );
    17021726    shift @ARGV;
    17031727}
    17041728
    1705 if( not defined($command) ) {
    1706         usage();
    1707         exit $RETURN_NOK;
     1729if ( not defined($command) ) {
     1730    usage();
     1731    exit $RETURN_NOK;
    17081732}
    17091733
     
    17131737# TODO: check variables
    17141738$DASSCM_SVN_REPOSITORY =
    1715     $config->{'DASSCM_SVN_REPOSITORY_BASE'} . "/" . $DASSCM_REPOSITORY_NAME;
     1739  $config->{'DASSCM_SVN_REPOSITORY_BASE'} . "/" . $DASSCM_REPOSITORY_NAME;
    17161740
    17171741$DASSCM_CHECKOUT_USERNAME = $config->{'DASSCM_CHECKOUT_USERNAME'};
     
    17281752if ( $DASSCM_CHECKOUT_USERNAME && $DASSCM_CHECKOUT_PASSWORD ) {
    17291753    $svnCheckoutCredentials =
    1730         " --username $DASSCM_CHECKOUT_USERNAME --password $DASSCM_CHECKOUT_PASSWORD ";
     1754      " --username $DASSCM_CHECKOUT_USERNAME --password $DASSCM_CHECKOUT_PASSWORD ";
    17311755}
    17321756
    17331757$DASSCM_PERMISSION_FILE = $config->{'DASSCM_PERMISSION_FILE'}
    1734     || "/etc/permissions.d/dasscm.permission_backup";
     1758  || "/etc/permissions.d/dasscm.permission_backup";
    17351759
    17361760# check for command options
    1737 my @cmd_options = get_command_possible_options( $command );
    1738 if( @cmd_options ) {
     1761my @cmd_options = get_command_possible_options($command);
     1762if (@cmd_options) {
     1763
    17391764    # get command line options and store them in options hash
    17401765    my $result = GetOptions( \%options, @cmd_options );
Note: See TracChangeset for help on using the changeset viewer.