소스 검색

Initialise annex with filesize filter

Let git add --all do the adding and annex will take over for adding to
annex and git.
Achilleas Koutsou 6 년 전
부모
커밋
a5abf7c5f1
3개의 변경된 파일12개의 추가작업 그리고 5개의 파일을 삭제
  1. 4 4
      models/models_gin.go
  2. 1 1
      models/repo_editor.go
  3. 7 0
      vendor/github.com/G-Node/go-annex/add.go

+ 4 - 4
models/models_gin.go

@@ -65,7 +65,7 @@ func annexUninit(path string) {
 	}
 	}
 }
 }
 
 
-func annexAdd(path string) {
+func annexSetup(path string) {
 	log.Trace("Running annex add (with filesize filter) in '%s'", path)
 	log.Trace("Running annex add (with filesize filter) in '%s'", path)
 
 
 	// Initialise annex in case it's a new repository
 	// Initialise annex in case it's a new repository
@@ -84,9 +84,9 @@ func annexAdd(path string) {
 		log.Error(1, "Failed to set default backend to 'MD5': %v (%s)", err, msg)
 		log.Error(1, "Failed to set default backend to 'MD5': %v (%s)", err, msg)
 	}
 	}
 
 
-	sizefilterflag := fmt.Sprintf("--largerthan=%d", setting.Repository.Upload.AnnexFileMinSize*gannex.MEGABYTE)
-	if msg, err := gannex.Add(path, sizefilterflag); err != nil {
-		log.Error(1, "Annex add failed with error: %v (%s)", err, msg)
+	// Set size filter in config
+	if msg, err := gannex.SetAnnexSizeFilter(path, setting.Repository.Upload.AnnexFileMinSize*gannex.MEGABYTE); err != nil {
+		log.Error(2, "Failed to set size filter for annex: %v (%s)", err, msg)
 	}
 	}
 }
 }
 
 

+ 1 - 1
models/repo_editor.go

@@ -499,7 +499,7 @@ func (repo *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions)
 		}
 		}
 	}
 	}
 
 
-	annexAdd(localPath) // Running annex add with filter for big files
+	annexSetup(localPath) // Initialise annex and set configuration (with add filter for filesizes)
 	if err = git.AddChanges(localPath, true); err != nil {
 	if err = git.AddChanges(localPath, true); err != nil {
 		return fmt.Errorf("git add --all: %v", err)
 		return fmt.Errorf("git add --all: %v", err)
 	} else if err = git.CommitChanges(localPath, git.CommitChangesOptions{
 	} else if err = git.CommitChanges(localPath, git.CommitChangesOptions{

+ 7 - 0
vendor/github.com/G-Node/go-annex/add.go

@@ -1,6 +1,8 @@
 package gannex
 package gannex
 
 
 import (
 import (
+	"fmt"
+
 	"github.com/G-Node/git-module"
 	"github.com/G-Node/git-module"
 )
 )
 
 
@@ -47,3 +49,8 @@ func SetAddUnlocked(dir string) (string, error) {
 	cmd := git.NewCommand("config", "annex.addunlocked", "true")
 	cmd := git.NewCommand("config", "annex.addunlocked", "true")
 	return cmd.RunInDir(dir)
 	return cmd.RunInDir(dir)
 }
 }
+
+func SetAnnexSizeFilter(dir string, size int64) (string, error) {
+	cmd := git.NewCommand("config", "annex.largefiles", fmt.Sprintf("largerthan=%d", size))
+	return cmd.RunInDir(dir)
+}