Documentation ¶
Index ¶
- Constants
- Variables
- func CloneRepoViaSSH(repoPath, URL, username, repoName string, publicKeys *ssh.PublicKeys) (*git.Repository, error)
- func CompareFile(file1Path string, file2Path string) (bool, error)
- func CreateDir(dirPath string) error
- func CreateFile(filePath string) error
- func CreateLocalBranch(repo *git.Repository, branchs []fs.FileInfo) []string
- func Delay(second float32)
- func DeleteFile(filePath string) error
- func FileEmpty(filePath string) bool
- func FileExist(filePath string) bool
- func FolderEmpty(filePath string) bool
- func GetAbsPath(filePath string) string
- func GetCurrentUserInfo() (*user.User, error)
- func GetHostname() string
- func GetLocalRepoSubmoduleInfo(worktree *git.Worktree) (git.Submodules, error)
- func GetPublicKeysByGit(pemFile string) (*ssh.PublicKeys, error)
- func GetPublicKeysBySSH(pemFile string) (transport.AuthMethod, error)
- func GetRepoBranchInfo(worktree *git.Worktree, which string) ([]fs.FileInfo, error)
- func GetUserInfoById(userId int) (*user.User, error)
- func GetUserInfoByName(userName string) (*user.User, error)
- func GetVariable(key string) string
- func GoToDir(dirPath string) error
- func IsLocalRepo(path string) (bool, *git.Repository)
- func ProgramInfo() map[string]string
- func PullRepo(repo *git.Repository, publicKeys *ssh.PublicKeys) (worktree *git.Worktree, leftCommit, rightCommit *object.Commit, err error)
- func ReadFileCount(file, key string) int
- func ReadFileKey(file, key string) string
- func ReadFileLine(file string, line int) string
- func RunCommand(command string, args []string) error
- func RunCommandGetResult(command string, args []string) (string, error)
- func SetVariable(key, value string) error
- func WriteFile(filePath string, content string) error
Constants ¶
View Source
const ( Name string = "Curator" // 程序名 Version string = "v0.12.0" // 程序版本 Project string = "github.com/yhyj/curator" // 项目地址 )
Variables ¶
View Source
var ( FgBlack = color.FgBlack.Render // 前景色 - 黑色 FgWhite = color.FgWhite.Render // 前景色 - 白色 FgGray = color.FgGray.Render // 前景色 - 灰色 FgRed = color.FgRed.Render // 前景色 - 红色 FgGreen = color.FgGreen.Render // 前景色 - 绿色 FgYellow = color.FgYellow.Render // 前景色 - 黄色 FgBlue = color.FgBlue.Render // 前景色 - 蓝色 FgMagenta = color.FgMagenta.Render // 前景色 - 品红 FgCyan = color.FgCyan.Render // 前景色 - 青色 BgBlack = color.BgBlack.Render // 背景色 - 黑色 BgWhite = color.BgWhite.Render // 背景色 - 白色 BgGray = color.BgGray.Render // 背景色 - 灰色 BgRed = color.BgRed.Render // 背景色 - 红色 BgGreen = color.BgGreen.Render // 背景色 - 绿色 BgYellow = color.BgYellow.Render // 背景色 - 黄色 BgBlue = color.BgBlue.Render // 背景色 - 蓝色 BgMagenta = color.BgMagenta.Render // 背景色 - 品红 BgCyan = color.BgCyan.Render // 背景色 - 青色 InfoText = color.Info.Render // Info 文本 NoteText = color.Note.Render // Note 文本 LightText = color.Light.Render // Light 文本 ErrorText = color.Error.Render // Error 文本 DangerText = color.Danger.Render // Danger 文本 NoticeText = color.Notice.Render // Notice 文本 SuccessText = color.Success.Render // Success 文本 CommentText = color.Comment.Render // Comment 文本 PrimaryText = color.Primary.Render // Primary 文本 WarnText = color.Warn.Render // Warn 文本 QuestionText = color.Question.Render // Question 文本 SecondaryText = color.Secondary.Render // Secondary 文本 )
View Source
var ( RunFlag = "🐙" // 运行状态符号 - 运行中 UnmodifiedFlag = "•" // 运行状态符号 - 未修改 SuccessFlag = "✅" // 运行状态符号 - 成功 WarningFlag = "⚠️" // 运行状态符号 - 警告 ErrorFlag = "❌" // 运行状态符号 - 失败 )
View Source
var ( BranchFlag = "🌿" // Git 符号 - 分支 SubmoduleFlag = "📦" // Git 符号 - 子模块 )
View Source
var ( JoinerIng = "├──" // 条目连接符号 - 中间条目 JoinerFinish = "└──" // 条目连接符号 - 最后条目 )
View Source
var ( GitCommitHash string = "Unknown" // Git 提交 Hash BuildTime string = "Unknown" // 编译时间 BuildBy string = "Unknown" // 编译者 )
View Source
var Arch = runtime.GOARCH // 系统架构
View Source
var Platform = runtime.GOOS // 操作系统
View Source
var UserInfo, _ = GetUserInfoByName(UserName) // 用户信息
View Source
var UserName = func() string { if GetVariable("SUDO_USER") != "" { return GetVariable("SUDO_USER") } return GetVariable("USER") }()
用户名,当程序提权运行时,使用 SUDO_USER 变量获取提权前的用户名
Functions ¶
func CloneRepoViaSSH ¶
func CloneRepoViaSSH(repoPath, URL, username, repoName string, publicKeys *ssh.PublicKeys) (*git.Repository, error)
CloneRepoViaSSH 使用 SSH 协议将远端仓库克隆到本地
参数:
- repoPath: 本地仓库路径
- URL: 远端仓库地址(仅包括主地址,例如:github.com)
- username: 远端仓库用户名
- repoName: 远端仓库名称
- publicKeys: ssh 公钥
返回:
- 本地仓库对象
- 错误信息
func CompareFile ¶
CompareFile 并发比较两个文件是否相同
参数:
- file1Path: 文件1路径
- file2Path: 文件2路径
返回:
- 文件相同返回 true,出错或不同返回 false
func CreateLocalBranch ¶
CreateLocalBranch 本地仓库根据远程分支创建本地分支
- 远程分支 refs/remotes/${remote}/<remoteBranchName>
- 本地分支 refs/heads/<localBranchName>
参数:
- repo: 本地仓库对象
- branchs: 远程分支信息
返回:
- 错误信息切片
func GetLocalRepoSubmoduleInfo ¶
func GetLocalRepoSubmoduleInfo(worktree *git.Worktree) (git.Submodules, error)
GetLocalRepoSubmoduleInfo 获取本地仓库子模块信息
参数:
- worktree: 仓库的 git 工作树对象
返回:
- 子模块信息
- 错误信息
func GetPublicKeysByGit ¶
func GetPublicKeysByGit(pemFile string) (*ssh.PublicKeys, error)
GetPublicKeysByGit 使用 go-git 自带的方法获取 ssh 公钥
参数:
- pemFile: 私钥文件路径
返回:
- ssh 公钥
- 错误信息
func GetPublicKeysBySSH ¶
func GetPublicKeysBySSH(pemFile string) (transport.AuthMethod, error)
GetPublicKeysBySSH 使用 crypto/ssh 模块获取 ssh 公钥
参数:
- pemFile: 私钥文件路径
返回:
- ssh 公钥
- 错误信息
func GetRepoBranchInfo ¶
GetRepoBranchInfo 获取本地仓库的[本地|远程]分支信息
参数:
- worktree: 仓库的 git 工作树对象
- which: 'local' or 'remote',指定要获取的是本地分支还是远程分支
返回:
- 分支信息
- 错误信息
func PullRepo ¶ added in v0.11.0
func PullRepo(repo *git.Repository, publicKeys *ssh.PublicKeys) (worktree *git.Worktree, leftCommit, rightCommit *object.Commit, err error)
PullRepo 拉取远端仓库的更改到本地
参数:
- repo: 本地仓库对象
返回:
- 拉取到的更改的提交信息
- 错误信息
func RunCommandGetResult ¶
RunCommandGetResult 运行命令并返回命令的输出
参数:
- command: 命令
- args: 命令参数
返回:
- 命令的输出
- 错误信息
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.