portvcs 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +18 -10
 - data/bin/portvcs +17 -3
 - data/doc/NEWS +3 -0
 - data/doc/README.rdoc +18 -10
 - data/lib/portvcs/meta.rb +1 -1
 - metadata +5 -3
 
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -18,7 +18,7 @@ At the time of writing FreeBSD uses CVS (jeez) for its ports collection, 
     | 
|
| 
       18 
18 
     | 
    
         
             
            so portvcs (with default configuration) connects to well-known French
         
     | 
| 
       19 
19 
     | 
    
         
             
            CVS server via TCP port 2401 and reads the logs of a particular port.
         
     | 
| 
       20 
20 
     | 
    
         
             
            By default the utility constrains the history to 1 year but that's easy
         
     | 
| 
       21 
     | 
    
         
            -
            changeable via  
     | 
| 
      
 21 
     | 
    
         
            +
            changeable via <tt>-d</tt> CL (command line) option.
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
            portvcs isn't restricted to FreeBSD ports--it can read logs from
         
     | 
| 
       24 
24 
     | 
    
         
             
            (probably) any CVS server but in that case its usefulness is very
         
     | 
| 
         @@ -33,13 +33,13 @@ The options are as follows: 
     | 
|
| 
       33 
33 
     | 
    
         
             
                                        configuration file. The first found wins.
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
            --config NAME::             The name of the configuration file. If
         
     | 
| 
       36 
     | 
    
         
            -
                                        it contains  
     | 
| 
       37 
     | 
    
         
            -
                                        <tt 
     | 
| 
      
 36 
     | 
    
         
            +
                                        it contains <tt>/</tt> in it, the list from
         
     | 
| 
      
 37 
     | 
    
         
            +
                                        <tt>--config-dirs</tt> is ignored.
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
            -d EXP::                     Passes the EXP to VCS server to set limits
         
     | 
| 
       40 
40 
     | 
    
         
             
                                         for the logs. Usually it's something like
         
     | 
| 
       41 
41 
     | 
    
         
             
                                         '2 months ago<'. For all possible values,
         
     | 
| 
       42 
     | 
    
         
            -
                                         read the help for the option  
     | 
| 
      
 42 
     | 
    
         
            +
                                         read the help for the option <tt>-d</tt> in cvs
         
     | 
| 
       43 
43 
     | 
    
         
             
                                         help for its log command, e.g, type:
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
       45 
45 
     | 
    
         
             
                                          % info -n '(cvs)log options'
         
     | 
| 
         @@ -58,8 +58,9 @@ The options are as follows: 
     | 
|
| 
       58 
58 
     | 
    
         | 
| 
       59 
59 
     | 
    
         
             
            --ports-tree DIR::          A directory that follows CVSROOT and serves
         
     | 
| 
       60 
60 
     | 
    
         
             
                                        as a ports tree. For example, CVSROOT can
         
     | 
| 
       61 
     | 
    
         
            -
                                        be  
     | 
| 
       62 
     | 
    
         
            -
                                        be  
     | 
| 
      
 61 
     | 
    
         
            +
                                        be <tt>/home/ncvs</tt> and the ports
         
     | 
| 
      
 62 
     | 
    
         
            +
                                        directory can be <tt>ports</tt> or may be
         
     | 
| 
      
 63 
     | 
    
         
            +
                                        empty at all.
         
     | 
| 
       63 
64 
     | 
    
         | 
| 
       64 
65 
     | 
    
         
             
            --vcs-version::             Just get version of a remote VCS server and
         
     | 
| 
       65 
66 
     | 
    
         
             
                                        exit.
         
     | 
| 
         @@ -70,7 +71,8 @@ The options are as follows: 
     | 
|
| 
       70 
71 
     | 
    
         
             
            -V::                         Show portvcs version and exit.
         
     | 
| 
       71 
72 
     | 
    
         | 
| 
       72 
73 
     | 
    
         
             
            -v::                         Be more verbose. You can supply it several
         
     | 
| 
       73 
     | 
    
         
            -
                                         times, viz.  
     | 
| 
      
 74 
     | 
    
         
            +
                                         times, viz. <tt>-vv</tt> dumps even more
         
     | 
| 
      
 75 
     | 
    
         
            +
                                         debug info.
         
     | 
| 
       74 
76 
     | 
    
         | 
| 
       75 
77 
     | 
    
         
             
            ==Configuration
         
     | 
| 
       76 
78 
     | 
    
         | 
| 
         @@ -79,9 +81,9 @@ portvcs looks for its configuration at 3 places at start up. 
     | 
|
| 
       79 
81 
     | 
    
         
             
            1. At <tt>PORTVCS_CONF</tt> env variable. (Its format is exactly similar
         
     | 
| 
       80 
82 
     | 
    
         
             
               to CL options.)
         
     | 
| 
       81 
83 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
            2. At configuration file. Its default name is <tt>portvcs.yaml</tt> 
     | 
| 
       83 
     | 
    
         
            -
               it can be stored in several system directories which are 
     | 
| 
       84 
     | 
    
         
            -
               by <tt>--config--dirs</tt> CL option.
         
     | 
| 
      
 84 
     | 
    
         
            +
            2. At the configuration file. Its default name is <tt>portvcs.yaml</tt>
         
     | 
| 
      
 85 
     | 
    
         
            +
               and it can be stored in several system directories which are
         
     | 
| 
      
 86 
     | 
    
         
            +
               observable by <tt>--config--dirs</tt> CL option.
         
     | 
| 
       85 
87 
     | 
    
         | 
| 
       86 
88 
     | 
    
         
             
            3. At command line.
         
     | 
| 
       87 
89 
     | 
    
         | 
| 
         @@ -91,6 +93,12 @@ The configuration file must be in YAML format. Look into <tt>`gem env 
     | 
|
| 
       91 
93 
     | 
    
         
             
            gemdir`/gems/portvcs-x.y.z/etc/</tt> directory for samples.
         
     | 
| 
       92 
94 
     | 
    
         | 
| 
       93 
95 
     | 
    
         | 
| 
      
 96 
     | 
    
         
            +
            ==Environment
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            PAGER::           Output from the VCS server goes here.
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
            PORTVCS_CONF::    See Configuration.
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
       94 
102 
     | 
    
         
             
            ==Examples
         
     | 
| 
       95 
103 
     | 
    
         | 
| 
       96 
104 
     | 
    
         
             
             % portvcs www/firefox
         
     | 
    
        data/bin/portvcs
    CHANGED
    
    | 
         @@ -44,6 +44,10 @@ def errx(ec, t) 
     | 
|
| 
       44 
44 
     | 
    
         
             
              exit ec if ec > 0
         
     | 
| 
       45 
45 
     | 
    
         
             
            end
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
      
 47 
     | 
    
         
            +
            def warnx(t)
         
     | 
| 
      
 48 
     | 
    
         
            +
              STDERR.puts File.basename($0) + ' warning: ' + t.to_s
         
     | 
| 
      
 49 
     | 
    
         
            +
            end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       47 
51 
     | 
    
         
             
            def cl_parse(myargs, times = 1)
         
     | 
| 
       48 
52 
     | 
    
         
             
              o = OptionParser.new()
         
     | 
| 
       49 
53 
     | 
    
         
             
              o.banner = $conf[:banner]
         
     | 
| 
         @@ -133,6 +137,7 @@ end 
     | 
|
| 
       133 
137 
     | 
    
         | 
| 
       134 
138 
     | 
    
         
             
            # 4. connect to remote VCS
         
     | 
| 
       135 
139 
     | 
    
         
             
            v = VCS.new($conf[:vcs])
         
     | 
| 
      
 140 
     | 
    
         
            +
            out = STDOUT
         
     | 
| 
       136 
141 
     | 
    
         
             
            begin
         
     | 
| 
       137 
142 
     | 
    
         
             
              v.open(debug: ($conf[:verbose] >= 2 ? true : false), host: $conf[:host], cvsroot: $conf[:cvsroot],
         
     | 
| 
       138 
143 
     | 
    
         
             
                     port: $conf[:port], user: $conf[:user], pass: $conf[:pass],
         
     | 
| 
         @@ -147,18 +152,27 @@ begin 
     | 
|
| 
       147 
152 
     | 
    
         
             
                  end
         
     | 
| 
       148 
153 
     | 
    
         
             
                  p[1] = 'Makefile' if !p[1]
         
     | 
| 
       149 
154 
     | 
    
         | 
| 
      
 155 
     | 
    
         
            +
                  try2retry = true
         
     | 
| 
       150 
156 
     | 
    
         
             
                  out = pager_setup() || STDOUT # get output stream
         
     | 
| 
       151 
157 
     | 
    
         
             
                  vp.log(p[0], p[1], $conf[:date_cond]) {|i|
         
     | 
| 
       152 
158 
     | 
    
         
             
                    begin
         
     | 
| 
       153 
159 
     | 
    
         
             
                      out.puts i
         
     | 
| 
       154 
     | 
    
         
            -
                    rescue Errno::EPIPE
         
     | 
| 
      
 160 
     | 
    
         
            +
                    rescue Errno::EPIPE # problem with pager
         
     | 
| 
      
 161 
     | 
    
         
            +
                      out.close unless out == STDOUT
         
     | 
| 
       155 
162 
     | 
    
         
             
                      out = STDOUT
         
     | 
| 
       156 
     | 
    
         
            -
                       
     | 
| 
      
 163 
     | 
    
         
            +
                      if try2retry
         
     | 
| 
      
 164 
     | 
    
         
            +
                        try2retry = false
         
     | 
| 
      
 165 
     | 
    
         
            +
                        warnx('cannot popen with pager, retrying with stdout')
         
     | 
| 
      
 166 
     | 
    
         
            +
                        retry
         
     | 
| 
      
 167 
     | 
    
         
            +
                      else
         
     | 
| 
      
 168 
     | 
    
         
            +
                        raise
         
     | 
| 
      
 169 
     | 
    
         
            +
                      end
         
     | 
| 
       157 
170 
     | 
    
         
             
                    end
         
     | 
| 
       158 
171 
     | 
    
         
             
                  }
         
     | 
| 
       159 
     | 
    
         
            -
                  out.close unless out == STDOUT
         
     | 
| 
       160 
172 
     | 
    
         
             
                end
         
     | 
| 
       161 
173 
     | 
    
         
             
              }
         
     | 
| 
       162 
174 
     | 
    
         
             
            rescue
         
     | 
| 
       163 
175 
     | 
    
         
             
              errx(1, $!)
         
     | 
| 
      
 176 
     | 
    
         
            +
            ensure
         
     | 
| 
      
 177 
     | 
    
         
            +
              out.close unless out == STDOUT
         
     | 
| 
       164 
178 
     | 
    
         
             
            end
         
     | 
    
        data/doc/NEWS
    ADDED
    
    
    
        data/doc/README.rdoc
    CHANGED
    
    | 
         @@ -18,7 +18,7 @@ At the time of writing FreeBSD uses CVS (jeez) for its ports collection, 
     | 
|
| 
       18 
18 
     | 
    
         
             
            so portvcs (with default configuration) connects to well-known French
         
     | 
| 
       19 
19 
     | 
    
         
             
            CVS server via TCP port 2401 and reads the logs of a particular port.
         
     | 
| 
       20 
20 
     | 
    
         
             
            By default the utility constrains the history to 1 year but that's easy
         
     | 
| 
       21 
     | 
    
         
            -
            changeable via  
     | 
| 
      
 21 
     | 
    
         
            +
            changeable via <tt>-d</tt> CL (command line) option.
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
            portvcs isn't restricted to FreeBSD ports--it can read logs from
         
     | 
| 
       24 
24 
     | 
    
         
             
            (probably) any CVS server but in that case its usefulness is very
         
     | 
| 
         @@ -33,13 +33,13 @@ The options are as follows: 
     | 
|
| 
       33 
33 
     | 
    
         
             
                                        configuration file. The first found wins.
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
            --config NAME::             The name of the configuration file. If
         
     | 
| 
       36 
     | 
    
         
            -
                                        it contains  
     | 
| 
       37 
     | 
    
         
            -
                                        <tt 
     | 
| 
      
 36 
     | 
    
         
            +
                                        it contains <tt>/</tt> in it, the list from
         
     | 
| 
      
 37 
     | 
    
         
            +
                                        <tt>--config-dirs</tt> is ignored.
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
            -d EXP::                     Passes the EXP to VCS server to set limits
         
     | 
| 
       40 
40 
     | 
    
         
             
                                         for the logs. Usually it's something like
         
     | 
| 
       41 
41 
     | 
    
         
             
                                         '2 months ago<'. For all possible values,
         
     | 
| 
       42 
     | 
    
         
            -
                                         read the help for the option  
     | 
| 
      
 42 
     | 
    
         
            +
                                         read the help for the option <tt>-d</tt> in cvs
         
     | 
| 
       43 
43 
     | 
    
         
             
                                         help for its log command, e.g, type:
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
       45 
45 
     | 
    
         
             
                                          % info -n '(cvs)log options'
         
     | 
| 
         @@ -58,8 +58,9 @@ The options are as follows: 
     | 
|
| 
       58 
58 
     | 
    
         | 
| 
       59 
59 
     | 
    
         
             
            --ports-tree DIR::          A directory that follows CVSROOT and serves
         
     | 
| 
       60 
60 
     | 
    
         
             
                                        as a ports tree. For example, CVSROOT can
         
     | 
| 
       61 
     | 
    
         
            -
                                        be  
     | 
| 
       62 
     | 
    
         
            -
                                        be  
     | 
| 
      
 61 
     | 
    
         
            +
                                        be <tt>/home/ncvs</tt> and the ports
         
     | 
| 
      
 62 
     | 
    
         
            +
                                        directory can be <tt>ports</tt> or may be
         
     | 
| 
      
 63 
     | 
    
         
            +
                                        empty at all.
         
     | 
| 
       63 
64 
     | 
    
         | 
| 
       64 
65 
     | 
    
         
             
            --vcs-version::             Just get version of a remote VCS server and
         
     | 
| 
       65 
66 
     | 
    
         
             
                                        exit.
         
     | 
| 
         @@ -70,7 +71,8 @@ The options are as follows: 
     | 
|
| 
       70 
71 
     | 
    
         
             
            -V::                         Show portvcs version and exit.
         
     | 
| 
       71 
72 
     | 
    
         | 
| 
       72 
73 
     | 
    
         
             
            -v::                         Be more verbose. You can supply it several
         
     | 
| 
       73 
     | 
    
         
            -
                                         times, viz.  
     | 
| 
      
 74 
     | 
    
         
            +
                                         times, viz. <tt>-vv</tt> dumps even more
         
     | 
| 
      
 75 
     | 
    
         
            +
                                         debug info.
         
     | 
| 
       74 
76 
     | 
    
         | 
| 
       75 
77 
     | 
    
         
             
            ==Configuration
         
     | 
| 
       76 
78 
     | 
    
         | 
| 
         @@ -79,9 +81,9 @@ portvcs looks for its configuration at 3 places at start up. 
     | 
|
| 
       79 
81 
     | 
    
         
             
            1. At <tt>PORTVCS_CONF</tt> env variable. (Its format is exactly similar
         
     | 
| 
       80 
82 
     | 
    
         
             
               to CL options.)
         
     | 
| 
       81 
83 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
            2. At configuration file. Its default name is <tt>portvcs.yaml</tt> 
     | 
| 
       83 
     | 
    
         
            -
               it can be stored in several system directories which are 
     | 
| 
       84 
     | 
    
         
            -
               by <tt>--config--dirs</tt> CL option.
         
     | 
| 
      
 84 
     | 
    
         
            +
            2. At the configuration file. Its default name is <tt>portvcs.yaml</tt>
         
     | 
| 
      
 85 
     | 
    
         
            +
               and it can be stored in several system directories which are
         
     | 
| 
      
 86 
     | 
    
         
            +
               observable by <tt>--config--dirs</tt> CL option.
         
     | 
| 
       85 
87 
     | 
    
         | 
| 
       86 
88 
     | 
    
         
             
            3. At command line.
         
     | 
| 
       87 
89 
     | 
    
         | 
| 
         @@ -91,6 +93,12 @@ The configuration file must be in YAML format. Look into <tt>`gem env 
     | 
|
| 
       91 
93 
     | 
    
         
             
            gemdir`/gems/portvcs-x.y.z/etc/</tt> directory for samples.
         
     | 
| 
       92 
94 
     | 
    
         | 
| 
       93 
95 
     | 
    
         | 
| 
      
 96 
     | 
    
         
            +
            ==Environment
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            PAGER::           Output from the VCS server goes here.
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
            PORTVCS_CONF::    See Configuration.
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
       94 
102 
     | 
    
         
             
            ==Examples
         
     | 
| 
       95 
103 
     | 
    
         | 
| 
       96 
104 
     | 
    
         
             
             % portvcs www/firefox
         
     | 
    
        data/lib/portvcs/meta.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.0.2
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Alexander Gromnitsky
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2010-12- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-12-15 00:00:00 +02:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: portvcs
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -42,6 +42,7 @@ extra_rdoc_files: 
     | 
|
| 
       42 
42 
     | 
    
         
             
            - doc/TODO
         
     | 
| 
       43 
43 
     | 
    
         
             
            - doc/README.rdoc
         
     | 
| 
       44 
44 
     | 
    
         
             
            - doc/LICENSE
         
     | 
| 
      
 45 
     | 
    
         
            +
            - doc/NEWS
         
     | 
| 
       45 
46 
     | 
    
         
             
            files: 
         
     | 
| 
       46 
47 
     | 
    
         
             
            - lib/portvcs/portvcs.rb
         
     | 
| 
       47 
48 
     | 
    
         
             
            - lib/portvcs/utils.rb
         
     | 
| 
         @@ -50,6 +51,7 @@ files: 
     | 
|
| 
       50 
51 
     | 
    
         
             
            - doc/TODO
         
     | 
| 
       51 
52 
     | 
    
         
             
            - doc/README.rdoc
         
     | 
| 
       52 
53 
     | 
    
         
             
            - doc/LICENSE
         
     | 
| 
      
 54 
     | 
    
         
            +
            - doc/NEWS
         
     | 
| 
       53 
55 
     | 
    
         
             
            - etc/portvcs.yaml
         
     | 
| 
       54 
56 
     | 
    
         
             
            - etc/fr.FreeBSD.org.yaml
         
     | 
| 
       55 
57 
     | 
    
         
             
            - README.rdoc
         
     |