-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupload_git.sh
More file actions
executable file
·59 lines (51 loc) · 1.57 KB
/
upload_git.sh
File metadata and controls
executable file
·59 lines (51 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash
# Github token
ACCESS_TOKEN=38d4313849eb31117759528792a9d7517f8fc6a0
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
create_repo()
{
curl -u skeen:$ACCESS_TOKEN https://api.github.com/orgs/OpenEngineDK/repos -d "{\"name\":\"$1\"}"
}
# Find all the darcs repositories and loop through them
unset repos
while IFS=' ' read -r repo; do
no_prefix=$(echo ${repo#openengine_code/})
repo_name=$(dirname "${no_prefix}")
repo_dir=$(dirname "${repo}")
git_name=$(echo $repo_name | sed "s#/#-#g")
# Create repositories on github
create_repo $repo_name
# Setup the output folder
output_folder=gitengine/$repo_name
abs_folder=$(readlink -f $output_folder)
# Create repository folders
mkdir -p $output_folder
cd $output_folder
echo $output_folder
git init
cd $DIR
# Export darcs repositories
cd $repo_dir
mkdir -p _darcs/pristine.hashed
darcs convert export | (cd $abs_folder && git fast-import)
if [ $? -eq 0 ]; then
cd $DIR
# Push repositories
cd $output_folder
git remote add origin [email protected]:OpenEngineDK/$git_name.git
git push -u origin master
if [ $? -ne 0 ]; then
echo $repo_name >> ~/fail.txt
fi
#git remote set-url origin [email protected]:OpenEngineDK/$git_name.git
#git push --force -u origin master
cd $DIR
else
echo $repo_name >> ~/fail.txt
fi
cd $DIR
#echo $no_prefix
#echo $repo_name
#echo $git_name
#echo $repo
done < <(find openengine_code -name "_darcs" -type d)