public ByteArrayOutputStream read(String revision) { ByteArrayOutputStream out = null; Repository repository = null; try { //gitDir表示git库目录 Git git = Git.open(gitDir); repository = git.getRepository(); RevWalk walk = new RevWalk(repository); ObjectId objId = repository.resolve(revision); RevCommit revCommit = walk.parseCommit(objId); RevTree revTree = revCommit.getTree(); //child表示相对git库的文件路径 TreeWalk treeWalk = TreeWalk.forPath(repository, child, revTree); ObjectId blobId = treeWalk.getObjectId(0); ObjectLoader loader = repository.open(blobId); loader.copyTo(out); } catch (IOException e) { logger.error("", e); } catch (JGitInternalException e) { logger.error("", e); } finally { if (repository != null) repository.close(); } return out; }
根据版本号获取git库中的文件内容
猜你喜欢
转载自yonge812.iteye.com/blog/1584450
今日推荐
周排行