I'm an experienced git user now working with people who use Mercurial. I really miss 'git gui' for helping me with my commits. I see that two tools, qct and hgct, both support Mercurial.
我是一名经验丰富的git用户,正在与使用Mercurial的人合作。我真的很想念'git gui'来帮助我完成我的工作。我看到两个工具qct和hgct都支持Mercurial。
The things I like best about git gui is that it shows all uncommitted files (and untracked files) and makes it easy for me to add whole files or individual diff hunks into a commit/changeset. With that in mind, which tool am I likely to prefer, qct or hgct? And from your experience, are there other grounds for preferring one tool over the other, and if so what are they?
我最喜欢git gui的东西是它显示所有未提交的文件(以及未跟踪的文件),并使我可以轻松地将整个文件或单个差异添加到提交/更改集中。考虑到这一点,我可能更喜欢哪种工具,qct还是hgct?根据您的经验,是否有其他理由选择一种工具而不是另一种工具,如果是这样,它们是什么?
EDIT
I installed qct, hgct, and tortoisehg on a standard Debian testing system. Of the three, qct was the only one to work out of the box. But to do anything interesting, it seems to require a third-party tool like diffmerge. (The web site claims otherwise, but Debian has not yet caught up to reality.)
我在标准的Debian测试系统上安装了qct,hgct和tortoisehg。在这三个中,qct是唯一一个开箱即用的。但要做任何有趣的事情,它似乎需要像diffmerge这样的第三方工具。 (该网站声称不然,但Debian还没有赶上现实。)
I found qct quite frustrating. Problems include:
我发现qct非常令人沮丧。问题包括:
- Cannot view more than one diff at a time
- Cannot skip all remaining diffs with one mouse click
- Cannot go backwards!
一次无法查看多个差异
只需单击一下鼠标,就无法跳过所有剩余的差异
不能倒退!
My tortoisehg installation experience was frustrating. .deb
files are promised on the web site, but they do not exist. Pulling from the latest stable version gave me a tool that simply produced a stack trace on every invocation. (I found a fix, but really!) After upgrading to the latest Debian unstable hg, however, I was very impressed with the Tortoise Hg commit tool. It is far and away the best approximation to git gui.
我的tortoisehg安装经验令人沮丧。 .deb文件在网站上承诺,但它们不存在。从最新的稳定版本中提取一个工具,只需在每次调用时生成一个堆栈跟踪。 (我发现了一个修复,但是真的!)升级到最新的Debian unstable hg之后,我对Tortoise Hg提交工具印象非常深刻。这是对git gui的最佳近似。
And as an afterthought, hgct was a clear loss:
而作为事后的想法,hgct是一个明显的损失:
Tortoise Hg is the clear winner.
Tortoise Hg是明显的赢家。
3 个解决方案
#1
Like Serge, I'm mostly a command line guy... but let me just note that the TortoiseHg tool is cross-platform -- it took me a very long time to realize this :-)
像Serge一样,我主要是一个命令行...但是我要注意TortoiseHg工具是跨平台的 - 我花了很长时间才意识到这一点:-)
I only use their changeset browser (because it's fast and looks good), but they also supply a commit tool which will show uncommitted and untracked files and let you select individual hunks (like hg record
on the command line). They have a bunch of screenshots available, which might give you a feel for the interface.
我只使用他们的变更集浏览器(因为它速度快,看起来不错),但它们还提供了一个提交工具,它将显示未提交和未跟踪的文件,并允许您选择单独的帅哥(如命令行中的hg记录)。他们有一堆可用的屏幕截图,可以让您感受到界面。
#2
I personally use qct and what I've seen from git gui, qct comes close to it. If you additionally use the qct extension for mercurial you can enhance it a bit more. Another pro of qct is the platform neutrality. I don't know which system you're using, but I run it very satisfying under Linux and Windows. If you use Windows then you could also try TortoiseHg which brings a commit tool, as I remember it's called hgtk. But it should also be possible to run it standalone under Linux since it's written in Python. As I have seen hgct doesn't seem to be actively developed anymore and the last code change was about 2007 so I wouldn't bet that all actual features of mercurial are supported. So I would suggest using qct.
我个人使用qct和我从git gui看到的,qct接近它。如果你另外使用qcur扩展名为mercurial,你可以增强它。另一个qct的专家是平台中立性。我不知道你正在使用哪个系统,但我在Linux和Windows下运行它非常令人满意。如果您使用Windows,那么您也可以尝试TortoiseHg,它带来了一个提交工具,因为我记得它叫做hgtk。但它也应该可以在Linux下独立运行,因为它是用Python编写的。正如我所见,hgct似乎不再被积极开发,最后的代码更改大约是2007年所以我不打赌所有mercurial的实际功能都得到支持。所以我建议使用qct。
#3
Slight off-topic, but still...
偏离主题,但仍然......
Quite a while ago I was using TortoiseSVN and liked it a lot. It has the best VCS UI under Windows (if not the best overall). It has lots of tiny little things, which are helping you.
很久以前,我正在使用TortoiseSVN并且非常喜欢它。它拥有Windows下最好的VCS UI(如果不是最好的整体)。它有许多小东西,它们可以帮到你。
Then I had to do some development on several computers (at work, at home, etc) with no central repository - I started looking for something less centralized. Git was the most powerful one, but it's implementation under Windows is not as bright as Unix's one. Mercurial was the second best and it has become the best one for me since that time.
然后我不得不在没有*存储库的几台计算机上工作(在工作中,在家里等) - 我开始寻找不那么集中的东西。 Git是最强大的,但它在Windows下的实现并不像Unix那样明亮。 Mercurial是第二好的,从那时起它就成了我最好的。
The only difference between the way I was using TortoiseSVN and how I'm using Mercurial now is that I do all the stuff using command line. It is much faster comparing to UI version of any VCS. Of course, there are few cases now and then, when it's hard to manage without some graphical representation or rich UI. The only case I can remember now is 3-way merging.
我使用TortoiseSVN的方式和我现在使用Mercurial的方式之间的唯一区别是我使用命令行执行所有操作。与任何VCS的UI版本相比,它要快得多。当然,现在很少有案例,如果没有一些图形表示或丰富的UI,很难管理。我现在唯一能记住的情况是三向合并。
So, to summarize my point - if you've never tried using command line interface only, just try it for couple of weeks. It is a bit hard for the first few days, but then... You get information much faster - with the speed of your fingers, which are usually faster and much more precise then your arm as a whole, which is needed to use mouse.
所以,总结一下我的观点 - 如果你从未尝试过只使用命令行界面,那就试试几周吧。这对前几天来说有点困难,但是......你得到的信息要快得多 - 手指的速度通常比整个手臂更快,更精确,这是使用鼠标所需要的。
Just try it, you may like it. :)
试试吧,你可能会喜欢它。 :)
PS. Please don't treat my answer as an attempt to teach you - I'm sharing my own experience, which might be useful for you as well.
PS。请不要将我的答案视为教你的尝试 - 我正在分享我自己的经验,这也可能对你有用。
#1
Like Serge, I'm mostly a command line guy... but let me just note that the TortoiseHg tool is cross-platform -- it took me a very long time to realize this :-)
像Serge一样,我主要是一个命令行...但是我要注意TortoiseHg工具是跨平台的 - 我花了很长时间才意识到这一点:-)
I only use their changeset browser (because it's fast and looks good), but they also supply a commit tool which will show uncommitted and untracked files and let you select individual hunks (like hg record
on the command line). They have a bunch of screenshots available, which might give you a feel for the interface.
我只使用他们的变更集浏览器(因为它速度快,看起来不错),但它们还提供了一个提交工具,它将显示未提交和未跟踪的文件,并允许您选择单独的帅哥(如命令行中的hg记录)。他们有一堆可用的屏幕截图,可以让您感受到界面。
#2
I personally use qct and what I've seen from git gui, qct comes close to it. If you additionally use the qct extension for mercurial you can enhance it a bit more. Another pro of qct is the platform neutrality. I don't know which system you're using, but I run it very satisfying under Linux and Windows. If you use Windows then you could also try TortoiseHg which brings a commit tool, as I remember it's called hgtk. But it should also be possible to run it standalone under Linux since it's written in Python. As I have seen hgct doesn't seem to be actively developed anymore and the last code change was about 2007 so I wouldn't bet that all actual features of mercurial are supported. So I would suggest using qct.
我个人使用qct和我从git gui看到的,qct接近它。如果你另外使用qcur扩展名为mercurial,你可以增强它。另一个qct的专家是平台中立性。我不知道你正在使用哪个系统,但我在Linux和Windows下运行它非常令人满意。如果您使用Windows,那么您也可以尝试TortoiseHg,它带来了一个提交工具,因为我记得它叫做hgtk。但它也应该可以在Linux下独立运行,因为它是用Python编写的。正如我所见,hgct似乎不再被积极开发,最后的代码更改大约是2007年所以我不打赌所有mercurial的实际功能都得到支持。所以我建议使用qct。
#3
Slight off-topic, but still...
偏离主题,但仍然......
Quite a while ago I was using TortoiseSVN and liked it a lot. It has the best VCS UI under Windows (if not the best overall). It has lots of tiny little things, which are helping you.
很久以前,我正在使用TortoiseSVN并且非常喜欢它。它拥有Windows下最好的VCS UI(如果不是最好的整体)。它有许多小东西,它们可以帮到你。
Then I had to do some development on several computers (at work, at home, etc) with no central repository - I started looking for something less centralized. Git was the most powerful one, but it's implementation under Windows is not as bright as Unix's one. Mercurial was the second best and it has become the best one for me since that time.
然后我不得不在没有*存储库的几台计算机上工作(在工作中,在家里等) - 我开始寻找不那么集中的东西。 Git是最强大的,但它在Windows下的实现并不像Unix那样明亮。 Mercurial是第二好的,从那时起它就成了我最好的。
The only difference between the way I was using TortoiseSVN and how I'm using Mercurial now is that I do all the stuff using command line. It is much faster comparing to UI version of any VCS. Of course, there are few cases now and then, when it's hard to manage without some graphical representation or rich UI. The only case I can remember now is 3-way merging.
我使用TortoiseSVN的方式和我现在使用Mercurial的方式之间的唯一区别是我使用命令行执行所有操作。与任何VCS的UI版本相比,它要快得多。当然,现在很少有案例,如果没有一些图形表示或丰富的UI,很难管理。我现在唯一能记住的情况是三向合并。
So, to summarize my point - if you've never tried using command line interface only, just try it for couple of weeks. It is a bit hard for the first few days, but then... You get information much faster - with the speed of your fingers, which are usually faster and much more precise then your arm as a whole, which is needed to use mouse.
所以,总结一下我的观点 - 如果你从未尝试过只使用命令行界面,那就试试几周吧。这对前几天来说有点困难,但是......你得到的信息要快得多 - 手指的速度通常比整个手臂更快,更精确,这是使用鼠标所需要的。
Just try it, you may like it. :)
试试吧,你可能会喜欢它。 :)
PS. Please don't treat my answer as an attempt to teach you - I'm sharing my own experience, which might be useful for you as well.
PS。请不要将我的答案视为教你的尝试 - 我正在分享我自己的经验,这也可能对你有用。