-
Notifications
You must be signed in to change notification settings - Fork 0
/
CopyToStableVersion.pl
82 lines (65 loc) · 1.69 KB
/
CopyToStableVersion.pl
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
require RecurseWork;
sub EnterDirectory()
{
my $DirName = shift @_;
my $UserData = shift @_;
if ( $DirName =~ /\.svn\/?$/ || $DirName =~ /^\.\/ServiceControl\/test/ || $DirName =~ /^\.\/Doc\// || $DirName =~ /^\.\/WorkingForOMiSCID\// )
{
return 0;
}
# print "$DirName ok\n";
return 1;
}
sub CreateFoldersForFiles()
{
my $CompleteFileName = shift @_;
my $folder = '';
my $tmpFolder = '';
while( $CompleteFileName =~ /^([^\/]+)\/(.+)$/ )
{
$tmpFolder = $1;
$CompleteFileName = $2;
# print "$CompleteFileName\n";
if ( $tmpFolder eq '.' )
{
next;
}
if ( $folder eq '' )
{
$folder = '../StableVersions/OMiSCID/' . $tmpFolder . '/';
}
else
{
$folder .= '/' . $tmpFolder;
}
$folder =~ s/\/\//\//g;
if ( ! defined $CreatedFolders{$folder} || ! -e $folder )
{
$CreatedFolders{$folder} = 1;
print "Create $folder\n";
mkdir $folder, 0755;
}
}
}
sub WorkOnFile()
{
my $CompleteFileName = shift @_;
my $UserData = shift @_;
my $FileOut;
print "$CompleteFileName\n";
&CreateFoldersForFiles($CompleteFileName);
$FileOut = $CompleteFileName;
$FileOut =~ s/^\.\//\.\.\/StableVersions\/OMiSCID\//;
# print "cp $CompleteFileName $FileOut\n";
`cp $CompleteFileName $FileOut`;
}
# Create if not exists ../StableVersions/OMiSCID/
if ( !-e '../StableVersions/OMiSCID/' )
{
`mkdir ../StableVersions/OMiSCID/`;
}
# copy back files to save from StableVersion
`cp -f ../StableVersions/OMiSCID/Problems.txt ../StableVersions/OMiSCID/Doxygen.log .`;
# remove Old StableVersion
`rm -rf ../StableVersions/OMiSCID/*`;
&RecurseWork::RecurseWork('.','');