小编Kai*_*nen的帖子

Git是一个善变的客户?为什么没有git-hg?

这是一个困扰我一段时间的问题.我完成了我的作业并检查了stackoverflow,至少找到了关于我的问题的两个主题: Git for Mercurial,如git-svnGit与Mercurial存储库的互操作性

我已经做了一些严肃的谷歌搜索来解决这个问题,但到目前为止没有运气.我还阅读了Git Internals的书,以及Mercurial Definitive Behind the Scenes来试图解决这个问题.我仍然有点疑惑为什么我找不到任何合适的git-hg类型的工具.

从我的角度来看,git-svn是其中一个主要特性,为什么我选择在工作中使用git而不是mercurial.它允许我使用我喜欢的工作流程,如果他们不在乎,没有其他人需要打扰.我只是没有看到使用中间hg repo来回转换的重点,正如其中一个链中所建议的那样.

所以无论如何,从我读过的内容来看,hg和git在概念设计上看起来非常相似.引擎盖下存在差异,但这些都不会阻止为hg创建git客户端.在我看来,远程跟踪分支和章鱼合并使得git比hg更强大.

那么,真正的问题是,为什么git-hg不存在(或者至少很难找到)有任何真正的原因吗?git用户(和开发人员)对他们的hg对手是否有一些敌意导致缺乏git-hg工具?你们有没有计划开发类似的东西,并公开上市?我可以自愿参加(尽管有非常微弱的C技能)参与完成这项工作.我只是没有完全的知识来自己开始这个.

这可能是结束所有DVCS战争的工具吗?

git mercurial interop

73
推荐指数
5
解决办法
2万
查看次数

Win8:在布局文件夹中注册应用程序...失败

Noob警告.我是Windows开发工具的新手.

我安装了最新的Win8 RC,并获得了VS 2012 RC.现在我正在尝试创建一个Metro风格的应用程序(C#),但在从VS执行测试时遇到问题.错误消息是:

Error : DEP0700 : Registration of the app in the layout folder "C:\<FOLDER>" failed. 

error 0x80070005: Failed to set access rights to \\?\C:\<FOLDER>

Failed to activate Metro style unit test executor. Error : The parameter is incorrect.
Run Code Online (Sandbox Code Playgroud)

如果尝试使用vsttest.console.exe从命令行运行单元测试,则最初由于不受信任的根证书而失败.解决方法是使用Certutil添加生成的.cer文件,然后从命令提示符运行单元测试按预期工作.

但是,Visual Studio仍然拒绝使用相同的错误消息运行测试.路径中的*\?*看起来像无效,但我没有足够的经验与VS知道它是否正常.我也试过这里这里的说明,但没有任何用处.

运行

Get-WinEvent -logname Microsoft-Windows-Appx* |Select-Object -first 10|Out-GridView
Run Code Online (Sandbox Code Playgroud)

说"最后一次成功的状态是PrerequiesitesCheced",但除此之外给了我或多或少相同的"无法设置访问权限"错误,如上所述.

更多背景信息:

  • 它是一个共享(超过vcs)项目,它在其他开发机器上运行良好
  • 签名证书不是"我的",但由于它从cmd运行,我认为它不是根本原因
  • 测试是使用Visual Studios单元测试框架编写的,例如NUnit似乎与Metro应用程序不太合作.
  • 目录中的权限应该没问题,我检查了所有文件和目录都归我所有,并且具有读/写访问权限
  • 笔记本电脑上有另一个用户,他使用VS,但项目没有共享,应用程序和签名ID已经重新生成.我也在搜索问题的解决方案时删除了用户名.

有没有人有类似的情况,并设法以某种方式修复它?任何帮助将不胜感激.

microsoft-metro windows-8 visual-studio-2012

5
推荐指数
1
解决办法
4110
查看次数

单元测试执行期间Windows 8 Appx安装超时

我们使用vstest.console.exe运行来自powershell的Win8 Metro单元测试,它包含在Visual Studio 2012中.该过程使用msbuild创建的单元测试appx-package并运行它:

\install\location\vstest.console.exe path\to\unittest.appx /InIsolation

有时执行失败并超时.

Starting test execution, please wait...
Error: Installation of package 
'\absolute\path\to\unittest.appx' 
failed with Error: (0x5B4) Operation timed out. 
Unable to install Windows app package in 15 sec.

For more details look into Event Viewer under 
Applications and Services Logs -> Microsoft -> Windows 
  -> AppXDeployment-Server -> Microsoft-Windows-AppXDeploymentServer/Operational.
Run Code Online (Sandbox Code Playgroud)

如果按照工具的建议检查日志,确实可以看到存在一些错误,但实际上在大约35秒后安装包似乎确实安装了.但是,没有关于这个问题的根本原因的真实迹象.激烈的谷歌搜索没有透露任何东西,所以也许这类问题可以通过bing更好地解决...

这是一个已知的问题?appx安装是否有正常原因导致超时失败,并且可以轻松修复?该错误似乎与安装有关,而不是单元测试.通常,安装和卸载的整个测试执行在几秒钟内完成.

如果上述问题的答案为否,那么是否可以增加进程或系统范围的安装超时?

c# unit-testing microsoft-metro visual-studio-2012

5
推荐指数
1
解决办法
540
查看次数

带有二进制文件的 NodeJS exec 进程

我正在尝试编写一个函数,它将使用本机 openssl 为我做一些 RSA 繁重的工作,而不是使用 js RSA 库。目标是

  1. 从文件中读取二进制数据
  2. 在node进程中做一些处理,使用JS,得到一个包含二进制数据的Buffer
  3. 将缓冲区写入 exec 命令的 stdin 流
  4. RSA 加密/解密数据并将其写入标准输出流
  5. 将输入数据取回 JS-process 中的 Buffer 进行进一步处理

Node 中的子进程模块有一个 exec 命令,但我看不到如何将输入通过管道传输到进程并将其通过管道返回到我的进程。基本上我想执行以下类型的命令,但不必依赖于将内容写入文件(没有检查 openssl 的确切语法)

cat the_binary_file.data | openssl -encrypt -inkey key_file.pem -certin > the_output_stream
Run Code Online (Sandbox Code Playgroud)

我可以通过编写一个临时文件来做到这一点,但如果可能的话,我想避免它。生成子进程允许我访问 stdin/out 但还没有为 exec 找到这个功能。

有没有一种干净的方法可以按照我在这里起草的方式来做到这一点?是否有一些替代方法可以为此使用 openssl,例如,openssl lib 的一些本机绑定,这将允许我在不依赖命令行的情况下执行此操作?

javascript rsa exec node.js

1
推荐指数
1
解决办法
3193
查看次数