aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-07-25 05:02:38 -0400
committerShawn O. Pearce <spearce@spearce.org>2007-07-25 05:02:38 -0400
commitbc318ea86d3ecd4074ecde3122b1e65f84cf9996 (patch)
treeb3008a111a8bca46147ee2a130c9603bb05d6525
parentead49f5a4f6c87e5dc61ed5daaeda1bae7644d05 (diff)
downloadgit-bc318ea86d3ecd4074ecde3122b1e65f84cf9996.tar.gz
git-bc318ea86d3ecd4074ecde3122b1e65f84cf9996.tar.xz
git-gui: Remove usernames from absolute SSH urls during merging
If we are being asked to merge a tracking branch that comes from a remote repository accessed by the very common SSH URL format of "user@host:/path/to/repo" then we really don't need the username as part of the merge message, it only clutters up the history and makes things more confusing. So we instead clip the username part off if the local filesystem path is absolute, as its probably not going to be an ambiguous URL even when it is missing the username. On the other hand we cannot clip the username off if the URL is not absolute, because in such cases (e.g. "user@host:myrepo") the directory that the repository path is resolved in is relative to the user's home directory, and the username becomes important. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rw-r--r--lib/merge.tcl3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/merge.tcl b/lib/merge.tcl
index c8b486710..148d859c5 100644
--- a/lib/merge.tcl
+++ b/lib/merge.tcl
@@ -102,6 +102,9 @@ method _start {} {
set stitle $branch
} else {
set remote $remote_url([lindex $spec 1])
+ if {[regexp {^[^:@]*@[^:]*:/} $remote]} {
+ regsub {^[^:@]*@} $remote {} remote
+ }
set branch [lindex $spec 2]
set stitle "$branch of $remote"
}