LibGit2Sharp blob.GetContentText()不返回\ r

乔·李布达

我试图从存储库中获取文件。

blob.GetContentText()

该文件用“ \ r”表示。在我看来,LibGit2Sharp删除了此角色。是否有可能获得不作任何更改的真实内容?

Update1我在文本文件中包含以下内容:

test1 \r\n
test2 \r\n
test2 \r\n

我提交了文件,可以使用git cat-file返回\ r \ n。

如果我尝试通过LibGit2Sharp获取内容,我只会得到\ n。

我尝试使用不同的编码的GetContextString()以及以下内容:

    Blob blob = (Blob)treeEntry.Target;

    string content;
    using (var tr = new StreamReader(blob.GetContentStream(), Encoding.UTF8))
    {
        content = tr.ReadToEnd();
        MessageBox.Show(content);
    }
空令牌

GetContentText()默认情况下不会执行任何cr / lf替换。只有接受a的重载才FilteringOptions允许这样做。

GetContextText()只会尝试将默认的UTF8应用于UTF16编码转换。可以通过显式传递Blob内容的编码来覆盖它

是否有可能获得不作任何更改的真实内容?

使用GetContentStream()它将返回Blob的原始内容。

您可以看一下BlobFixture测试套件,以更好地了解这些方法及其行为。

该文件包含“ \ r”。

考虑到上面的解释,blob实际上在git对象数据库中包含此字符的可能性很大。您可以通过git cat-file命令和十六进制编辑器再次检查

注意:如果您在库中找到了错误,请在错误跟踪器中使用repro案例引发问题我们会很乐意修复它!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LibGit2Sharp blob.GetContentText()不返回\ r

来自分类Dev

LibGit2Sharp CheckoutPaths()可以在不指定分支的情况下还原文件

来自分类Dev

LibGit2Sharp CheckoutPaths()可以在不指定分支的情况下还原文件

来自分类Dev

libgit2sharp:当“RenameInIndex”预期时,状态(路径)在重命名时返回“NewInIndex”

来自分类Dev

LibGit2Sharp CheckoutPaths()

来自分类Dev

LibGit2Sharp CheckoutPaths()

来自分类Dev

Clone a given branch with LibGit2Sharp

来自分类Dev

Libgit2sharp获取远程分支

来自分类Dev

LibGit2Sharp版本错误MSBuild

来自分类Dev

LibGit2Sharp重命名文件

来自分类Dev

LibGit2Sharp中的稀疏签出

来自分类Dev

Libgit2sharp获取远程分支

来自分类Dev

如何使用LibGit2Sharp从Git获取更改?

来自分类Dev

通过LibGit2Sharp使用git命令指定选项

来自分类Dev

LibGit2Sharp获得{Hash}以来的所有提交

来自分类Dev

如何提交和推送libgit2sharp

来自分类Dev

libgit2sharp树未保存文件的差异

来自分类Dev

如何使用LibGit2Sharp删除遥控器?

来自分类Dev

libgit2sharp创建拉取请求

来自分类Dev

Bitbucket身份验证以使用LibGit2Sharp

来自分类Dev

使用LibGit2Sharp克隆给定的分支

来自分类Dev

用libgit2sharp推送到bitbucket

来自分类Dev

libgit2sharp如何做镜像推送

来自分类Dev

使用libgit2sharp从远程存储库获取更新

来自分类Dev

如何使用libgit2sharp忽略合并提交?

来自分类Dev

使用libgit2sharp中止git merge

来自分类Dev

LibGit2Sharp等效于git diff --stat

来自分类Dev

更改libgit2sharp中存储库的远程URL

来自分类Dev

LibGit2Sharp如何解决冲突?