Câu hỏi JGit-beginner:Cam kết một chuỗi với JGit
Tôi sử dụng JGit để đọc tệp (BLOB) từ kho lưu trữ và thao tác nội dung của nó. Sau đó, tôi muốn viết nội dung mới có cùng tên tệp quay lại kho lưu trữ dưới dạng một cam kết mới. Nhưng làm thế nào tôi có thể cam kết nội dung mới với JGit?
My pseudo-code:
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?
Tôi có phải viết newContent
vào một tập tin và cam kết tập tin này với AddCommand và CommitCommand? Hoặc tôi có thể viết chuỗi "on-the-fly" vào kho lưu trữ dưới cùng tên tệp không?
Có bất kỳ vị trí nào trong web làm ví dụ về cách thực hiện cam kết với JGit không?
Ví dụ về một CommitCommand, tôi đề nghị bạn có một cái nhìn vào câu trả lời của tôi [ở đây] (http://stackoverflow.com/questions/6861881/jgit-cannot-find-a-tutorial-or-simple- ví dụ/10311069 # 10311069). –
Tôi cũng khuyên bạn nên sử dụng các API sứ (tức là 'AddCommand',' CommitCommand') như được đề xuất trong các câu trả lời, nhưng nếu bạn thực sự muốn cam kết _on fly_ bạn có thể thấy bài viết này hữu ích :: http: //www.codeaffine .com/2014/10/20/git-internals/ –