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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
#!/bin/bash
rm -f pilot.list
for i in `grep pilot --include=layer db/context/ -Rl`; do echo $(basename `dirname $i`) >> pilot.list; done
echo "{" > var/pilot-releases
for i in `grep pilot --include=layer db/implementation/ -Rl`; do
d=`dirname $i`
c=`cat $d/context | awk -F\" '{print $6}'`
v=`cat $d/version | awk -F\" '{print $6}'`
echo "\"$c\": \"$v\"," >> var/pilot-releases
done
echo '"": null}' >> var/pilot-releases
rm -rf db/idea db/implementation db/notification db/problem db/question db/sync db/user db/files.index db/guid db/master db/authorization.conf db/report db/user
find db -name index -exec rm -rf {} \;
mkdir -p var
mv db/seqno var/
for i in `grep d26cef70447160f31a7497cc0320f23a4e383cc3 --include author -R db | awk -F: '{print $1}'`; do i=`dirname $i`; rm -rf $i; done
for i in `grep package --include type -R db/context | awk -F: '{print $1}'`; do i=`dirname $i`; rm -rf $i; done
find db/context \( -name ef5f33b2378c11e295d00016360ee2af -o -name org.sugarlabs.ContributorHub -o -name edu.mit.media.ScratchActivity -o -name c031aafc143c11e299ed0016360ee2af \) -exec rm -rf {} \;
find db/context \( -name clone -o -name layer -o -name dependencies -o -name downloads -o -name favorite -o -name implement -o -name packages -o -name position -o -name rating -o -name reviews -o -name versions \) -exec rm {} \;
for i in `find db/context -name type`; do sed -i s/project/group/ $i; done
for i in `find db/context -name title`; do p=`dirname $i`; [ -e $p/guid ] || rm -rf $p; done
for i in `find db/artifact -name preview`; do rm -rf `dirname $i`; done
rm -f db/context/7e/7e2c350ac65811e1a30a0016360ee2af/icon*
rm db/context/{layout,seqno}
for i in `find db/review/ -name guid`; do
src=`dirname $i`
guid=`basename $src`
dst="db/post/${guid:0:2}/$guid"
mkdir -p $dst
mv $src/{author,context,ctime,guid,mtime,seqno,tags,title} $dst/
mv $src/content $dst/message
echo -n '{"seqno": 1, "value": "review"}' > $dst/type
done
rm -rf db/review
for i in `find db/artifact/ -name data`; do
src=`dirname $i`
guid=`basename $src`
dst="db/post/${guid:0:2}/$guid"
mkdir -p $dst
mv $src/{author,context,ctime,guid,mtime,seqno,tags,title} $dst/
mv $src/description $dst/message
echo -n '{"seqno": 1, "value": "file"}' > $dst/type
digest=`grep -o 'digest[^,}]*' $src/data | awk -F\" '{print $3}'`
mime_type=`grep -o 'mime_type[^,}]*' $src/data | awk -F\" '{print $3}'`
blob_size=`ls -l $src/data.blob | awk '{print $5}'`
echo -n "{\"seqno\": 1, \"value\": {\"$digest\": {\"seqno\": 1, \"value\": \"$digest\"}}}" > $dst/attachments
blob_dst=blobs/${digest:0:3}/$digest
mkdir -p `dirname $blob_dst`
mv $src/data.blob $blob_dst
cat >>$blob_dst.meta <<EOF
content-type: $mime_type
content-length: $blob_size
x-seqno: 1
EOF
done
rm -rf db/artifact
for i in `find db/feedback/ -name guid`; do
src=`dirname $i`
guid=`basename $src`
dst="db/post/${guid:0:2}/$guid"
type=`cat $src/type | awk -F\" '{print $6}'`
mkdir -p $dst
mv $src/{author,context,ctime,guid,mtime,seqno,tags,title} $dst/
mv $src/content $dst/message
echo -n "{\"seqno\": 1, \"value\": \"$type\"}" > $dst/type
done
rm -rf db/feedback
for i in `find db/solution/ -name guid`; do
src=`dirname $i`
guid=`basename $src`
dst="db/post/${guid:0:2}/$guid"
topic=`grep -o 'value[^,}]*' $src/feedback | awk -F\" '{print $3}'`
mkdir -p $dst
mv $src/{author,context,ctime,guid,mtime,seqno,tags} $dst/
mv $src/content $dst/message
echo -n "{\"seqno\": 1, \"value\": {}}" > $dst/title
echo -n "{\"seqno\": 1, \"value\": \"solution\"}" > $dst/type
echo -n "{\"seqno\": 1, \"value\": \"$topic\"}" > $dst/topic
done
rm -rf db/solution
rm -rf comment.list
for i in `find db/comment/ -name guid`; do
src=`dirname $i`
guid=`basename $src`
post=`grep -o 'value[^,}]*' $src/review | awk -F\" '{print $3}'`
if [ -z "$post" -o ! -e db/post/${post:0:2}/$post ]; then
post=`grep -o 'value[^,}]*' $src/solution | awk -F\" '{print $3}'`
if [ -z "$post" -o ! -e db/post/${post:0:2}/$post ]; then
post=`grep -o 'value[^,}]*' $src/feedback | awk -F\" '{print $3}'`
if [ -z "$post" -o ! -e db/post/${post:0:2}/$post ]; then
continue
fi
fi
fi
author=`sed 's/.*value.. //; s/}$//' $src/author`
message=`sed 's/.*value.. //; s/}$//' $src/message`
mtime=`grep -o 'value[^,}]*' $src/mtime | awk '{print $2}'`
mkdir -p comment.list/$post
echo "\"$guid\": {\"author\": $author, \"value\": $message}" > comment.list/$post/$mtime
done
for post in `ls comment.list`; do
value=
for mtime in `ls comment.list/$post`; do
[ "$value" ] && value="$value, "
value="${value}`cat comment.list/$post/$mtime`"
done
echo -n "{\"seqno\": 1, \"value\": {$value}}" > db/post/${post:0:2}/$post/comments
done
rm -rf comment.list
rm -rf db/comment
|