From 853082d4f5c2fbc0c933ebcf16fd97e6efc8aea4 Mon Sep 17 00:00:00 2001 From: Simone Gotti Date: Tue, 11 Jun 2019 15:04:01 +0200 Subject: [PATCH] git-save: make ref prefix configurable and add a method to return it --- internal/git-save/save.go | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/internal/git-save/save.go b/internal/git-save/save.go index 318b54b..fb4307e 100644 --- a/internal/git-save/save.go +++ b/internal/git-save/save.go @@ -28,8 +28,8 @@ import ( ) const ( - gitIndexFile = "index" - gitRefsPrefix = "refs/gitsave" + gitIndexFile = "index" + defaultRefsPrefix = "refs/gitsave" ) func copyFile(src, dest string) error { @@ -146,15 +146,30 @@ func GitPush(configPath, remote, branch string) error { type GitSaveConfig struct { AddUntracked bool AddIgnored bool + RefsPrefix string } type GitSave struct { - log *zap.SugaredLogger - conf *GitSaveConfig + log *zap.SugaredLogger + conf *GitSaveConfig + refsPrefix string } func NewGitSave(logger *zap.Logger, conf *GitSaveConfig) *GitSave { - return &GitSave{log: logger.Sugar(), conf: conf} + refsPrefix := conf.RefsPrefix + if refsPrefix == "" { + refsPrefix = defaultRefsPrefix + } + return &GitSave{ + log: logger.Sugar(), + conf: conf, + refsPrefix: refsPrefix, + } + +} + +func (s *GitSave) RefsPrefix() string { + return s.refsPrefix } // Save adds files to the provided index, creates a tree and a commit pointing to @@ -231,7 +246,7 @@ func (s *GitSave) Save(message, branchName string) error { s.log.Infof("commit: %s", commitSHA) s.log.Infof("updating ref") - if err = gitUpdateRef("git-save", filepath.Join(gitRefsPrefix, branchName), commitSHA); err != nil { + if err = gitUpdateRef("git-save", filepath.Join(s.refsPrefix, branchName), commitSHA); err != nil { return err }