我在服务器上设置了一个 mercurial 存储库,我希望能够远程访问它。我该怎么做呢?
我正在寻找具有可靠Mercurial支持的体面的 Windows 编辑器。我在使用 Notepad++ 时遇到了一些麻烦(Windows 资源管理器插件不断崩溃)。有哪些替代方案?
我不反对为有价值的产品支付合理的金额。
我正在尝试将 mercurial 配置为在远程计算机上使用,该计算机在备用端口上运行sshd,并且我的登录需要使用密码的特定密钥。 ssh已配置并且工作正常,如下所示:
ssh -i ~/.ssh/id_rsa-xyz -p 1234 myuser@barney.example.com
Run Code Online (Sandbox Code Playgroud)
我的问题是hgrc文件中使用别名 ( barney-stuff) 或default-push属性中的任何一个进行此操作的内容:
hg push barney-alias
hg push
Run Code Online (Sandbox Code Playgroud)
我在 Mercurial 上看到的大多数ssh文档都假定默认端口和预加载的密钥。
我尝试将其添加到存储库的hgrc文件中:
ssh = /usr/bin/ssh -i /home/me/.ssh/id_rsa-xyz -p 1234
default = ssh://myuser@barney.example.com//hgroot/project1
Run Code Online (Sandbox Code Playgroud)
但是hg push只是挂起。
我想制作一个可以分发给远程用户的 ssh 密钥(无密码),以便他们可以对我的存储库进行 hg pull 或 hg 克隆。我已经制作了一个仅使用命令 /usr/bin/hg 的 ssh 密钥,但是在使用 clone 或 pull 命令时不起作用,因为命令字符串与远程命令调用 mercurial 的任何内容都不匹配内部使用。
当您执行以下操作时,是否可以在远程主机上获取 mercurial 执行的命令:
hg clone ssh://user@host//path-to-repo
hg pull ssh://user@host//path-to-repo
Run Code Online (Sandbox Code Playgroud)
我能否可靠地提出几个涵盖我所有基础的命令字符串?如果他们要拉取特定的修订版,是否会通过 ssh 使用不同的远程命令?
在尝试使用 mercurial 将大约 500 MB 的存储库克隆到我的本地驱动器时,我反复收到“内存不足”错误。我有 2 GB 的内存,我从来没有见过这个。我安装了最新版本的 mercurial,并尝试使用不同的身份验证。有人有什么建议吗?
我是 mercurial 的新手,我正在尝试以hgrc这样一种方式进行设置,即我可以推送到 Google 代码存储库,而不必每次都输入密码。我可以在 下指定一个https://user:pass@project.googlecode.com/存储库paths.default,但这看起来很混乱。因此,我正在尝试使用该[auth]部分,据我所知,它比第一个解决方案更值得推荐。到目前为止,我已经这样设置了:
[auth]
myproject.prefix = myproject.googlecode.com/hg
myproject.username = my.username
myproject.password = ******
myproject.schemes = https
Run Code Online (Sandbox Code Playgroud)
但我不知道从这里去哪里。尝试推动给出:
abort: repository default-push not found!
Run Code Online (Sandbox Code Playgroud)
我必须以某种方式指定要使用的默认存储库(myproject)或类似的东西,但是如何?
我有以下.hgignore:
\.pyc$
Run Code Online (Sandbox Code Playgroud)
然而在我的hg st.pyc 文件中仍然显示为已修改并使用hg ci.
我也试过这个.hgignore:
syntax: glob
*.pyc
Run Code Online (Sandbox Code Playgroud)
但结果相同..
知道有什么问题吗?
我是 mercurial 的新手,在大多数情况下,使用 .csv 和/或 .sqlite 文件在 R 中进行 LaTeX 报告和统计计算。Re LaTeX,我真正关心的是 .tex 文件。Re R,我不需要对 .csv 或 .sqlite 文件进行版本控制,因为它们是静态的。
当我使用 .csv 和/或 .sqlite 文件为 repo 执行“hg add”时,我收到如下警告:
rev2.sqlite: up to 3070 MB of RAM may be required to manage this file
(use 'hg revert rev2.sqlite' to cancel pending addition)
Run Code Online (Sandbox Code Playgroud)
所以我恢复并随后使用添加像hg add -X *.sqlite. 我想我真的有两个问题:
(1) 我应该忽略这些警告吗?因为这些大文件是静态的,我可以在知道 diff 文件总是空的而不用担心浪费资源的情况下添加到 repo 中吗?
(2) 如果我应该继续从 repo 中排除这些文件,我可以修复这个选项吗?IE,向我的 .hgrc 文件添加一些总是附加一个选项的东西,比如-I *.tex -I *.R我的“hg add”命令?
谢谢!
我想使用 kdiff3 在 mercurial 中合并一些东西。因此,我安装了 kdiff3 并将以下内容添加到~/.hgrc:
[extdiff]
cmd.kdiff3 =
[merge-tools]
kdiff3.args = $base $local $other -o $output
Run Code Online (Sandbox Code Playgroud)
但是 Mercurial 一直将 FileMerge 称为合并工具。我首先检查 kdiff3 是否正常工作。从聚光灯下调用它打开了它。然后我从命令行调用它以检查 HG 是否无法调用它,但这也有效。然后我在某处找到了在以下位置传递完整路径的提示.hgrc:
[extdiff]
cmd.kdiff3 = /Applications/kdiff3.app/Contents/MacOS/kdiff3
Run Code Online (Sandbox Code Playgroud)
但这也没有帮助。当 Mercurial 要打开合并工具时,kdiff3 也没有错误信息,只有 FileMerge 一些奇怪的错误。
问题是:为什么 Mercurial 拒绝打开 kdiff3?
Y:\>hg -R Y:/mercFlow.cache/vm-linux rename Migration-2010/create_directory_stru
cture.pl Migration-2010/create_directory_structure.pl2
abort: Migration-2010/create_directory_structure.pl not under root
Run Code Online (Sandbox Code Playgroud)
我在使用 Mercurial 的 Windows 中。我正在尝试重命名\移动文件作为一个简单的测试。Y:/mercFlow.cache/vm-linx/Migration-2010/create_directory_structure.pl 存在并且可以在文件浏览器中浏览。Migration-2010/create_directory_Structure.pl 似乎确实存在于 vm-linux 本地存储库下。
这里出了什么问题?
mercurial ×10
ssh ×2
clone ×1
editing ×1
macos ×1
push ×1
repository ×1
sshd ×1
tortoise-hg ×1
windows ×1