| 
														
															@@ -46,12 +46,12 @@ func IsRepositoryExist(user *User, reposName string) (bool, error) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 
														 | 
														
														 | 
														
															 // 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 func CreateRepository(user *User, reposName string) (*Repo, error) { 
														 | 
														
														 | 
														
															 func CreateRepository(user *User, reposName string) (*Repo, error) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	f := RepoPath(user.Name, reposName) 
														 | 
														
														 | 
														
															 	f := RepoPath(user.Name, reposName) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	_, err := git.InitRepository(f, false) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	_, err := git.InitRepository(f, true) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if err != nil { 
														 | 
														
														 | 
														
															 	if err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return nil, err 
														 | 
														
														 | 
														
															 		return nil, err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	repo := Repo{OwnerId: user.Id, Name: reposName} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	repo := Repo{OwnerId: user.Id, Name: reposName, LowerName: strings.ToLower(reposName)} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	session := orm.NewSession() 
														 | 
														
														 | 
														
															 	session := orm.NewSession() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	defer session.Close() 
														 | 
														
														 | 
														
															 	defer session.Close() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	session.Begin() 
														 | 
														
														 | 
														
															 	session.Begin() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -64,6 +64,19 @@ func CreateRepository(user *User, reposName string) (*Repo, error) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		session.Rollback() 
														 | 
														
														 | 
														
															 		session.Rollback() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return nil, err 
														 | 
														
														 | 
														
															 		return nil, err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	access := Access{UserName: user.Name, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		RepoName: repo.Name, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		Mode:     AU_WRITABLE, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	_, err = session.Insert(&access) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		err2 := os.RemoveAll(f) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if err2 != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			log.Error("delete repo directory %s/%s failed", user.Name, reposName) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		session.Rollback() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		return nil, err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	_, err = session.Exec("update user set num_repos = num_repos + 1 where id = ?", user.Id) 
														 | 
														
														 | 
														
															 	_, err = session.Exec("update user set num_repos = num_repos + 1 where id = ?", user.Id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if err != nil { 
														 | 
														
														 | 
														
															 	if err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		err2 := os.RemoveAll(f) 
														 | 
														
														 | 
														
															 		err2 := os.RemoveAll(f) 
														 |