Rename script.
This commit is contained in:
45
git-remote-converter.sh
Normal file
45
git-remote-converter.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
CMD='git remote -v'
|
||||
INPUT_RGX='https?:\/\/((\w|\.)+)\/(.*)'
|
||||
OUTPUT_RGX='git@\1:\3'
|
||||
|
||||
ACCEPT_ALL_UPDATES=false
|
||||
|
||||
for file in $(ls);
|
||||
do
|
||||
if [ -d $file ]
|
||||
then
|
||||
echo "Mise à jour du dépôt distant de '$file'"
|
||||
cd $file
|
||||
OLD_REMOTE=`$CMD | grep "(fetch)" | cut -d ' ' -f 1`
|
||||
NEW_REMOTE=`echo $OLD_REMOTE | sed -En "s/$INPUT_RGX/$OUTPUT_RGX/p"`
|
||||
|
||||
if [[ $OLD_REMOTE == *"http"* ]]
|
||||
then
|
||||
if [ $ACCEPT_ALL_UPDATES = false ]
|
||||
then
|
||||
echo "Voulez vous remplacer le dépôt suivant :"
|
||||
echo " $OLD_REMOTE"
|
||||
echo "par"
|
||||
echo " $NEW_REMOTE ?"
|
||||
echo "('y' pour ce dépôt, 'Y' pour ce dépôt et les suivants, 'n' ou autre valeur pour annuler)"
|
||||
read accept
|
||||
case $accept in
|
||||
y);;
|
||||
Y) ACCEPT_ALL_UPDATES=true;;
|
||||
*) echo "Annulation..."; exit 0;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo "Nouveau dépôt : $NEW_REMOTE"
|
||||
|
||||
git remote rm origin
|
||||
git remote add $NEW_REMOTE
|
||||
else
|
||||
echo "Le dépôt distant n'est pas en http(s), aucune conversion n'est possible."
|
||||
fi
|
||||
|
||||
cd - > /dev/null
|
||||
echo ''
|
||||
fi
|
||||
done;
|
||||
Reference in New Issue
Block a user