• 
      
    Git Repository
    1
    package main
    2
    3
    import (
    4
        "os/exec"
    5
        "fmt"
    6
    )
    7
    8
    type GitRepository struct {
    9
        RepositoryInfo
    10
    }
    11
    12
    func (repo *GitRepository) GetName() string {
    13
        return repo.Name
    14
    }
    15
    16
    func (repo *GitRepository) GetPath() string {
    17
        return repo.Path
    18
    }
    19
    20
    // GetFile implementation - returns the file bytes
    21
    // after executing cd /path/to/repo ; git show sha
    22
    // This cmd is returning an empty byte[] for me atm, need to investigate later
    23
    func (repo *GitRepository) GetFile(id string) []byte {
    24
        out, _ := exec.Command("cd", repo.Path, ";", "git", "show", id).Output()
    25
        fmt.Println(out)
    26
        return out
    27
    }
    28
    29
    // GetFileExists implementation - returns true if the file exists
    30
    // after executing cd /path/to/repo ; git show sha
    31
    func (repo *GitRepository) GetFileExists(id string) bool {
    32
        cmd := exec.Command("cd", repo.Path, ";", "git", "show", id)
    33
        return cmd.Run() == nil
    34
    }