控制eGit对符号链接的处理

时间:2010-07-22 14:47:48

标签: eclipse git symlink egit

我正在建立一个项目,将由我所在组织的几位程序员共享。我们正在使用git - 我是新手。项目目录包含指向不受版本控制的文档目录的符号链接。我想将版本控制下的符号链接维护为符号链接,而不是将它们解除引用,并将符号链接目录的所有内容置于版本控制之下。

我发现git命令行工具的行为方式符合我的要求:git add -A。但是,如果我尝试使用Eclipse版本的git,eGit,在项目上下文菜单中使用Team->Track添加所有当前未版本化的文件,eGit想要添加符号链接目录中的每个文件。有没有办法告诉eGit,不,这些是真正的符号链接,不应该被解除引用?

2 个答案:

答案 0 :(得分:4)

我们的问题在此讨论:Eclipse Community Forums Thread

看起来目前Linux本机lstat支持不易于移植。他们用Java编程Eclipse的 Least Common Denominator 范例使得Linux或Mac原生的东西变得更难。 (阅读:*咳嗽* Windows不支持符号链接 *咳嗽*)。

好消息是:

似乎可能,但是他们需要以符合他们的“一次性测试无处不在”编程标准的方式对其进行编码。我觉得在使用EGit时因为这个问题以及Eclipse bug #346079而在Linux上获得一些本地statlstat支持很重要。

只需安装EGit就会导致速度减慢和放慢速度。执行Git刷新时IDE会冻结: - (

坏消息是:

这两个错误阻止我使用EGit来执行大多数git命令。用户体验使我的EGit 无法使用。能够在Eclipse中使用EGit,以便Mylyn用户故事&amp ;,这将是非常好。任务可以自动绑定到功能分支。拥有自动提交消息模板功能也很棒。这将使当前任务和提交消息中的状态变得轻而易举。

这足以让我几乎,我已经准备好看看是否可以制作一些脚本来查询Eclipse / Mylyn以获取当前的提交消息模板输出,并从中执行git commit使用此命令行。我不确定每个用户故事的自动功能分支创建是如何工作的。

在这些问题得到修复之前,我确信很多EGit用户都不会满意: - (

答案 1 :(得分:4)

我们遇到了这个问题,使提交屏幕无法结束,偶尔会导致某人忘记包含他们创建的文件。

我们提出的解决方案是手动编辑.gitignore文件,以包括在解除引用符号链接时链接文件将出现的路径:

/ProjectHomeFolder/.gitignore

由于我们在Play Framework中工作,我们还编辑了以下忽略: /ProjectHomeFolder/conf/.gitignore
/ProjectHomeFolder/public/.gitignore

我们简单地补充道 符号链接的每个模块的/ ModuleName现在都可以正确地忽略它们,为了完整性,这里是我的根.gitignore文件的完整内容,它位于项目的根目录中:

  

/。项目
  /.classpath
  /.gitignore
  /蚀
  / tmp目录
  / CRUD
  /.git
  /.settings
  /模块
  / conf目录
  /betterlogs-1.0
  /chronostamp-0.1
  /logisimayml-1.5
  /betterlogs-1.0
  /sass-1.1
  /deadbolt-1.4.2
  /jquery-1.0
  /log4play-0.5
  /messages-1.1.1
  /navigation-0.1
  /jqueryui-1.0
  /scaffold-0.1
  /table-1.2
  /tabularasa-0.2