# # # patch "cmd_key_cert.cc" # from [368ba5326304c4ddb7e403dc1df455d05ab31a73] # to [488ff4175a9c2b0cf85ed15fdf16071e60c60f44] # # patch "tests/ssh_agent/__driver__.lua" # from [30ecccfbc733d168397e221984aaa41a114b7b17] # to [95cd8c83271295eacfdafa032182f9ee07ae1913] # ============================================================ --- cmd_key_cert.cc 368ba5326304c4ddb7e403dc1df455d05ab31a73 +++ cmd_key_cert.cc 488ff4175a9c2b0cf85ed15fdf16071e60c60f44 @@ -150,7 +150,7 @@ CMD(ssh_agent_export, N_("key and cert") cout << decoded_key; else { - ofstream fout(idx(args,0)().c_str(), ofstream::out); + ofstream fout(system_path(idx(args, 0)).as_external().c_str(), ofstream::out); fout << decoded_key; } } ============================================================ --- tests/ssh_agent/__driver__.lua 30ecccfbc733d168397e221984aaa41a114b7b17 +++ tests/ssh_agent/__driver__.lua 95cd8c83271295eacfdafa032182f9ee07ae1913 @@ -26,6 +26,28 @@ check(mtn("ssh_agent_export"), 0, false, -- * (ok) export monotone key with passphrase check(mtn("ssh_agent_export"), 0, false, false, tkey .. "\n" .. tkey .. "\n") +-- * (ok) export in workspace exports to subdir +mkdir("subdir") +mkdir("subdir/anotherdir") +writefile("subdir/foo", "data data") +writefile("subdir/anotherdir/bar", "more data") +chdir("subdir") +check(mtn("add", "foo"), 0, false, false) +check(mtn("add", "-R", "anotherdir"), 0, false, false) + +check(mtn("ssh_agent_export", "id_monotone"), 0, false, false) +skip_if(not existsonpath("chmod")) +check({"chmod", "600", "id_monotone"}, 0, false, false) +chdir("..") + +--commit() +--rev = base_revision() +-- +--check(mtn("checkout", "--revision", rev, "codir"), 0, false, false) +--check(samefile("subdir/foo", "codir/subdir/foo")) +--check(samefile("subdir/anotherdir/bar", "codir/subdir/anotherdir/bar")) + + -- * (ok) export monotone key without passphrase check(mtn("ssh_agent_export", "id_monotone"), 0, false, false) skip_if(not existsonpath("chmod"))