-
Notifications
You must be signed in to change notification settings - Fork 0
/
sweep.sh
134 lines (111 loc) · 2.36 KB
/
sweep.sh
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/bin/bash
##
# contains a dir with many git repos -> one level
# /gitrepob
# /gitrepoa
# /root
# /gitrepoc
# /gitrepod
##
ROOT_DIR=$1;
##
# the depth to which a search should be performed
# beyond the root dir if .git IS NOT found
# ie 2
# PASS
# /gitrepob/.git
# /gitrepob/data/.git
# FAILED
# /gitrepod/cgi-bin/ <-- no .git? stop!
#
##
SEARCH_DEPTH=$2;
#void --> msg + value
function print_warn ()
{
printf "$1"' : %s\n' "$2"
}
function dive_dir ()
{
dir_init=$1
sleep 1;
if [ -n $2 ];
then
depth_init=$2
print_warn "THIS IS DEPTH" $2
else
depth_init=0
fi
for directory in $dir_init;
do
if [ -d $directory ];
then
#for (( depth=0; $SEARCH_DEPTH > depth; ++depth ))
#do
##
## logic ends here if git repo - exit
##
print_warn "THIS IS THE DIR EVAL" $directory
verify_git_repo $directory
#echo $directory;
# done
for (( depth_init2=$(($depth_init)); depth_init2 <= "$SEARCH_DEPTH"; ++depth_init2));
do
print_warn "depth" $depth_init2
dive_dir $directory $depth_init2
done
fi
return
done
}
function verify_git_repo ()
{
directoy=$1
IS_GIT=${directory:${#directory} -4}
##
## strong quoting nothing is interperted ''
##
if [ "$IS_GIT" = ".git" ]
then
print_warn "THIS IS THE GIT REPO FOUND" $IS_GIT
get_timestamp $directory
fi
}
function get_timestamp ()
{
directory=$1
arr=($(tail -n 1 $directory/logs/HEAD))
print_warn "MOST RECENT REPO UNIXTIME" "${arr[4]}"
mytime=`date +%s`
print_warn "SYS TIME" "$mytime"
TIME_DIFF_IN_SEC=($mytime - ${arr[4]})
print_warn "LAST MOD" "$TIME_DIFF_IN_SEC"
if [ $TIME_DIFF_IN_SEC -gt 86400 ]
then
print_warn "REPO AGED BEFORE TODAY"
#
# continued proc --> no commit found within 24hr
#
else
print_warn "REPO AGED TODAY"
sleep 3;
#
# kill proc --> freshness found
#
fi
}
main ()
{
#for ROOT_DIRS in $ROOT_DIR*;
# do
#if [ -d $ROOT_DIRS ]
#then
print_warn "$ROOT_DIR"
dive_dir $ROOT_DIR
#fi
#done
}
##
## execute
##
main