b8e7ad6b6d
Since at least PR #2706, and indeed earlier, the local and remote refs which are part of the RefUpdate structure have been referred to as the "left" and "right" refs, terminology which stems from the origin of this structure in the "git lfs pre-push" hook command, where each line of input contains commit information in the form: <local ref> <local sha1> <remote ref> <remote sha1> However, outside of this context, "left" and "right" are ambiguous terms, and may potentially be confused with the left and right refs specified in a Git-style two-dot range notation. We therefore replace these terms with "local" and "remote", which should help clarify their purpose throughout the codebase.
27 lines
652 B
Go
27 lines
652 B
Go
package lfs
|
|
|
|
import (
|
|
"github.com/git-lfs/git-lfs/v3/config"
|
|
"github.com/git-lfs/git-lfs/v3/fs"
|
|
"github.com/git-lfs/git-lfs/v3/git"
|
|
)
|
|
|
|
// GitFilter provides clean and smudge capabilities
|
|
type GitFilter struct {
|
|
cfg *config.Configuration
|
|
fs *fs.Filesystem
|
|
}
|
|
|
|
// NewGitFilter initializes a new *GitFilter
|
|
func NewGitFilter(cfg *config.Configuration) *GitFilter {
|
|
return &GitFilter{cfg: cfg, fs: cfg.Filesystem()}
|
|
}
|
|
|
|
func (f *GitFilter) ObjectPath(oid string) (string, error) {
|
|
return f.fs.ObjectPath(oid)
|
|
}
|
|
|
|
func (f *GitFilter) RemoteRef() *git.Ref {
|
|
return git.NewRefUpdate(f.cfg.Git, f.cfg.PushRemote(), f.cfg.CurrentRef(), nil).RemoteRef()
|
|
}
|