Change summary
bridge/github/config.go | 11 +++++++++++
commands/bridge_configure.go | 4 ++++
2 files changed, 15 insertions(+)
Detailed changes
@@ -21,6 +21,7 @@ import (
"github.com/MichaelMure/git-bug/bridge/core"
"github.com/MichaelMure/git-bug/repository"
+ "github.com/MichaelMure/git-bug/util/interrupt"
)
const (
@@ -236,6 +237,16 @@ func promptTokenOptions(owner, project string) (string, error) {
return promptToken()
}
+ // Register restore state cleaner before prompting passwords inputs
+ termState, err := terminal.GetState(int(syscall.Stdin))
+ if err != nil {
+ return "", err
+ }
+
+ interrupt.RegisterCleaner(func() error {
+ return terminal.Restore(int(syscall.Stdin), termState)
+ })
+
return loginAndRequestToken(owner, project)
}
}
@@ -35,6 +35,10 @@ func runBridgeConfigure(cmd *cobra.Command, args []string) error {
defer backend.Close()
interrupt.RegisterCleaner(backend.Close)
+ if (tokenStdin || bridgeParams.Token != "") && (bridgeConfigureName == "" || bridgeConfigureTarget == "") {
+ return fmt.Errorf("you must bridge name and target to configure a bridge with a token")
+ }
+
if bridgeConfigureTarget == "" {
bridgeConfigureTarget, err = promptTarget()
if err != nil {