我过去可以通过命令行简单地输入以下内容来更新我的 svn 存储库:
$ svn up
我相信用户名是从钥匙串中获取的~/.subversion/auth,密码是从钥匙串中获取的。我查了一下,这个信息还在那里。然而,最近 SVN 开始提示我输入密码:
$ svn up
Updating '.':
Authentication realm: <https://svn.domain.com:443> Subversion repository
Password for 'username': ***
此外,它还会告诉我:
ATTENTION! Your password for authentication realm [...] can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details.
我尝试设置password-stores = keychain,~/.subversion/config但这没有帮助。
有人知道这是怎么回事吗?如何配置我的 SVN 以使其再次使用钥匙串?
我应该注意我已经通过自制程序安装了 SVN。当前安装的版本是1.9.4。我相信它最近才升级,所以这可能与它有关。除此之外,我运行的是 macOS 10.13.1。
我想提高对内存管理和函数使用的free理解wasm-bindgen。我的理解是,任何分配的东西都必须释放。特别是,这应该适用于从 JS 传递到 Rust 的值。
在文档中,有一个示例,其中 a&str从 JS 传递到 Rust,并且确实按照预期在最后被释放。
export function greet(arg0) {
const [ptr0, len0] = passStringToWasm(arg0);
try {
const ret = wasm.greet(ptr0, len0);
const ptr = wasm.__wbindgen_boxed_str_ptr(ret);
const len = wasm.__wbindgen_boxed_str_len(ret);
const realRet = getStringFromWasm(ptr, len);
wasm.__wbindgen_boxed_str_free(ret);
return realRet;
} finally {
wasm.__wbindgen_free(ptr0, len0);
}
}
Run Code Online (Sandbox Code Playgroud)
这是由以下 Rust 代码生成的。
#[wasm_bindgen]
pub fn greet(a: &str) -> String {
...
}
Run Code Online (Sandbox Code Playgroud)
然而,在同样由 生成的以下函数中,wasm-bindgenaUint32Array被传递给 wasm,从而分配内存,但似乎该内存在函数结束时并未释放。 …