From 8c232730b91715ea7bd301e04f221e2dad9503e7 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 21 Apr 2021 10:44:48 -0400 Subject: [PATCH] Add git-update-urls --- git-update-urls | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 git-update-urls diff --git a/git-update-urls b/git-update-urls new file mode 100755 index 0000000..e69407e --- /dev/null +++ b/git-update-urls @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby + +require "set" + +remotes = Set.new + +`git remote -v`.each_line do |line| + if line =~ /^(\S+)\s+(\S+)\s+\(/ + remote_name, url = $1, $2 + unless remotes.include?(remote_name) + new_url = url.sub(%r{^ssh://gitp?@holtrop\.mooo\.com/}, "git@git.jholtrop.com:josh/") + new_url = new_url.sub(%r{^gitp?@holtrop\.mooo\.com:}, "git@git.jholtrop.com:josh/") + if new_url != url + command = %W[git remote set-url #{remote_name} #{new_url}] + puts command.join(" ") + system(*command) + end + remotes << remote_name + end + end +end