Fix remove folder issues, including initialization failling. (#2969)
- Prevent panic on creating notice if database is not available
- Prevent incorrect folder on Windows ("/" instead of "\")
			
			
This commit is contained in:
		
							parent
							
								
									0a78d99a4d
								
							
						
					
					
						commit
						d8612f7704
					
				| @ -52,6 +52,11 @@ func (n *Notice) TrStr() string { | ||||
| 
 | ||||
| // CreateNotice creates new system notice.
 | ||||
| func CreateNotice(tp NoticeType, desc string) error { | ||||
| 	// prevent panic if database connection is not available at this point
 | ||||
| 	if x == nil { | ||||
| 		return fmt.Errorf("Could not save notice due database connection not being available: %d %s", tp, desc) | ||||
| 	} | ||||
| 
 | ||||
| 	n := &Notice{ | ||||
| 		Type:        tp, | ||||
| 		Description: desc, | ||||
| @ -70,6 +75,9 @@ func CreateRepositoryNotice(desc string) error { | ||||
| func RemoveAllWithNotice(title, path string) { | ||||
| 	var err error | ||||
| 	if setting.IsWindows { | ||||
| 		// usually Go automatically converts "/" to "\" in path on Windows
 | ||||
| 		// but since we are running it manually, it's better to convert to prevent problems
 | ||||
| 		path = strings.Replace(path, "/", "\\", -1) | ||||
| 		err = exec.Command("cmd", "/C", "rmdir", "/S", "/Q", path).Run() | ||||
| 	} else { | ||||
| 		err = os.RemoveAll(path) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user