|
|
@ -7,6 +7,7 @@ package models |
|
|
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"fmt" |
|
|
|
|
|
|
|
"net/url" |
|
|
|
"strings" |
|
|
|
"strings" |
|
|
|
"time" |
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
|
@ -119,7 +120,7 @@ func sanitizeOutput(output, repoPath string) (string, error) { |
|
|
|
return util.SanitizeMessage(output, remoteAddr), nil |
|
|
|
return util.SanitizeMessage(output, remoteAddr), nil |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Address returns mirror address from Git repository config without credentials.
|
|
|
|
// Address returns mirror address from Git repository config with credentials censored.
|
|
|
|
func (m *Mirror) Address() string { |
|
|
|
func (m *Mirror) Address() string { |
|
|
|
m.readAddress() |
|
|
|
m.readAddress() |
|
|
|
return util.SanitizeURLCredentials(m.address, false) |
|
|
|
return util.SanitizeURLCredentials(m.address, false) |
|
|
@ -131,6 +132,41 @@ func (m *Mirror) FullAddress() string { |
|
|
|
return m.address |
|
|
|
return m.address |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// AddressNoCredentials returns mirror address from Git repository config without credentials.
|
|
|
|
|
|
|
|
func (m *Mirror) AddressNoCredentials() string { |
|
|
|
|
|
|
|
m.readAddress() |
|
|
|
|
|
|
|
u, err := url.Parse(m.address) |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
// this shouldn't happen but just return it unsanitised
|
|
|
|
|
|
|
|
return m.address |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
u.User = nil |
|
|
|
|
|
|
|
return u.String() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Username returns the mirror address username
|
|
|
|
|
|
|
|
func (m *Mirror) Username() string { |
|
|
|
|
|
|
|
m.readAddress() |
|
|
|
|
|
|
|
u, err := url.Parse(m.address) |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
// this shouldn't happen but if it does return ""
|
|
|
|
|
|
|
|
return "" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return u.User.Username() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Password returns the mirror address password
|
|
|
|
|
|
|
|
func (m *Mirror) Password() string { |
|
|
|
|
|
|
|
m.readAddress() |
|
|
|
|
|
|
|
u, err := url.Parse(m.address) |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
// this shouldn't happen but if it does return ""
|
|
|
|
|
|
|
|
return "" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
password, _ := u.User.Password() |
|
|
|
|
|
|
|
return password |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// SaveAddress writes new address to Git repository config.
|
|
|
|
// SaveAddress writes new address to Git repository config.
|
|
|
|
func (m *Mirror) SaveAddress(addr string) error { |
|
|
|
func (m *Mirror) SaveAddress(addr string) error { |
|
|
|
repoPath := m.Repo.RepoPath() |
|
|
|
repoPath := m.Repo.RepoPath() |
|
|
|