一个JGit初学者的问题:
我使用JGit从仓库中读取文件(BLOB),并对其内容进行操作。之后,我想将新内容与同名的文件一起作为新提交写回仓库。但是,我该如何使用JGit提交新的内容?
我的伪代码:
String gitUrl = "path/to/repository/.git";
Repository repository = new FileRepository(gitUrl);
String filename = "test/seppl.txt";
blobId = getIdOf(filename);
ObjectLoader object = repository.open(blobId, Constants.OBJ_BLOB);
ObjectStream is = object.openStream();
String newContent = processStream(is);
// How to commit the newContent in filename?
我需要将
newContent
写入文件并使用AddCommand和CommitCommand提交该文件吗?还是可以将String "on-the-fly"直接写入同一文件名的仓库中?在Web上是否有使用JGit进行提交的示例?
AddCommand
,CommitCommand
),如答案中所建议的那样。但是,如果你真的想要在飞行中提交,你可能会发现这篇文章很有用:http://www.codeaffine.com/2014/10/20/git-internals/。 - Rüdiger Herrmann