1
0

CommitService.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package cn.seecoder.web.service.project;
  2. import cn.seecoder.web.model.enums.CommitRelatedEnum;
  3. import cn.seecoder.web.model.po.project.CommitPO;
  4. import cn.seecoder.web.model.vo.project.CommitVO;
  5. import com.nju.edu.gitlab.vo.DiffVO;
  6. import java.util.List;
  7. import java.util.Set;
  8. /**
  9. * @author PuHong Weng
  10. * @date 2021/3/21
  11. * @description: 项目相关的 git commit 记录分析功能
  12. */
  13. public interface CommitService {
  14. void save(CommitPO po);
  15. List<CommitPO> listByProjectAndType(Integer projectId, CommitRelatedEnum type);
  16. /**
  17. * 不同分支可能会push相同的commit,分析过的commit不应该再分析,这里是判断是否分析共没有
  18. * @param id commit hash id
  19. */
  20. boolean isResolved(String id);
  21. List<CommitVO> getTreeCommit(Integer treeId);
  22. List<CommitVO> getBugCommit(Integer bugId);
  23. List<CommitVO> getCommits(Integer projectId);
  24. List<CommitVO> getCommitsByBranchName(Integer projectId, String branchName);
  25. CommitVO getCommitByHash(Integer projectId, String hash);
  26. Set<DiffVO> getDiff(Integer projectId, String fromHash, String toHash);
  27. /**
  28. * link commit and tree node or bug
  29. * @param projectId
  30. * @param commitHash
  31. * @param relatedType
  32. * @param relatedId
  33. * @return
  34. */
  35. boolean link(Integer projectId, String commitHash, CommitRelatedEnum relatedType, Integer relatedId);
  36. }