@@ -628,7 +628,7 @@ func (repo *Repository) RepoPath() string {
628628
629629// Link returns the repository relative url 
630630func  (repo  * Repository ) Link () string  {
631- 	return  setting .AppSubURL  +  "/"  +  url .PathEscape (repo .OwnerName ) +  "/"  +  url .PathEscape (repo .Name )
631+ 	return  setting .AppSubURL  +  "/"  +  url .PathEscape (repo .OwnerName ) +  "/"  +  groupSegmentWithTrailingSlash ( repo . GroupID )  +   url .PathEscape (repo .Name )
632632}
633633
634634// ComposeCompareURL returns the repository comparison URL 
@@ -699,7 +699,7 @@ type CloneLink struct {
699699func  getGroupSegment (gid  int64 ) string  {
700700	var  groupSegment  string 
701701	if  gid  >  0  {
702- 		groupSegment  =  fmt .Sprintf ("%d" , gid )
702+ 		groupSegment  =  fmt .Sprintf ("group/ %d" , gid )
703703	}
704704	return  groupSegment 
705705}
@@ -733,7 +733,7 @@ func ComposeSSHCloneURL(doer *user_model.User, ownerName, repoName string, group
733733	// non-standard port, it must use full URI 
734734	if  setting .SSH .Port  !=  22  {
735735		sshHost  :=  net .JoinHostPort (sshDomain , strconv .Itoa (setting .SSH .Port ))
736- 		return  fmt .Sprintf ("ssh://%s@%s/%s%s/ %s.git" , sshUser , sshHost , url .PathEscape (ownerName ), groupSegmentWithTrailingSlash (groupID ), url .PathEscape (repoName ))
736+ 		return  fmt .Sprintf ("ssh://%s@%s/%s/%s %s.git" , sshUser , sshHost , url .PathEscape (ownerName ), groupSegmentWithTrailingSlash (groupID ), url .PathEscape (repoName ))
737737	}
738738
739739	// for standard port, it can use a shorter URI (without the port) 
@@ -742,9 +742,9 @@ func ComposeSSHCloneURL(doer *user_model.User, ownerName, repoName string, group
742742		sshHost  =  "["  +  sshHost  +  "]"  // for IPv6 address, wrap it with brackets 
743743	}
744744	if  setting .Repository .UseCompatSSHURI  {
745- 		return  fmt .Sprintf ("ssh://%s@%s/%s/%s.git" , sshUser , sshHost , url .PathEscape (ownerName ), url .PathEscape (repoName ))
745+ 		return  fmt .Sprintf ("ssh://%s@%s/%s/%s%s .git" , sshUser , sshHost , url .PathEscape (ownerName ),  groupSegmentWithTrailingSlash ( groupID ), url .PathEscape (repoName ))
746746	}
747- 	return  fmt .Sprintf ("%s@%s:%s/%s.git" , sshUser , sshHost , url .PathEscape (ownerName ), url .PathEscape (repoName ))
747+ 	return  fmt .Sprintf ("%s@%s:%s/%s%s .git" , sshUser , sshHost , url .PathEscape (ownerName ),  groupSegmentWithTrailingSlash ( groupID ), url .PathEscape (repoName ))
748748}
749749
750750// ComposeTeaCloneCommand returns Tea CLI clone command based on the given owner and repository name. 
0 commit comments