git-digger

command module
v0.0.0-...-9ef04d6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2023 License: MIT Imports: 8 Imported by: 0

README

git-digger

Overview

git-digger is a tool designed to analyze git repositories and generate interaction graphs between project maintainers and the git projects they contribute to. This tool aims to provide insights into the knowledge and expertise of code contributors, making it easier to understand the dynamics of software development within your organization or open-source projects.

The generated graph is compatible with Gephi and is based on the GraphML format.

Features

  • Scan a folder containing multiple git repositories
  • Generate a Gephi-compatible interaction graph
  • Filter contributions based on a specific date range

Installation

git clone https://github.com/yourusername/git-digger.git
cd git-digger
make install

Usage

To get started with git-digger, you can run the following command:

git-digger [flags]
Flags
  • -h, --help: Show help for git-digger
  • -r, --repo string: Path to the git repository or folder containing multiple repositories
  • -s, --since string: Filter contributions since this date (default is "02/01/2006")
Example
git-digger --repo /path/to/repositories --since "01/01/2021"

Output Format

The output is a GraphML file with the following structure:

// GraphML is a graphml file
type GraphML struct {
        XMLName xml.Name `xml:"graphml"`
        Nodes   []Node   `xml:"graph>node"`
        Edges   []Edge   `xml:"graph>edge"`
}

// Node is a node in the graphml file
type Node struct {
        ID   string `xml:"id,attr"`
        Type string `xml:"type,attr"`
}

// Edge is an edge in the graphml file
type Edge struct {
        Source string `xml:"source,attr"`
        Target string `xml:"target,attr"`
}

Contributing

We welcome contributions! Please see the CONTRIBUTING.md for more details.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Support

For any questions or issues, please open an issue on GitHub or contact the maintainers.


Happy digging! 🛠️

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL