From: "Andrew Ammerlaan" <andrewammerlaan@riseup.net>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-vcs/lazygit/, dev-vcs/lazygit/files/
Date: Sun, 11 Oct 2020 14:54:24 +0000 (UTC) [thread overview]
Message-ID: <1602336808.8a9d1f129ad73daa975a56f793d65200add3d8ed.andrewammerlaan@gentoo> (raw)
commit: 8a9d1f129ad73daa975a56f793d65200add3d8ed
Author: Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
AuthorDate: Sat Oct 10 13:29:10 2020 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Sat Oct 10 13:33:28 2020 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8a9d1f12
dev-vcs/lazygit: 0.23.1-r1, add SSH key passphrase prompt patch
Signed-off-by: Sergey Torokhov <torokhov-s-a <AT> yandex.ru>
.../files/lazygit-0.23.1_ssh_passphrase.patch | 122 +++++++++++++++++++++
dev-vcs/lazygit/lazygit-0.23.1-r1.ebuild | 38 +++++++
2 files changed, 160 insertions(+)
diff --git a/dev-vcs/lazygit/files/lazygit-0.23.1_ssh_passphrase.patch b/dev-vcs/lazygit/files/lazygit-0.23.1_ssh_passphrase.patch
new file mode 100644
index 00000000..11d63bdf
--- /dev/null
+++ b/dev-vcs/lazygit/files/lazygit-0.23.1_ssh_passphrase.patch
@@ -0,0 +1,122 @@
+diff -Naur a/src/github.com/jesseduffield/lazygit/pkg/commands/oscommands/os.go b/src/github.com/jesseduffield/lazygit/pkg/commands/oscommands/os.go
+--- a/src/github.com/jesseduffield/lazygit/pkg/commands/oscommands/os.go 2020-10-10 02:34:14.000000000 +0300
++++ b/src/github.com/jesseduffield/lazygit/pkg/commands/oscommands/os.go 2020-10-10 14:00:26.000000000 +0300
+@@ -143,18 +143,19 @@
+ return RunCommandWithOutputLiveWrapper(c, command, output)
+ }
+
+-// DetectUnamePass detect a username / password question in a command
+-// promptUserForCredential is a function that gets executed when this function detect you need to fillin a password
+-// The promptUserForCredential argument will be "username" or "password" and expects the user's password or username back
++// DetectUnamePass detect a username / password / passphrase question in a command
++// promptUserForCredential is a function that gets executed when this function detect you need to fillin a password or passphrase
++// The promptUserForCredential argument will be "username", "password" or "passphrase" and expects the user's password/passphrase or username back
+ func (c *OSCommand) DetectUnamePass(command string, promptUserForCredential func(string) string) error {
+ ttyText := ""
+ errMessage := c.RunCommandWithOutputLive(command, func(word string) string {
+ ttyText = ttyText + " " + word
+
+ prompts := map[string]string{
+- `.+'s password:`: "password",
+- `Password\s*for\s*'.+':`: "password",
+- `Username\s*for\s*'.+':`: "username",
++ `.+'s password:`: "password",
++ `Password\s*for\s*'.+':`: "password",
++ `Username\s*for\s*'.+':`: "username",
++ `Enter\s*passphrase\s*for\s*key\s*'.+':`: "passphrase",
+ }
+
+ for pattern, askFor := range prompts {
+diff -Naur a/src/github.com/jesseduffield/lazygit/pkg/gui/credentials_panel.go b/src/github.com/jesseduffield/lazygit/pkg/gui/credentials_panel.go
+--- a/src/github.com/jesseduffield/lazygit/pkg/gui/credentials_panel.go 2020-10-10 02:34:14.000000000 +0300
++++ b/src/github.com/jesseduffield/lazygit/pkg/gui/credentials_panel.go 2020-10-10 03:17:57.000000000 +0300
+@@ -9,7 +9,7 @@
+
+ type credentials chan string
+
+-// promptUserForCredential wait for a username or password input from the credentials popup
++// promptUserForCredential wait for a username, password or passphrase input from the credentials popup
+ func (gui *Gui) promptUserForCredential(passOrUname string) string {
+ gui.credentials = make(chan string)
+ gui.g.Update(func(g *gocui.Gui) error {
+@@ -17,9 +17,12 @@
+ if passOrUname == "username" {
+ credentialsView.Title = gui.Tr.CredentialsUsername
+ credentialsView.Mask = 0
+- } else {
++ } else if passOrUname == "password" {
+ credentialsView.Title = gui.Tr.CredentialsPassword
+ credentialsView.Mask = '*'
++ } else {
++ credentialsView.Title = gui.Tr.CredentialsPassphrase
++ credentialsView.Mask = '*'
+ }
+
+ if err := gui.switchContext(gui.Contexts.Credentials.Context); err != nil {
+@@ -30,7 +33,7 @@
+ return nil
+ })
+
+- // wait for username/passwords input
++ // wait for username/passwords/passphrase input
+ userInput := <-gui.credentials
+ return userInput + "\n"
+ }
+@@ -70,10 +73,10 @@
+ func (gui *Gui) handleCredentialsPopup(cmdErr error) {
+ if cmdErr != nil {
+ errMessage := cmdErr.Error()
+- if strings.Contains(errMessage, "Invalid username or password") {
++ if strings.Contains(errMessage, "Invalid username, password or passphrase") {
+ errMessage = gui.Tr.PassUnameWrong
+ }
+- // we are not logging this error because it may contain a password
++ // we are not logging this error because it may contain a password or a passphrase
+ gui.createErrorPanel(errMessage)
+ } else {
+ _ = gui.closeConfirmationPrompt(false)
+diff -Naur a/src/github.com/jesseduffield/lazygit/pkg/i18n/dutch.go b/src/github.com/jesseduffield/lazygit/pkg/i18n/dutch.go
+--- a/src/github.com/jesseduffield/lazygit/pkg/i18n/dutch.go 2020-10-10 02:34:14.000000000 +0300
++++ b/src/github.com/jesseduffield/lazygit/pkg/i18n/dutch.go 2020-10-10 02:57:03.000000000 +0300
+@@ -19,6 +19,7 @@
+ CommitMessage: "Commit bericht",
+ CredentialsUsername: "Gebruikersnaam",
+ CredentialsPassword: "Wachtwoord",
++ CredentialsPassphrase: "Voer een wachtwoordzin in voor de SSH-sleutel",
+ PassUnameWrong: "Wachtwoord en/of gebruikersnaam verkeert",
+ CommitChanges: "Commit veranderingen",
+ AmendLastCommit: "wijzig laatste commit",
+diff -Naur a/src/github.com/jesseduffield/lazygit/pkg/i18n/english.go b/src/github.com/jesseduffield/lazygit/pkg/i18n/english.go
+--- a/src/github.com/jesseduffield/lazygit/pkg/i18n/english.go 2020-10-10 02:34:14.000000000 +0300
++++ b/src/github.com/jesseduffield/lazygit/pkg/i18n/english.go 2020-10-10 02:56:08.000000000 +0300
+@@ -30,6 +30,7 @@
+ CommitMessage string
+ CredentialsUsername string
+ CredentialsPassword string
++ CredentialsPassphrase string
+ PassUnameWrong string
+ CommitChanges string
+ AmendLastCommit string
+@@ -519,7 +520,8 @@
+ CommitMessage: "Commit message",
+ CredentialsUsername: "Username",
+ CredentialsPassword: "Password",
+- PassUnameWrong: "Password and/or username wrong",
++ CredentialsPassphrase: "Enter passphrase for SSH key",
++ PassUnameWrong: "Password, passphrase and/or username wrong",
+ CommitChanges: "commit changes",
+ AmendLastCommit: "amend last commit",
+ SureToAmend: "Are you sure you want to amend last commit? Afterwards, you can change commit message from the commits panel.",
+diff -Naur a/src/github.com/jesseduffield/lazygit/pkg/i18n/polish.go b/src/github.com/jesseduffield/lazygit/pkg/i18n/polish.go
+--- a/src/github.com/jesseduffield/lazygit/pkg/i18n/polish.go 2020-10-10 02:34:14.000000000 +0300
++++ b/src/github.com/jesseduffield/lazygit/pkg/i18n/polish.go 2020-10-10 02:49:23.000000000 +0300
+@@ -15,7 +15,8 @@
+ CommitMessage: "Wiadomość commita",
+ CredentialsUsername: "Username",
+ CredentialsPassword: "Password",
+- PassUnameWrong: "Password and/or username wrong",
++ CredentialsPassphrase: "Passphrase",
++ PassUnameWrong: "Password, passphrase and/or username wrong",
+ CommitChanges: "commituj zmiany",
+ AmendLastCommit: "zmień ostatnie zatwierdzenie",
+ SureToAmend: "Czy na pewno chcesz zmienić ostatnie zatwierdzenie? Możesz zmienić komunikat zatwierdzenia z panelu zatwierdzeń.",
diff --git a/dev-vcs/lazygit/lazygit-0.23.1-r1.ebuild b/dev-vcs/lazygit/lazygit-0.23.1-r1.ebuild
new file mode 100644
index 00000000..b73db124
--- /dev/null
+++ b/dev-vcs/lazygit/lazygit-0.23.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+EGO_PN="github.com/jesseduffield/lazygit"
+
+inherit golang-build golang-vcs-snapshot
+
+DESCRIPTION="Lazygit, a simple terminal UI for git commands"
+HOMEPAGE="https://github.com/jesseduffield/lazygit"
+SRC_URI="https://github.com/jesseduffield/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc"
+
+DEPEND=( sys-libs/glibc )
+RDEPEND=(
+ ${DEPEND}
+ dev-vcs/git
+)
+
+DOCS=( src/${EGO_PN}/{CONTRIBUTING,README}.md )
+
+PATCHES=( "${FILESDIR}/${P}_ssh_passphrase.patch" )
+
+src_compile() {
+ GOPATH="${S}" go build -v -o bin/lazygit src/${EGO_PN}/main.go || die
+}
+
+src_install() {
+ dobin bin/lazygit
+
+ use doc && dodoc -r "src/${EGO_PN}/docs/."
+ einstalldocs
+}
next reply other threads:[~2020-10-11 14:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-11 14:54 Andrew Ammerlaan [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-11-08 11:13 [gentoo-commits] repo/proj/guru:master commit in: dev-vcs/lazygit/, dev-vcs/lazygit/files/ Andrew Ammerlaan
2020-07-12 11:57 Andrew Ammerlaan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1602336808.8a9d1f129ad73daa975a56f793d65200add3d8ed.andrewammerlaan@gentoo \
--to=andrewammerlaan@riseup.net \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox