func ResolveDirs() { var err error LocalGitDir, LocalWorkingDir, err = git.GitAndRootDirs() if err == nil { LocalGitStorageDir = resolveGitStorageDir(LocalGitDir) LocalMediaDir = filepath.Join(LocalGitStorageDir, "lfs", "objects") LocalLogDir = filepath.Join(LocalMediaDir, "logs") TempDir = filepath.Join(LocalGitDir, "lfs", "tmp") // temp files per worktree if err := os.MkdirAll(LocalMediaDir, localMediaDirPerms); err != nil { panic(fmt.Errorf("Error trying to create objects directory in '%s': %s", LocalMediaDir, err)) } if err := os.MkdirAll(LocalLogDir, localLogDirPerms); err != nil { panic(fmt.Errorf("Error trying to create log directory in '%s': %s", LocalLogDir, err)) } LocalObjectTempDir = filepath.Join(TempDir, "objects") if err := os.MkdirAll(LocalObjectTempDir, tempDirPerms); err != nil { panic(fmt.Errorf("Error trying to create temp directory in '%s': %s", TempDir, err)) } } else { errMsg := err.Error() tracerx.Printf("Error running 'git rev-parse': %s", errMsg) if !strings.Contains(errMsg, "Not a git repository") { fmt.Fprintf(os.Stderr, "Error: %s\n", errMsg) } } }
// Determins the LocalWorkingDir, LocalGitDir etc func ResolveGitBasicDirs() { var err error LocalGitDir, LocalWorkingDir, err = git.GitAndRootDirs() if err == nil { // Make sure we've fully evaluated symlinks, failure to do consistently // can cause discrepancies LocalGitDir = tools.ResolveSymlinks(LocalGitDir) LocalWorkingDir = tools.ResolveSymlinks(LocalWorkingDir) LocalGitStorageDir = resolveGitStorageDir(LocalGitDir) LocalReferenceDir = resolveReferenceDir(LocalGitStorageDir) } else { errMsg := err.Error() tracerx.Printf("Error running 'git rev-parse': %s", errMsg) if !strings.Contains(errMsg, "Not a git repository") { fmt.Fprintf(os.Stderr, "Error: %s\n", errMsg) } } }
func ResolveDirs() { var err error LocalGitDir, LocalWorkingDir, err = git.GitAndRootDirs() if err == nil { // Make sure we've fully evaluated symlinks, failure to do consistently // can cause discrepancies LocalGitDir = ResolveSymlinks(LocalGitDir) LocalWorkingDir = ResolveSymlinks(LocalWorkingDir) LocalGitStorageDir = resolveGitStorageDir(LocalGitDir) LocalReferenceDir = resolveReferenceDir(LocalGitStorageDir) TempDir = filepath.Join(LocalGitDir, "lfs", "tmp") // temp files per worktree objs, err := localstorage.New( filepath.Join(LocalGitStorageDir, "lfs", "objects"), filepath.Join(TempDir, "objects"), ) if err != nil { panic(fmt.Sprintf("Error trying to init LocalStorage: %s", err)) } objects = objs LocalMediaDir = objs.RootDir LocalObjectTempDir = objs.TempDir LocalLogDir = filepath.Join(objs.RootDir, "logs") if err := os.MkdirAll(LocalLogDir, localLogDirPerms); err != nil { panic(fmt.Errorf("Error trying to create log directory in '%s': %s", LocalLogDir, err)) } } else { errMsg := err.Error() tracerx.Printf("Error running 'git rev-parse': %s", errMsg) if !strings.Contains(errMsg, "Not a git repository") { fmt.Fprintf(os.Stderr, "Error: %s\n", errMsg) } } }