将Git仓库添加到Perforce仓库库中

4
我试图将一个已检出的Git存储库添加到我的Perforce仓库中。别误会:Git和Perforce之间并没有集成,我只是想把一个外部的Git仓库放在那里,以便像一个Git仓库一样访问它,并像平常一样使用拉取/推送和其他Git操作。
在.git文件夹内,除了TortoiseGit特定的文件和hooks文件夹外,我提交了所有文件。
然而,当我将该Git仓库下载到另一台PC上的Perforce工作区时,`git status`告诉我,“fatal: Reference has invalid format: 'refs/remotes/origin/master”。 所有四个名为master的文件看起来都没问题,例如文件`.git\refs\remotes\origin\master`包含一个提交哈希,后面跟着一个Windows新行符。
我做错了什么?
1个回答

4

好的,这个很明显。Perforce很愚蠢,并默认自动转换行尾。详情请参见这里。可以在高级工作区选项中更改。

Git不喜欢.git/*文件中的Windows风格换行符,更糟糕的是,如果例如所有源代码都有LF换行符并且Perforce将它们转换为CRLF,则整个Git工作树将被标记为已修改。耶!(当然,像Git这样的好的版本控制系统会给您提供“按原样签出,按原样提交”的选项,这是唯一有意义的选项。)


如果你在Linux和Windows上工作,这是来自Perforce的一个方便的东西。我总是在Windows上设置为共享:将文件转换为CRLF但将它们存储为LF。 - Pato Sandaña

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接