Difference between revisions of "First Steps with Gitea"
From SME Server
Jump to navigationJump to search (Added in contribs10 dir under module.) |
|||
Line 7: | Line 7: | ||
LocalUser="brianr" | LocalUser="brianr" | ||
RemoteUser="brianr" | RemoteUser="brianr" | ||
− | if [ $2 = "contrib" ]; then | + | if [ $2 == "contrib" ]; then |
CVSFiles="/home/$LocalUser/smecontribs/rpms" | CVSFiles="/home/$LocalUser/smecontribs/rpms" | ||
else | else | ||
Line 30: | Line 30: | ||
git init $1 | git init $1 | ||
cd $1 | cd $1 | ||
+ | echo `pwd` | ||
#pull in all the files we want | #pull in all the files we want | ||
− | if [ $2 = "contrib" ]; then | + | if [ $2 == "contrib" ]; then |
− | cp $CVSFiles/$1/contribs10/*.patch . | + | mkdir -p contribs10 |
− | cp $CVSFiles/$1/contribs10/*.spec . | + | cp $CVSFiles/$1/contribs10/*.patch ./contribs10/ |
− | cp $CVSFiles/$1/contribs10/*.tar.gz . | + | cp $CVSFiles/$1/contribs10/*.spec ./contribs10/ |
− | cp $CVSFiles/$1/contribs10/*.tgz . | + | cp $CVSFiles/$1/contribs10/*.tar.gz ./contribs10/ |
− | cp $CVSFiles/$1/contribs10/*.xz . | + | cp $CVSFiles/$1/contribs10/*.tgz ./contribs10/ |
+ | cp $CVSFiles/$1/contribs10/*.xz ./contribs10/ | ||
+ | cp $CVSFiles/$1/contribs10/Makefile ./contribs10/ | ||
else | else | ||
− | cp $CVSFiles/$1/sme10/*.patch . | + | mkdir -p sme10 |
− | cp $CVSFiles/$1/sme10/*.spec . | + | cp $CVSFiles/$1/sme10/*.patch ./sme10/ |
− | cp $CVSFiles/$1/sme10/*.tar.gz . | + | cp $CVSFiles/$1/sme10/*.spec ./sme10/ |
− | cp $CVSFiles/$1/sme10/*.tgz . | + | cp $CVSFiles/$1/sme10/*.tar.gz ./sme10/ |
− | cp $CVSFiles/$1/sme10/*.xz . | + | cp $CVSFiles/$1/sme10/*.tgz ./sme10/ |
+ | cp $CVSFiles/$1/sme10/*.xz ./sme10/ | ||
+ | cp $CVSFiles/$1/sme10/Makefile ./sme10/ | ||
fi | fi | ||
+ | |||
+ | #Get Clone the common directory | ||
+ | git clone https://src.koozali.org/brianr/common.git | ||
#stage and commit them | #stage and commit them |
Revision as of 09:27, 7 February 2023
Initial script to take the latest version of a module and move it to Gitea.
#!/bin/bash
# $1 = Module name e.g. smeserver-ddclient
# $2 = "contrib" ot anything else -=> core module
LocalUser="brianr"
RemoteUser="brianr"
if [ $2 == "contrib" ]; then
CVSFiles="/home/$LocalUser/smecontribs/rpms"
else
CVSFiles="/home/$LocalUser/smeserver/rpms"
fi
GitFiles="/home/$LocalUser/GitFiles"
RemoteRepoURL="https://src.koozali.org/$RemoteUser/$1"
mkdir -p $GitFiles
#Make sure credentials taken from store
git config --global credential.helper store
# Clone the CVS repository
cd $CVSFiles
cvs -d:ext:shell.koozali.org:/cvs/smecontribs checkout $1
# Fully populate the directory (gets the tar file - which is not strictly in CVS)
cd $1/contribs10
make prep
# Create the local Git repository
cd $GitFiles
git init $1
cd $1
echo `pwd`
#pull in all the files we want
if [ $2 == "contrib" ]; then
mkdir -p contribs10
cp $CVSFiles/$1/contribs10/*.patch ./contribs10/
cp $CVSFiles/$1/contribs10/*.spec ./contribs10/
cp $CVSFiles/$1/contribs10/*.tar.gz ./contribs10/
cp $CVSFiles/$1/contribs10/*.tgz ./contribs10/
cp $CVSFiles/$1/contribs10/*.xz ./contribs10/
cp $CVSFiles/$1/contribs10/Makefile ./contribs10/
else
mkdir -p sme10
cp $CVSFiles/$1/sme10/*.patch ./sme10/
cp $CVSFiles/$1/sme10/*.spec ./sme10/
cp $CVSFiles/$1/sme10/*.tar.gz ./sme10/
cp $CVSFiles/$1/sme10/*.tgz ./sme10/
cp $CVSFiles/$1/sme10/*.xz ./sme10/
cp $CVSFiles/$1/sme10/Makefile ./sme10/
fi
#Get Clone the common directory
git clone https://src.koozali.org/brianr/common.git
#stage and commit them
git add -A
git commit -m "initial commit of file from CVS for $1"
# Create the remote repo and push the converted git repository to the remote
git remote remove origin
git remote add origin $RemoteRepoURL
# Need to have created the repo at this point....
git pull --no-edit origin master
git push -u origin master
echo "Created $1 Repo in $RemoteRepoURL"
exit 0
Issues:
- How to partition the repos between smecontribs and core? different User?
- Need ssh access to gitea for automatic creation of repos, else each one has to be created by hand!
- Realising that I need the contribs10/11/12 directories under the module name if I am going to get make mockbuild to work.