creation_repo.sh peut aussi remplir un repo en ligne avec l'option -l

This commit is contained in:
eleonore12345 2024-07-17 10:37:39 +02:00
parent 327a91fb01
commit 691a715297

View File

@ -1,6 +1,4 @@
#!/bin/bash
. driglibash-base
Help()
{
echo "
@ -9,28 +7,35 @@ NAME
SYNOPSIS
creation_repo.sh [-h] [-s]
DESCRIPTION
This script creates a "remote" directory in the current directory, then creates a remote/performance_testing git repository.
This script creates a ./remote directory in the current directory, then creates a remote/performance_testing git repository.
This git repository is filled with randomly generated binary files described in the readme.md.
OPTIONS
-h prints the help.
-l [link] adds the linked online repository as remote and pushes changes to it. Must be en empty repository.
-s creates a submodule remote/submodule_for_performance_testing and includes it in remote/performance_testing. "
}
create_random_file(){
run dd if=/dev/urandom of=$1 bs=$2 count=1 &> /dev/null
dd if=/dev/urandom of=$1 bs=$2 count=1 &> /dev/null
}
REPO_NAME=performance_testing
REPO_PATH=./remote
WITH_SUBMODULE="false"
SUB_NAME="submodule_for_performance_testing"
while getopts ":h:s" option; do
WITH_LINK="false"
while getopts ":hn:sl:" option; do
case $option in
h)
Help
exit;;
n)
REPO_NAME=$OPTARG;;
s)
WITH_SUBMODULE="true";;
l)
WITH_LINK="true"
LINK=$OPTARG;;
\?)
echo "Error: Invalid option"
exit;;
@ -50,11 +55,8 @@ if [ ! -d $REPO_NAME ]; then
create_random_file 'sample0' '1M'
git add .
git commit -m"first 1M sample created"
git tag start
create_random_file 'sample1' '1M'
touch texte
echo "un soleil bleu">texte
git add sample1 texte
git add sample1
git commit -m"second 1M sample created"
git branch secondary
git checkout secondary
@ -62,12 +64,13 @@ if [ ! -d $REPO_NAME ]; then
git add sample2
git commit -m"first 500K sample created in branch secondary"
git checkout main
create_random_file 'sample3' '1M'
git add sample3
git commit -m"third 1M sample created"
create_random_file 'sample4' '5M'
git add sample4
git commit -m"first 5M sample created"
git tag tagging_point
create_random_file 'sample3' '1M'
git add sample3
git commit -m"third 1M sample created"
rm sample4
git add sample4
git commit -m"sample4 deleted"
@ -86,7 +89,7 @@ if [ ! -d $REPO_NAME ]; then
fi
cd ..
else # $REPO_NAME exists
echo "remote/performance testing existe"
echo "remote/$REPO_NAME already exists"
if [[ "$WITH_SUBMODULE" = "true" && ! -d $SUB_NAME ]]; then
mkdir $SUB_NAME
cd $SUB_NAME
@ -106,10 +109,15 @@ else # $REPO_NAME exists
rm -rf $SUB_NAME
fi
fi
if [ "$WITH_LINK" = "true" ]; then
cd $REPO_NAME
if [ $(git remote | grep "origin" | wc -l) = 0 ]; then
echo "adding origin"
git remote add origin $LINK
git push origin -u --all
git push origin -u --tags
fi
fi
cd ..