Skip to content

Commit f65c153

Browse files
author
nate smith
committed
review feedback
1 parent c696416 commit f65c153

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

pkg/cmd/extension/manager.go

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func (m *Manager) Dispatch(args []string, stdin io.Reader, stdout, stderr io.Wri
8383

8484
var externalCmd *exec.Cmd
8585

86-
if ext.IsBinary() {
86+
if ext.IsBinary() || runtime.GOOS != "windows" {
8787
externalCmd = m.newCommand(exe, forwardArgs...)
8888
} else if runtime.GOOS == "windows" {
8989
// Dispatch all extension calls through the `sh` interpreter to support executable files with a
@@ -97,8 +97,6 @@ func (m *Manager) Dispatch(args []string, stdin io.Reader, stdout, stderr io.Wri
9797
}
9898
forwardArgs = append([]string{"-c", `command "$@"`, "--", exe}, forwardArgs...)
9999
externalCmd = m.newCommand(shExe, forwardArgs...)
100-
} else {
101-
externalCmd = m.newCommand(exe, forwardArgs...)
102100
}
103101
externalCmd.Stdin = stdin
104102
externalCmd.Stdout = stdout
@@ -272,30 +270,30 @@ func (m *Manager) getLatestVersion(ext Extension) (string, error) {
272270
if ext.isLocal {
273271
return "", fmt.Errorf("unable to get latest version for local extensions")
274272
}
275-
if ext.kind == GitKind {
276-
gitExe, err := m.lookPath("git")
273+
if ext.IsBinary() {
274+
repo, err := ghrepo.FromFullName(ext.url)
277275
if err != nil {
278276
return "", err
279277
}
280-
extDir := filepath.Dir(ext.path)
281-
gitDir := "--git-dir=" + filepath.Join(extDir, ".git")
282-
cmd := m.newCommand(gitExe, gitDir, "ls-remote", "origin", "HEAD")
283-
lsRemote, err := cmd.Output()
278+
r, err := fetchLatestRelease(m.client, repo)
284279
if err != nil {
285280
return "", err
286281
}
287-
remoteSha := bytes.SplitN(lsRemote, []byte("\t"), 2)[0]
288-
return string(remoteSha), nil
282+
return r.Tag, nil
289283
} else {
290-
repo, err := ghrepo.FromFullName(ext.url)
284+
gitExe, err := m.lookPath("git")
291285
if err != nil {
292286
return "", err
293287
}
294-
r, err := fetchLatestRelease(m.client, repo)
288+
extDir := filepath.Dir(ext.path)
289+
gitDir := "--git-dir=" + filepath.Join(extDir, ".git")
290+
cmd := m.newCommand(gitExe, gitDir, "ls-remote", "origin", "HEAD")
291+
lsRemote, err := cmd.Output()
295292
if err != nil {
296293
return "", err
297294
}
298-
return r.Tag, nil
295+
remoteSha := bytes.SplitN(lsRemote, []byte("\t"), 2)[0]
296+
return string(remoteSha), nil
299297
}
300298
}
301299

@@ -481,7 +479,7 @@ func (m *Manager) upgradeExtension(ext Extension, force bool) error {
481479
return upToDateError
482480
}
483481
var err error
484-
if ext.kind == BinaryKind {
482+
if ext.IsBinary() {
485483
err = m.upgradeBinExtension(ext)
486484
} else {
487485
err = m.upgradeGitExtension(ext, force)

0 commit comments

Comments
 (0)