mailRe: improved svnmerge


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on May 10, 2007 - 22:31:
Hi,

An easier option for the inefficient, yet very useful, svnmerge
script/program is to avoid using a paraphrase for the ssh public key
which is registered at Gna!.  The insecure paraphrase is not the
password and not really that necessary.  Key swapping has already
occurred by registering the key and hence the password is not asked
for.

Regards,

Edward


On 4/24/07, Gary S. Thompson <garyt@xxxxxxxxxxxxxxx> wrote:
dear All
I have just tried to use svnmerge for the firdst time today and found it
fairly hellish because it asks for you passphrase over and over again.
However, I found this nice hack using expec

#!/usr/bin/expect --
#
# Wrap the svnmerge script, so we're only prompted for our password once.
#
# Written by Tilghman Lesher <repotools-mergetool@xxxxxxxxxxxxxxxx>
#

eval [ concat spawn /usr/bin/svnmerge.real [ lrange $argv 0 end ] ]

expect {
        "Passphrase for" {
                puts "ghere"
                stty -echo
                expect_user -re "(.*)\n"
                stty echo
                send "$expect_out(1,string)\r"
        }
}

expect_after eof exit
while (1) {
        expect {
                "Passphrase for" {
                        send "$expect_out(1,string)\r"
                }
        }

}

which I modified as follows

#!/usr/bin/expect --
#
# Wrap the svnmerge script, so we're only prompted for our password once.
#
# Written by Tilghman Lesher <repotools-mergetool@xxxxxxxxxxxxxxxx>
#
set home $env(HOME)
set svn_merge_path [file join $home bin/svnmerge.py]
eval [ concat spawn  $svn_merge_path  [ lrange $argv 0 end ] ]

expect {
        "*assphrase for" {
                stty -echo
                expect_user -re "(.*)\n"
                stty echo
                send "$expect_out(1,string)\r"
        }
}

expect_after eof exit
while (1) {
        expect
        expect {
                "*assphrase for" {
                        send "$expect_out(1,string)\r"
                }
        }
}

so
1. it now expects the real svnmerge.py to be in $HOME/bin
2. it had a capital P for passphrase which doesn't match all svn versions
3. I haven't managed to suppress all the extra printings of Enter
passphrase for key ... yest but should be able to
4, it will crash if it doesn't see a Enter passphrase at all:
expect: spawn id exp4 not open
    while executing
"expect_after eof exit"
    (file "/usr/jessy/garyt/bin/svnmerge" line 20)
/

regards
gary

--
-------------------------------------------------------------------
Dr Gary Thompson
Astbury Centre for Structural Molecular Biology,
University of Leeds, Astbury Building,
Leeds, LS2 9JT, West-Yorkshire, UK             Tel. +44-113-3433024
email: garyt@xxxxxxxxxxxxxxx                   Fax  +44-113-2331407
-------------------------------------------------------------------



_______________________________________________
relax (http://nmr-relax.com)

This is the relax-devel mailing list
relax-devel@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel




Related Messages


Powered by MHonArc, Updated Sat May 26 19:00:36 2007