logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

analizo-metrics-history - processes a Git repository collection metrics

Description

       Processes a Git repository collection metrics for every single revision.

       analizometrics-history will process input, a Git repository with a working copy of the source code (i.e.
       not a bare git repository), checkout every relevant commit and run analizometrics on it. The metrics for
       all of the revisions will be accumulated in a file called metrics.csv inside input. If input is omitted,
       the current directory (.) s assumed.

       analizo metrics-history is part of the analizo suite.

Name

       analizo-metrics-history - processes a Git repository collection metrics

Options

       --parallel N, -p N
           Activates support for parallel processing, using N concurrent worker processes. Usually you will want
           N to be less than or equal to the number of CPUs in your machine.

           Note  that  analizo metrics extraction is a CPU-intensive process, so setting N as the exactly number
           of CPUs you have may bring your machine to an unusable state.

       --language LANGUAGE, --exclude DIRECTORY
           Use programming language and directory exclusion filters. See analizo-metrics(1) for a description of
           these options.

       --output <file>, -o <file>
           Make the output be written to file. The default value and valid values depend on the  output  format,
           see "Output formats" below.

       --format FORMAT, -f FORMAT
           Specifies  with output driver, and consequently the output format, to use. See "Output Formats" below
           for a description of the available output drivers.

       --list, -l
           Instead of actually processing the history, just print out the ids  of  the  commits  that  would  be
           processed.

       --progressbar, -b
           Displays  a  progress  bar  during  the execution, so that you know approximately how long analizo is
           going to take to finish.

Output Formats

       Using the --format option, you can use the following output drivers:

   csv
       This is the default output driver. By default, the output will be written to the standard output. If  can
       direct the output to a file using the --output option.

   db
       Stores the extracted data in a relational database.

       When  you  use this driver, you can specify where exactly to store the data using the --output option. If
       you do not specify an explicit target, analizo  will  write  to  a  SQLite  database  in  a  file  called
       output.sqlite3  in  the  current  directory. If you pass a filename, and analizo will store the data in a
       SQLite database that will be created on that file. You can direct the output to  any  other  database  by
       using --outputDSN, where DSN is a DBI Data Source Name.

       You  can  check  DBI(3pm)  for details. Note that if you a database other than SQLite, you must make sure
       that you have the corresponding DBI driver installed.

       Examples:

       $analizometrics-history-fdb-ohistory.db

       Writes the output to a SQLite database called history.db.

       $analizometrics-history-fdb-o'dbi:Pg:dbname=pgdb'

       Writes the data to a PostgreSQL database called pgdb. This requires the DBI::Pg Perl module.

       analizo was not tested with MySQL yet.

Relevant Commits

analizometrics-history considers as relevant the commits that changed at least one source code file.
       Consequently, it skips all the commits where no source code file was changed, such as documentation,
       translations, build system changes, etc.

       Currently we support C, C++, Java and C# projects, and therefore files considered source code are the
       ones terminated in .c, .h, .cpp, .cxx, .cc, .hh, .hpp, .java and .cs.

See Also

analizo-metrics(1)

Usage

         analizo metrics-history [OPTIONS] [<input>]

See Also