forked from gitea/gitea
		
	Fix nil reference in repo generation (#9660)
* Fix nil reference Signed-off-by: jolheiser <john.olheiser@gmail.com> * Tighten Signed-off-by: jolheiser <john.olheiser@gmail.com>
This commit is contained in:
		
							parent
							
								
									25531c71a7
								
							
						
					
					
						commit
						ee9ce0cfa9
					
				| @ -124,41 +124,43 @@ func generateRepoCommit(e Engine, repo, templateRepo, generateRepo *Repository, | ||||
| 		return fmt.Errorf("checkGiteaTemplate: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	if err := os.Remove(gt.Path); err != nil { | ||||
| 		return fmt.Errorf("remove .giteatemplate: %v", err) | ||||
| 	} | ||||
| 	if gt != nil { | ||||
| 		if err := os.Remove(gt.Path); err != nil { | ||||
| 			return fmt.Errorf("remove .giteatemplate: %v", err) | ||||
| 		} | ||||
| 
 | ||||
| 	// Avoid walking tree if there are no globs | ||||
| 	if len(gt.Globs()) > 0 { | ||||
| 		tmpDirSlash := strings.TrimSuffix(filepath.ToSlash(tmpDir), "/") + "/" | ||||
| 		if err := filepath.Walk(tmpDirSlash, func(path string, info os.FileInfo, walkErr error) error { | ||||
| 			if walkErr != nil { | ||||
| 				return walkErr | ||||
| 			} | ||||
| 
 | ||||
| 			if info.IsDir() { | ||||
| 				return nil | ||||
| 			} | ||||
| 
 | ||||
| 			base := strings.TrimPrefix(filepath.ToSlash(path), tmpDirSlash) | ||||
| 			for _, g := range gt.Globs() { | ||||
| 				if g.Match(base) { | ||||
| 					content, err := ioutil.ReadFile(path) | ||||
| 					if err != nil { | ||||
| 						return err | ||||
| 					} | ||||
| 
 | ||||
| 					if err := ioutil.WriteFile(path, | ||||
| 						[]byte(generateExpansion(string(content), templateRepo, generateRepo)), | ||||
| 						0644); err != nil { | ||||
| 						return err | ||||
| 					} | ||||
| 					break | ||||
| 		// Avoid walking tree if there are no globs | ||||
| 		if len(gt.Globs()) > 0 { | ||||
| 			tmpDirSlash := strings.TrimSuffix(filepath.ToSlash(tmpDir), "/") + "/" | ||||
| 			if err := filepath.Walk(tmpDirSlash, func(path string, info os.FileInfo, walkErr error) error { | ||||
| 				if walkErr != nil { | ||||
| 					return walkErr | ||||
| 				} | ||||
| 
 | ||||
| 				if info.IsDir() { | ||||
| 					return nil | ||||
| 				} | ||||
| 
 | ||||
| 				base := strings.TrimPrefix(filepath.ToSlash(path), tmpDirSlash) | ||||
| 				for _, g := range gt.Globs() { | ||||
| 					if g.Match(base) { | ||||
| 						content, err := ioutil.ReadFile(path) | ||||
| 						if err != nil { | ||||
| 							return err | ||||
| 						} | ||||
| 
 | ||||
| 						if err := ioutil.WriteFile(path, | ||||
| 							[]byte(generateExpansion(string(content), templateRepo, generateRepo)), | ||||
| 							0644); err != nil { | ||||
| 							return err | ||||
| 						} | ||||
| 						break | ||||
| 					} | ||||
| 				} | ||||
| 				return nil | ||||
| 			}); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			return nil | ||||
| 		}); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 John Olheiser
						John Olheiser