Socket
Socket
Sign inDemoInstall

bitbucket.org/_metalogic_/gogit

Package Overview
Dependencies
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    bitbucket.org/_metalogic_/gogit

Read access to a git repository. The api is inspired but not compatible with the Go bindings of libgit2 (git2go).


Version published

Readme

Source

gogit

Pure Go read access to a git repository.

Cloned from github.com/speedata/gogit by Patrick Gundlach gundlach@speedata.de Updated for go modules.


State: Not really actively maintained, but used in production site. Without warranty, of course.
Maturity level: 4/5 (works well in all tested repositories.
License: Free software (MIT License)
Installation: Just run go get bitbucket.org/_metalogic_/gogit
API documentation: https://godoc.org/github.com/speedata/gogit
Contact: dev@roderickmorrison.net
Repository: https://bitbucket.org/_metalogic_/gogit

Example

Sample application to list the latest directory (recursively):

package main

import (
    "github.com/speedata/gogit"
    "log"
    "os"
    "path"
    "path/filepath"
)

func walk(dirname string, te *gogit.TreeEntry) int {
    log.Println(path.Join(dirname, te.Name))
    return 0
}

func main() {
    wd, err := os.Getwd()
    if err != nil {
        log.Fatal(err)
    }
    repository, err := gogit.OpenRepository(filepath.Join(wd, "src/bitbucket.org/_metalogic_/gogit/_testdata/testrepo.git"))
    if err != nil {
        log.Fatal(err)
    }
    ref, err := repository.LookupReference("HEAD")
    if err != nil {
        log.Fatal(err)
    }
    ci, err := repository.LookupCommit(ref.Oid)
    if err != nil {
        log.Fatal(err)
    }
    ci.Tree.Walk(walk)
}

Sample application

We use gogit as the backend in https://ctanmirror.speedata.de. This is a mirror of CTAN, the comprehensive TeX archive network with approx. 30GB of data. We rsync it from the main site at ctan.org every night and add the changes to a git repository (with the regular git command). Then we use this web front end to retrieve the historic files.

The git repository is around 500 GB (May 2017) and dates back to 2013.

FAQs

Last updated on 14 Feb 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc