mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 01:24:05 +08:00
opt some
This commit is contained in:
parent
80edcfd1be
commit
cf79f573e7
@ -372,10 +372,11 @@ const (
|
||||
COMMIT = "commit"
|
||||
BRANCH = "branch"
|
||||
|
||||
REMOTE = "remote"
|
||||
ORIGIN = "origin"
|
||||
MASTER = "master"
|
||||
INDEX = "index"
|
||||
REMOTE = "remote"
|
||||
ORIGIN = "origin"
|
||||
MASTER = "master"
|
||||
INDEX = "index"
|
||||
INSTEADOF = "insteadof"
|
||||
)
|
||||
const REPOS = "repos"
|
||||
|
||||
@ -436,28 +437,50 @@ func init() {
|
||||
}
|
||||
}},
|
||||
PULL: {Help: "下载", Hand: func(m *ice.Message, arg ...string) {
|
||||
insteadof := mdb.Config(m, INSTEADOF)
|
||||
_repos_each(m, "", func(repos *git.Repository, value ice.Maps) error {
|
||||
if value[ORIGIN] == "" {
|
||||
return nil
|
||||
} else if work, err := repos.Worktree(); err != nil {
|
||||
}
|
||||
remote, err := repos.Remote("origin")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
remoteURL := remote.Config().URLs[0]
|
||||
if insteadof != "" {
|
||||
remoteURL = insteadof + path.Base(remoteURL)
|
||||
}
|
||||
if work, err := repos.Worktree(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
return work.Pull(&git.PullOptions{})
|
||||
return work.Pull(&git.PullOptions{RemoteURL: remoteURL})
|
||||
}
|
||||
})
|
||||
}},
|
||||
INSTEADOF: {Name: "insteadof remote", Help: "代理", Hand: func(m *ice.Message, arg ...string) {
|
||||
mdb.Config(m, INSTEADOF, m.Option(REMOTE))
|
||||
}},
|
||||
PUSH: {Help: "上传", Hand: func(m *ice.Message, arg ...string) {
|
||||
list := _repos_credentials(m)
|
||||
insteadof := mdb.Config(m, INSTEADOF)
|
||||
_repos_each(m, "", func(repos *git.Repository, value ice.Maps) error {
|
||||
if value[ORIGIN] == "" {
|
||||
return nil
|
||||
}
|
||||
remote, err := repos.Remote("origin")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
remoteURL := remote.Config().URLs[0]
|
||||
if insteadof != "" {
|
||||
remoteURL = insteadof + path.Base(remoteURL)
|
||||
}
|
||||
if u, ok := list[kit.ParseURL(value[ORIGIN]).Host]; !ok {
|
||||
return errors.New("not found userinfo")
|
||||
} else if password, ok := u.User.Password(); !ok {
|
||||
return errors.New("not found password")
|
||||
} else {
|
||||
return repos.Push(&git.PushOptions{Auth: &http.BasicAuth{Username: u.User.Username(), Password: password}})
|
||||
return repos.Push(&git.PushOptions{RemoteURL: remoteURL, Auth: &http.BasicAuth{Username: u.User.Username(), Password: password}})
|
||||
}
|
||||
})
|
||||
}},
|
||||
@ -518,6 +541,9 @@ func init() {
|
||||
}
|
||||
return _repos_status(m, value[REPOS], repos)
|
||||
})
|
||||
if insteadof := mdb.Config(m, INSTEADOF); insteadof != "" {
|
||||
remote = insteadof + path.Base(remote)
|
||||
}
|
||||
if u, ok := list[kit.ParseURL(remote).Host]; ok {
|
||||
password, _ = u.User.Password()
|
||||
}
|
||||
@ -596,6 +622,13 @@ func init() {
|
||||
})
|
||||
})
|
||||
}},
|
||||
"remoteURL": {Hand: func(m *ice.Message, arg ...string) {
|
||||
remoteURL := _git_remote(m)
|
||||
if insteadof := mdb.Config(m, INSTEADOF); insteadof != "" {
|
||||
remoteURL = insteadof + path.Base(remoteURL)
|
||||
}
|
||||
m.Echo(remoteURL)
|
||||
}},
|
||||
web.DREAM_ACTION: {Hand: func(m *ice.Message, arg ...string) { web.DreamProcess(m, []string{}, arg...) }},
|
||||
code.INNER: {Hand: func(m *ice.Message, arg ...string) { _repos_inner(m, _repos_path, arg...) }},
|
||||
}, aaa.RoleAction(REMOTE), mdb.ClearOnExitHashAction(), mdb.HashAction(mdb.SHORT, REPOS, mdb.FIELD, "time,repos,branch,version,comment,origin")), Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -88,11 +88,10 @@ func _status_list(m *ice.Message) (files, adds, dels int, last string) {
|
||||
}
|
||||
|
||||
const (
|
||||
INSTEADOF = "insteadof"
|
||||
OAUTH = "oauth"
|
||||
DIFF = "diff"
|
||||
OPT = "opt"
|
||||
FIX = "fix"
|
||||
OAUTH = "oauth"
|
||||
DIFF = "diff"
|
||||
OPT = "opt"
|
||||
FIX = "fix"
|
||||
|
||||
TAGS = "tags"
|
||||
VERSION = "version"
|
||||
@ -111,6 +110,10 @@ func init() {
|
||||
m.Push(arg[0], kit.MergeURL2(ice.Info.Make.Remote, nfs.PS))
|
||||
case nfs.TO:
|
||||
m.Cmd(web.BROAD, func(value ice.Maps) { m.Push(arg[0], kit.Format("http://%s:%s/", value[tcp.HOST], value[tcp.PORT])) })
|
||||
case REMOTE:
|
||||
m.Cmd(web.BROAD, func(value ice.Maps) { m.Push(arg[0], kit.Format("http://%s:%s/x/", value[tcp.HOST], value[tcp.PORT])) })
|
||||
m.Push(arg[0], "http://localhost:9020/x/")
|
||||
m.Push(arg[0], "https://shylinux.com/x/")
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -123,12 +126,15 @@ func init() {
|
||||
m.Cmdy(REPOS, mdb.INPUTS, arg)
|
||||
}
|
||||
}},
|
||||
INSTEADOF: {Name: "insteadof from* to", Help: "代理", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(CONFIGS, func(value ice.Maps) {
|
||||
kit.If(value[mdb.VALUE] == m.Option(nfs.FROM), func() { _configs_set(m, "--unset", value[mdb.NAME]) })
|
||||
})
|
||||
kit.If(m.Option(nfs.TO), func() { _git_cmd(m, CONFIG, "--global", "url."+m.Option(nfs.TO)+".insteadof", m.Option(nfs.FROM)) })
|
||||
INSTEADOF: {Name: "insteadof remote", Help: "代理", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(REPOS, INSTEADOF, arg)
|
||||
}},
|
||||
// INSTEADOF: {Name: "insteadof from* to", Help: "代理", Hand: func(m *ice.Message, arg ...string) {
|
||||
// m.Cmd(CONFIGS, func(value ice.Maps) {
|
||||
// kit.If(value[mdb.VALUE] == m.Option(nfs.FROM), func() { _configs_set(m, "--unset", value[mdb.NAME]) })
|
||||
// })
|
||||
// kit.If(m.Option(nfs.TO), func() { _git_cmd(m, CONFIG, "--global", "url."+m.Option(nfs.TO)+".insteadof", m.Option(nfs.FROM)) })
|
||||
// }},
|
||||
CONFIGS: {Name: "configs email* username* token", Help: "配置", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(nfs.DEFS, kit.HomePath(".gitconfig"), nfs.Template(m, "gitconfig", m.Option(aaa.USERNAME), m.Option(aaa.EMAIL)))
|
||||
mdb.Config(m, aaa.USERNAME, m.Option(aaa.USERNAME))
|
||||
@ -136,7 +142,7 @@ func init() {
|
||||
kit.If(m.Option(TOKEN), func() { m.Cmd(TOKEN, "set") })
|
||||
}},
|
||||
OAUTH: {Help: "授权", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen(kit.MergeURL2(kit.Select(ice.Info.Make.Domain, _git_remote(m)), web.ChatCmdPath(Prefix(TOKEN), "gen"), tcp.HOST, m.Option(ice.MSG_USERWEB)))
|
||||
m.ProcessOpen(kit.MergeURL2(kit.Select(ice.Info.Make.Domain, m.Cmdx(REPOS, "remoteURL")), web.ChatCmdPath(Prefix(TOKEN), "gen"), tcp.HOST, m.Option(ice.MSG_USERWEB)))
|
||||
}},
|
||||
cli.RESTART: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Go(func() { m.Cmd(ice.EXIT, "1") }).ProcessHold()
|
||||
@ -168,7 +174,7 @@ func init() {
|
||||
m.Action(CONFIGS).Echo("please config email and name. ").EchoButton(CONFIGS)
|
||||
} else if len(arg) == 0 {
|
||||
kit.If(config != nil, func() { m.Option(aaa.EMAIL, kit.Select(mdb.Config(m, aaa.EMAIL), config.User.Email)) })
|
||||
m.Cmdy(REPOS, STATUS).Action(PULL, PUSH, "oauth", CONFIGS, cli.RESTART)
|
||||
m.Cmdy(REPOS, STATUS).Action(PULL, PUSH, "oauth", CONFIGS, INSTEADOF, cli.RESTART)
|
||||
} else {
|
||||
m.Cmdy(REPOS, arg[0], MASTER, INDEX, m.Cmdv(REPOS, arg[0], MASTER, INDEX, nfs.FILE))
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user