forked from gitea/gitea
		
	Fix file rename/copy not supported by indexer (#9965)
Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
		
							parent
							
								
									700611cc18
								
							
						
					
					
						commit
						ee26f042c4
					
				| @ -116,7 +116,12 @@ func nonGenesisChanges(repo *models.Repository, revision string) (*repoChanges, | ||||
| 		if len(line) == 0 { | ||||
| 			continue | ||||
| 		} | ||||
| 		filename := strings.TrimSpace(line[1:]) | ||||
| 		fields := strings.Split(line, "\t") | ||||
| 		if len(fields) < 2 { | ||||
| 			log.Warn("Unparseable output for diff --name-status: `%s`)", line) | ||||
| 			continue | ||||
| 		} | ||||
| 		filename := fields[1] | ||||
| 		if len(filename) == 0 { | ||||
| 			continue | ||||
| 		} else if filename[0] == '"' { | ||||
| @ -126,11 +131,31 @@ func nonGenesisChanges(repo *models.Repository, revision string) (*repoChanges, | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		switch status := line[0]; status { | ||||
| 		switch status := fields[0][0]; status { | ||||
| 		case 'M', 'A': | ||||
| 			updatedFilenames = append(updatedFilenames, filename) | ||||
| 		case 'D': | ||||
| 			changes.RemovedFilenames = append(changes.RemovedFilenames, filename) | ||||
| 		case 'R', 'C': | ||||
| 			if len(fields) < 3 { | ||||
| 				log.Warn("Unparseable output for diff --name-status: `%s`)", line) | ||||
| 				continue | ||||
| 			} | ||||
| 			dest := fields[2] | ||||
| 			if len(dest) == 0 { | ||||
| 				log.Warn("Unparseable output for diff --name-status: `%s`)", line) | ||||
| 				continue | ||||
| 			} | ||||
| 			if dest[0] == '"' { | ||||
| 				dest, err = strconv.Unquote(dest) | ||||
| 				if err != nil { | ||||
| 					return nil, err | ||||
| 				} | ||||
| 			} | ||||
| 			if status == 'R' { | ||||
| 				changes.RemovedFilenames = append(changes.RemovedFilenames, filename) | ||||
| 			} | ||||
| 			updatedFilenames = append(updatedFilenames, dest) | ||||
| 		default: | ||||
| 			log.Warn("Unrecognized status: %c (line=%s)", status, line) | ||||
| 		} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 guillep2k
						guillep2k