Tag: libgit2sharp

与Libgit2相比,Git藏在窗户上的速度极慢

最近我一直在使用git stash多次,我一直认为它真的很慢,即使在一个带有单个文件的新存储库中也是如此。 我已经阅读了关于git stash slowness和另一个 问题的这个问题 ,并尝试了对这些问题的每个答案,但实际上没有任何效果。 例如,我已经完成了以下步骤来重现它: git init touch file.txt vim file.txt (编辑文件添加2行) git add . git commit -m “Initial commit” vim file.txt (再次编辑添加1行) time git stash 输出: $ time git stash Saved working directory and index state WIP on master: b9454ed Initial commit HEAD is now at b9454ed Initial commit real 0m8.042s […]

如何使用libgit2sharp获取以前版本的文件

我正在尝试使用libgit2sharp来获取文件的先前版本。 我希望工作目录保持原样,至少恢复到以前的状态。 我最初的方法是尝试存储,检查我想要的文件的路径,将其保存到字符串变量,然后存储弹出窗口。 有没有办法存放流行音乐? 我很难找到它。 这是我到目前为止的代码: using (var repo = new Repository(DirectoryPath, null)) { var currentCommit = repo.Head.Tip.Sha; var commit = repo.Commits.Where(c => c.Sha == commitHash).FirstOrDefault(); if (commit == null) return null; var sn = “Stash Name”; var now = new DateTimeOffset(DateTime.Now); var diffCount = repo.Diff.Compare().Count(); if(diffCount > 0) repo.Stashes.Add(new Signature(sn, “x@y.com”, now), options: StashModifiers.Default); […]

存储凭据以便自动使用

我已经环顾四周,因为我不是安全或加密专家,我仍然对如何在我的程序中实现加密感到困惑。 我需要一台服务器登录到它的gitHub帐户来更新带有特殊标题的代码文件。 我现在唯一的挂断是如何存储/检索服务器的凭据。 PushOptions push = new PushOptions { Credentials = new UsernamePasswordCredentials { Password = “password”, Username = “Username” } }; 我如何加密这些凭据以进行存储? 我知道将它们存储在代码中是一个坏主意,就像示例那样,并且将它们存储在未加密的任何文件中也是一个坏主意。 此外,我想要的唯一用户交互是在服务器上编译和设置程序时发生的。 它是Linux服务器上的cronjob,以防万一。 另一个要注意的细节,我正在使用libgit2sharp,但之前使用的是bash脚本和ssh来进行身份validation以进行测试。

在LibGit2Sharp中找出提交所属的分支?

我正在循环LibGit2Sharp提交: Repository repo = new Repository(“Z:/www/gg”); foreach (LibGit2Sharp.Commit commit in repo.Commits) { … } 我可以检索像Author和Message这样的属性,但是我没有看到它属于哪个分支的任何内容? 理想情况下,我希望有一个指向分支对象的指针,但在这种情况下,即使名称也没问题。 这是调试器显示的内容: 这就是我要找的: TortoiseGit显示最相关分支名称的行为: 示例存储库: https : //docs.google.com/open?id = 0B-3-X85VysdNcmZIaGVTSDZSenVGbTJxYlI2SUlsZw

Git存储库内部格式解释

有没有关于Git如何在他的存储库中存储文件的文档? 我试图通过互联网搜索,但没有可用的结果。 也许我使用不正确的查询或者这可能是一个很大的秘密 – Git存储库内部格式? 让我解释一下,为什么我需要这个火箭科学信息:我正在使用C#来获取文件历史表格存储库。 但是在libgit2sharp库中,它目前还没有实现。 所以(作为一个负责任的人;)我需要自己实现这个function,并为社区做出贡献。 但是在将内核源代码移到github之后,我甚至不知道从哪里开始搜索。 提前谢谢了!

并行阶段的最佳方式?

我想并行处理文件并同时提交到不同的分支。 将同时进行多次访问。 repo.Index.Stage / repo.Commit API在同一个当前目录下工作,所以我认为这是不可能的。 你们能给我一些关于如何实现这一目标的提示吗? 一般的想法?

从LibGit2Sharp中的提交中获取修改/添加/删除的文件

我有这个方法,我从上次提交中获取文件: static void GetFiles(Tree t, String dir = “”) { foreach (TreeEntry treeEntry in t) { if (treeEntry.TargetType == TreeEntryTargetType.Tree) { Tree tr = repo.Lookup(treeEntry.Target.Sha); GetFiles(tr, dir + “/” + treeEntry.Name); } else { string caminho = dir + “/” + treeEntry.Path; arquivos.Add(caminho); } } return; } 我看了一下这个问题 ,但我是C#的新手并且不明白。 我有这个存储库: c:/teste | – octocat.txt | […]