mirror of
				https://github.com/scm-manager/scm-manager.git
				synced 2025-11-03 20:15:52 +01:00 
			
		
		
		
	treat update of a git tag as delete and create for hooks
This commit is contained in:
		@@ -68,17 +68,40 @@ public class GitHookTagProvider implements HookTagProvider {
 | 
			
		||||
      
 | 
			
		||||
      if (Strings.isNullOrEmpty(tag)){
 | 
			
		||||
        logger.debug("received ref name {} is not a tag", refName);
 | 
			
		||||
      } else if (rc.getType() == ReceiveCommand.Type.CREATE) {
 | 
			
		||||
        createdTagBuilder.add(new Tag(tag, GitUtil.getId(rc.getNewId())));
 | 
			
		||||
      } else if (rc.getType() == ReceiveCommand.Type.DELETE){
 | 
			
		||||
        deletedTagBuilder.add(new Tag(tag, GitUtil.getId(rc.getOldId())));
 | 
			
		||||
      } else if (isCreate(rc)) {
 | 
			
		||||
        createdTagBuilder.add(createTagFromNewId(rc, tag));
 | 
			
		||||
      } else if (isDelete(rc)){
 | 
			
		||||
        deletedTagBuilder.add(createTagFromOldId(rc, tag));
 | 
			
		||||
      } else if (isUpdate(rc)) {
 | 
			
		||||
        createdTagBuilder.add(createTagFromNewId(rc, tag));
 | 
			
		||||
        deletedTagBuilder.add(createTagFromOldId(rc, tag));
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    createdTags = createdTagBuilder.build();
 | 
			
		||||
    deletedTags = deletedTagBuilder.build();
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  private Tag createTagFromNewId(ReceiveCommand rc, String tag) {
 | 
			
		||||
    return new Tag(tag, GitUtil.getId(rc.getNewId()));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private Tag createTagFromOldId(ReceiveCommand rc, String tag) {
 | 
			
		||||
    return new Tag(tag, GitUtil.getId(rc.getOldId()));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private boolean isUpdate(ReceiveCommand rc) {
 | 
			
		||||
    return rc.getType() == ReceiveCommand.Type.UPDATE || rc.getType() == ReceiveCommand.Type.UPDATE_NONFASTFORWARD;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private boolean isDelete(ReceiveCommand rc) {
 | 
			
		||||
    return rc.getType() == ReceiveCommand.Type.DELETE;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private boolean isCreate(ReceiveCommand rc) {
 | 
			
		||||
    return rc.getType() == ReceiveCommand.Type.CREATE;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Override
 | 
			
		||||
  public List<Tag> getCreatedTags() {
 | 
			
		||||
    return createdTags;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user