in updates_check.go [97:133]
func checkRemoteOlarisNewer(olaris_path string) bool {
trace("checkRemoteOlarisNewer", olaris_path)
repo, err := git.PlainOpen(olaris_path)
if err != nil {
warn("failed to check olaris folder", err)
return false
}
localRef, err := repo.Head()
if err != nil {
warn("failed to check olaris folder", err)
return false
}
remote, err := repo.Remote("origin")
if err != nil {
warn("failed to check remote olaris", err)
return false
}
_ = remote.Fetch(&git.FetchOptions{})
remoteRefs, err := remote.List(&git.ListOptions{})
if err != nil {
warn("failed to check remote olaris", err)
return false
}
// check ref is in refs
for _, remoteRef := range remoteRefs {
if localRef.Name().String() == remoteRef.Name().String() {
// is hash different?
if localRef.Hash().String() != remoteRef.Hash().String() {
return true
}
}
}
return false
}