Hi,
I am also working in a firm and we have many projects on git .In a single 
workspace we import projects from git which is time consuming. I am trying 
to automate that process.
This is so far i have designed. 
our remote url to access the projects from git is git clone 
https://usern...@git.blackrock.com/scm/emplifecycle/p 
<https://sdatt...@git.blackrock.com/scm/emplifecycle/envy.git>roject1.git
similarly are project2 project3 and so on..
so i want to loop for these projects.
Any improvements/suggestions

#!/bin/bash
# import multiple remote git repositories to local CODE dir



# settings 
remoteHost=git.blackrock.com
remoteUser=kchawla
remoteDir="~/scm/emplifecycle/"
branchName="PeopleMover_FEB_2017"
remoteRepos=$(ssh -l $remoteUser $remoteHost "ls $remoteDir")
localCodeDir="/C/Work/Workspaces/PeopleMover_FEB1_2017/WebApp"

# if no output from the remote ssh cmd, bail out
if [ -z "$remoteRepos" ]; then
    echo "No results from remote repo listing (via SSH)"
    exit
fi

# for each repo found remotely, check if it exists locally
# assumption: name repo = repo.git, to be saved to repo (w/o .git)
# if dir exists, skip, if not, clone the remote git repo into it
for gitRepo in $remoteRepos
do
  localRepoDir=$(echo ${localCodeDir}${gitRepo}|cut -d'.' -f1)
  if [ -d $localRepoDir ]; then 
echo -e "Directory $localRepoDir already exits, skipping ...\n"
else
cloneCmd="git clone https://$remoteUser@$remoteHost/$remoteDir";
cloneCmd=$cloneCmd"$gitRepo --branch branchName --single-branch 
$localRepoDir"
cloneCmdRun=$($cloneCmd 2>&1)

echo -e "Running: \n$ $cloneCmd"
echo -e "${cloneCmdRun}\n\n"
fi
done


-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to