问题标签 [jgit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 JGit 中“cat”一个文件?
不久前,我在寻找一个可嵌入的 Java 分布式版本控制系统,我想我在JGit中找到了它,它是 git 的纯 Java 实现。但是,示例代码或教程的方式并不多。
如何使用 JGit 检索某个文件的 HEAD 版本(就像svn cat
或hg cat
应该这样做)?
我想这涉及一些 rev-tree-walking 并且正在寻找代码示例。
java - 从远程 git 存储库获取单个文件
有没有办法用 Java 以编程方式从远程 git 存储库下载单个文件?
- 我更喜欢使用尽可能少的带宽的解决方案,最好只下载单个文件。我不需要浏览存储库,我已经有了文件的路径。
- 我更喜欢不依赖于其他应用程序的解决方案(例如在机器上安装另一个 git 客户端)。包含 git 客户端实现本身的 Java 库将是最佳选择。
我能够使用SVNKit对 Subversion 做类似的事情,我已经看到有一个纯 java 的 git 实现(eclipse 的 JGit)可能能够做类似的事情,所以我希望有一个肯定的答案;尽管根据我对 git 工作原理的了解——只允许从本地存储库进行更新——这可能会被证明是有问题的。
jgit - JGit 取消暂存文件/从索引中删除文件并修改提交
我想出了如何在 JGit 库中做很多事情,例如提交文件,找出所有文件的状态(即更改、修改、未跟踪等),但我不知道如何取消暂存文件添加到索引中。有人可以让我知道如何做到这一点,也许可以指出一些文档,因为 Eclipse 站点没有,我在 Google 上找不到任何文档。
另外,如果有人知道如何修改提交,我也会非常感激。
谢谢。
java - 使用 jGit 循环提交文件
我已经设法掌握了 jGit 文件的基础知识,包括连接到存储库以及添加、提交甚至循环文件的提交消息。
我接下来要做的是能够获取单个文件的所有提交消息,然后能够将单个文件恢复到特定的参考/时间点。
java - JGit Java Git 库取消暂存文件
我无法重置以在 JGit 中正常工作。IE。我可以将所有文件添加到索引中,并且可以通过以下命令从索引中删除/重置/取消暂存其中的一些文件,但它不适用于所有文件。在 JGit 中取消暂存文件的正确方法是什么?
还
java - JGit/EGit 加载翻译包失败 en_US
我在 JUnit 测试中运行以下代码来测试获取 git 存储库。我正在为 JGit 所需的每个基本功能编写一个测试,以便我可以在我的应用程序中实现它们。问题是我在下面的 git.fetch() 调用中不断收到以下错误:
代码示例如下。我验证了存储库路径和一切似乎都是正确的。如果我在 fetch 调用上放置一个断点,然后在 MSysGit 中运行相同的命令,它就可以工作。
谢谢!
java - Jgit javadocs在哪里?
我找不到 jgit 的 javadocs。我试图用 maven 构建 jgit,但构建失败,所以我请求你的帮助。我在哪里可以找到 jgit 的 javadocs。
java - 在 JavaGit、JGit 和 EGit 之间选择的困惑
我正在制作一个使用 Git 的 Java 应用程序。我发现有一些东西叫做 JavaGit、EGit和JGit。
我知道 JavaGit 和 EGit/JGit 是不同的。我不明白的是EGit和JGit之间的区别。两者都托管在 Eclipse 项目上,但一个似乎与 Eclipse 相关,而另一个则不是。
我不使用 Eclipse,也不打算使用,所以我真的不太关心“Eclipse 集成”。
JGit 是否以某种方式连接到 Eclipse?(托管在www.eclipse.org,JGit的文档里面也有很多“eclipse”关键字)
在这三个中,我需要什么来连接我的 Java 程序(不是用 Eclipse 编写的)以使用 Git 存储库?
我更喜欢独立的 Git 库(即,不依赖于本地 Git 安装)
编辑:还有一个问题:
- JGit 支持Git bundle 命令吗?
编辑:我找到了答案——它确实(还没有尝试过)。它transport
在一个名为的类中的包中BundleWriter
git - 在java中计算一个git packfile sha1校验和
我正在学习 Git 包文件,目前正在尝试重现(在 Java 中)我认为是整个包文件的 SHA1 20 字节校验和。我将字节数组从“PACK”4 字节标头中提取到最后一个打包对象的压缩数据的末尾。我读过的所有内容都表明接下来的 20 个字节是整个包文件的 SHA1 校验和。
作为从 Git 接收的字节数组的一部分的 20 字节校验和是:B910248BF9B63AC53595E3835CA57BDAF08DA830
我使用以下来计算我自己的 SHA1 校验和:
crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(testData);
byte [] result = crypt.digest();
我的结果是:B910248BF9B63AC53595E3835CA57BDAF08DA813
我对我的结果的最后一个字节如何与 Git 的不同(如果我使用字节流的正确部分)感到困惑。如果唯一的问题是传递给 digest() 的数据范围,那么整个计算的校验和很可能看起来不同。
有任何想法吗?
android - Android上的JGit提交问题
我正在尝试使用 JGit 库将我的 android 手机上的文档同步到服务器。
它几乎可以工作......但我无法承诺工作。每当我尝试提交时,我都会收到异常“数据错误”。我将问题追溯到 org.eclipse.jgit.util.IO 中的以下语句:
行 fd.read(dst, off, len) 将抛出执行。我认为 fd 参数是 InflaterInputStream 所以这段代码试图从压缩档案中读取。
我试图在装有 Android 2.2 的 HTC Desire Z 上运行它。
我正在使用 org.eclipse.jgit-0.12.1.jar 和 com.jcraft.jsch_0.1.31.jar 来访问 jgit 功能。
我已经做了一些测试示例来尝试理解问题
以下代码在我的 Windows XP 机器上运行没有问题:
以下代码将在我的 android 手机上引发异常:
关于我可以做些什么来完成这项工作的任何想法?
问候,安德斯