2010-09-21 68 views
1

这是一个关于mercurial的问题。Mercurial错误255 - 如何恢复我的存储库?

我不是一个unix的家伙,但是使用一个mercurial和MacHG一起在Mac上开发。昨天我不得不改变我的Mac,我刚刚在新的Mac上复制了我的项目文件夹和存储库,但现在我无法对它进行任何处理。我可以在Xcode打开项目和everuthing是好的,但如果我尝试通过终端做任何事情在善变的我得到这个:abort: data/[email protected]: no node!

如果我尝试做任何事情MacHG我得到Mercurial reported error number 255: skipping unreadable ignore file '/Users/zakhar/.hgignore': No such file or directory abort: data/[email protected]: no node!

我能做什么?我在哪里可以得到这个.hgignore文件?我再也没有旧的mac了。

+1

似乎该副本不包括以点开头的文件。 – Rudi 2010-09-22 08:59:59

回答

4

关于将.DS_Store放入.hgignore文件中的建议是您首次设置该文件时需要回馈的建议宝,但它现在不会帮助。您已在您的旧计算机上的回购库中添加了.DS_Store文件,并添加了一个文件覆盖.hgignore

此外,它看起来像当你从旧计算机的东西复制到新计算机的.hg/data/.DS_Store.i文件,并可能在.DS_Store没有复制。

放到新计算机上的终端上并执行hg verify。如果您收到关于丢失文件的通知(并且看起来像您会这样),那么您需要重新复制存储库,或者更好地使用hg clone将其克隆。

+0

好的,谢谢,我不知道'hg verify'。事实上,我有这些文件丢失,我通过网络复制它,显然有什么地方出错,感谢上帝我做了一个备份副本到USB驱动器,这个副本是好的)。 – Burjua 2010-09-22 11:22:47

+0

是的,它可能是你的复制工具,他说:“他可能不希望这个文件中有.DS_Store的名字”不知道它是存储库的重要历史文件。很高兴它解决了。 – 2010-09-22 15:03:40

1

.hgignore文件告诉Mercurial哪些文件要忽略。

只需创建在提到位置.hgignore文件,并添加以下

# use glob syntax. 
syntax: glob 

*.o 
*.so 
*.log 
*.DS_Store 
.DS_Store 

参见:https://stackoverflow.com/questions/3714820/mercurial-script-plugin-for-ignore-remove-binary-files/3714858#3714858

你也可能需要删除您的回购所有.DS_Store文件:

find . -name .DS_Store -print0 | xargs -0 hg remove 
+0

好的,谢谢,我创建了,hgignore文件,但仍然有错误Mercurial报告错误号255: abort:data /[email protected]:找不到匹配!我该怎么处理它? – Burjua 2010-09-21 17:35:13

+0

是的,我已经做到了,我需要把这个文件放在哪里?我把它放到我的家里(/ Users/zakhar /),可能在别的地方? – Burjua 2010-09-21 17:54:34