func checkRemoteOlarisNewer()

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
}