source: trunk/lib/macros/_dolog_merge.amc

Last change on this file was 19662, checked in by westram, 12 days ago
  • Property svn:executable set to *
File size: 1.5 KB
Line 
1#!/usr/bin/perl
2#
3# auto-record ARB-merge-session
4# (for debugging purposes; user may as well record ARB crashes)
5#
6# call via:
7# arb_ntree --execute _dolog_merge database_source.arb database_dest.arb
8#
9# rerun via
10# arb_ntree --execute _logged_merge database_source.arb database_dest.arb
11#
12#
13# Please keep code here in sync with _dolog.amc
14
15use strict;
16use warnings;
17
18use lib "$ENV{'ARBHOME'}/lib/";
19use ARB;
20
21my $logged_merge_amc = '_logged_merge.amc';
22
23my $gb_main = ARB::open(":","r");
24if (not $gb_main) {
25  my $error = ARB::await_error();
26  die "$error";
27}
28
29my $macrodir = ARB::getenvARBMACROHOME();
30if (defined $macrodir) {
31  if (not -d $macrodir) { die "No such directory '$macrodir'"; }
32  my $last_logged = $macrodir.'/'.$logged_merge_amc;
33  if (-f $last_logged) {
34    my $backupDir = $macrodir.'/_backup';
35    if (not -d $backupDir) {
36      mkdir($backupDir) || die "Failed to create directory '$backupDir' (Reason: $!)";
37    }
38    my $modtime = (stat $last_logged)[9];
39    my $backup = $backupDir.'/_logged_merge_'.$modtime.'.amc';
40    print "backup '$last_logged' -> '$backup'\n";
41    my $cmd = "cp -p $last_logged $backup";
42    system($cmd)==0 || die "Failed to execute '$cmd'";
43  }
44
45  BIO::remote_action($gb_main,"ARB_MERGE","macros");
46  BIO::remote_awar($gb_main,"ARB_MERGE","tmp/macro/file_name",$logged_merge_amc);
47  BIO::remote_action($gb_main,"ARB_MERGE","MACROS/macro_record"); # hack :)
48  BIO::remote_action($gb_main,"ARB_MERGE","MACROS/CLOSE");
49}
50ARB::close($gb_main);
Note: See TracBrowser for help on using the repository browser.