source: trunk/bin/Parameter.cc @ 39

Last change on this file since 39 was 39, checked in by Jari Häkkinen, 16 years ago

Gnuplot working.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.2 KB
Line 
1// $Id: Parameter.cc 39 2006-01-13 15:02:31Z jari $
2
3#include "Parameter.h"
4
5#include <iostream>
6#include <string>
7
8namespace theplu {
9namespace svnstat {
10
11  Parameter::Parameter(const int argc,const char *argv[])
12    : force_(false), outdir_("svnstat"), root_("."), verbose_(false)
13  {
14 
15    for (int i=1; i<argc; i++) {
16      bool ok=false;
17      std::string myargv(argv[i]);
18      if (myargv=="-d" || myargv=="--directory"){
19        if (++i<argc){
20          outdir_= std::string(argv[i]);
21          ok=true;
22        }
23      }
24      else if (myargv=="-f" || myargv=="--force"){
25          force_=true;
26          ok=true;
27      }
28      else if (myargv=="-h" || myargv=="--help"){
29        help();
30        exit(0);      // always exit after printing help
31      }
32      else if (myargv=="-v" || myargv=="--verbose"){
33          verbose_=true;
34          ok=true;
35      }
36      else if (myargv=="--version"){
37          version();
38          exit(0);
39      }
40      else if (i==argc){
41        root_= myargv;
42        ok = true;
43      }
44      if (!ok){
45        std::cerr << "svnstat: invalid option: " << myargv << "\n"
46                  << "Type 'svnstat --help' for usage." << std::endl;
47        exit(-1);
48      }
49    }
50
51    analyse();
52  }
53
54
55  void Parameter::analyse(void)
56  {
57  }
58
59
60  void Parameter::help(void)
61  {
62    std::cout << "usage: svnstat [options] [path]\n"
63              << "\n"
64              << "svnstat traverses a directory structure (controlled by\n"
65              << "subversion) and calculates developer statistics entries.\n"
66              << "Path is the top level directory of the directory structure\n"
67              << "to traverse. If no PATH is given, it will start in the\n"
68              << "current directory by default. The result is written to a\n"
69              << "sub-directory, svnstat, that is created in the current\n"
70              << "working directory.\n"
71              << "\n"
72              << "Valid options:\n"
73              << "  -d [--dir] arg : output directory [svnstat]\n"
74              << "  -f [--force]   : overwrite existing files\n"
75              << "  -h [--help]    : display this help and exit\n"
76              << "  -v [--verbose] : explain what is being done\n"
77              << "  --version      : print version information and exit\n"
78              << std::endl;
79  }
80
81
82  void Parameter::version(void)
83  {
84    std::cout << "svnstat 0.1\n"
85              << "Written by Jari Hakkinen and Peter Johansson.\n"
86              << std::endl;
87  }
88
89}} // of namespace wenni and namespace theplu
Note: See TracBrowser for help on using the repository browser.