|  | @@ -117,7 +117,8 @@ func runHookPreReceive(c *cli.Context) error {
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		// Check force push
 | 
	
		
			
				|  |  | -		output, err := git.NewCommand("rev-list", oldCommitID, "^"+newCommitID).Run()
 | 
	
		
			
				|  |  | +		output, err := git.NewCommand("rev-list", oldCommitID, "^"+newCommitID).
 | 
	
		
			
				|  |  | +			RunInDir(models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME)))
 | 
	
		
			
				|  |  |  		if err != nil {
 | 
	
		
			
				|  |  |  			fail("Internal error", "Fail to detect force push: %v", err)
 | 
	
		
			
				|  |  |  		} else if len(output) > 0 {
 | 
	
	
		
			
				|  | @@ -131,6 +132,7 @@ func runHookPreReceive(c *cli.Context) error {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	hookCmd := exec.Command(customHooksPath)
 | 
	
		
			
				|  |  | +	hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
 | 
	
		
			
				|  |  |  	hookCmd.Stdout = os.Stdout
 | 
	
		
			
				|  |  |  	hookCmd.Stdin = buf
 | 
	
		
			
				|  |  |  	hookCmd.Stderr = os.Stderr
 | 
	
	
		
			
				|  | @@ -159,6 +161,7 @@ func runHookUpdate(c *cli.Context) error {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	hookCmd := exec.Command(customHooksPath, args...)
 | 
	
		
			
				|  |  | +	hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
 | 
	
		
			
				|  |  |  	hookCmd.Stdout = os.Stdout
 | 
	
		
			
				|  |  |  	hookCmd.Stdin = os.Stdin
 | 
	
		
			
				|  |  |  	hookCmd.Stderr = os.Stderr
 | 
	
	
		
			
				|  | @@ -231,6 +234,7 @@ func runHookPostReceive(c *cli.Context) error {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	hookCmd := exec.Command(customHooksPath)
 | 
	
		
			
				|  |  | +	hookCmd.Dir = models.RepoPath(os.Getenv(http.ENV_REPO_OWNER_NAME), os.Getenv(http.ENV_REPO_NAME))
 | 
	
		
			
				|  |  |  	hookCmd.Stdout = os.Stdout
 | 
	
		
			
				|  |  |  	hookCmd.Stdin = buf
 | 
	
		
			
				|  |  |  	hookCmd.Stderr = os.Stderr
 |