1999-09-01 14:31:32 -07:00
|
|
|
#!/usr/bin/perl
|
1999-08-17 15:56:46 -07:00
|
|
|
|
1999-09-01 17:05:33 -07:00
|
|
|
print "prepping files for cvs using indent.\n";
|
2003-04-02 14:51:46 -08:00
|
|
|
`indent -i3 -bl -bad -nbap -sob -ncdb -di20 -nbc -lp -nce -npcs -sc -ncs -l80 src/*.[ch] >& /dev/null`;
|
1999-08-17 15:56:46 -07:00
|
|
|
|
1999-09-01 14:31:32 -07:00
|
|
|
# username -> handle translations
|
|
|
|
$names{mandrake} = "Mandrake";
|
|
|
|
$names{raster} = "Raster";
|
|
|
|
$names{mej} = "KainX";
|
1999-09-21 12:50:35 -07:00
|
|
|
$names{elwood} = "Christian";
|
1999-09-26 13:47:08 -07:00
|
|
|
$names{ljlane} = "ljlane";
|
2000-01-04 02:18:19 -08:00
|
|
|
$names{pkj} = "Saur";
|
2000-02-20 09:15:23 -08:00
|
|
|
$names{gilbertt} = "gilbertt";
|
1999-08-17 15:56:46 -07:00
|
|
|
|
1999-09-01 14:31:32 -07:00
|
|
|
# username -> indentstyle translations
|
|
|
|
$indents{raster} = "indent -i3 -bl -bad -nbap -sob -ncdb -di20 -nbc -lp -nce -npcs -sc -ncs -l80";
|
|
|
|
$indents{kimball} = "indent -bad -bap -bli0 -cli0 -ss -di20 -nbc -lp -i4 -ts4 -ncs -nce -npcs";
|
|
|
|
$indents{mike} = "indent -i2 -bl -bad -nbap -sob -ncdb -di20 -nbc -lp -nce -npcs -sc -ncs -l80";
|
2000-02-20 09:15:23 -08:00
|
|
|
# =)
|
1999-08-17 15:56:46 -07:00
|
|
|
|
1999-09-02 12:56:08 -07:00
|
|
|
if(($ARGV[0] =~ /up/)) {
|
|
|
|
print "force removing and updating timestamp.h\n";
|
|
|
|
unlink "timestamp.h";
|
|
|
|
system("cvs -z3 update timestamp.h");
|
|
|
|
}
|
|
|
|
|
1999-09-01 17:05:33 -07:00
|
|
|
if(($ARGV[0] =~ /com/) || ($ARGV[0] =~ /ci/)) {
|
|
|
|
print "We're doing a commit, time to edit the logfile.\n";
|
1999-09-01 14:31:32 -07:00
|
|
|
$ARGV[0] .= " -F CommitLog";
|
|
|
|
open COMMITLOG, ">CommitLog";
|
|
|
|
print COMMITLOG `date`;
|
|
|
|
print COMMITLOG "($names{$ENV{USER}})\n";
|
|
|
|
print COMMITLOG "\n";
|
|
|
|
close COMMITLOG;
|
|
|
|
if($ENV{EDITOR}) {
|
|
|
|
system("$ENV{EDITOR} CommitLog");
|
|
|
|
} else {
|
|
|
|
system("vi CommitLog");
|
|
|
|
}
|
1999-09-01 17:05:33 -07:00
|
|
|
|
|
|
|
open COMMITLOG, "CommitLog";
|
|
|
|
@lines = <COMMITLOG>;
|
|
|
|
close COMMITLOG;
|
|
|
|
if($#lines < 3) {
|
|
|
|
unlink "CommitLog";
|
|
|
|
print "Obviously this was supposed to be an aborted commit.\n";
|
|
|
|
exit(0);
|
|
|
|
}
|
|
|
|
@ARGV2 = @ARGV;
|
|
|
|
$ARGV2[0] = "update";
|
|
|
|
|
2003-04-06 17:54:55 -07:00
|
|
|
print "Force updating ChangeLog and removing src/timestamp.h\n";
|
1999-09-01 17:05:33 -07:00
|
|
|
unlink "ChangeLog";
|
|
|
|
system("cvs -z3 update ChangeLog");
|
2003-04-06 17:54:55 -07:00
|
|
|
unlink "src/timestamp.h";
|
|
|
|
system("cvs -z3 update src/timestamp.h");
|
1999-09-01 17:05:33 -07:00
|
|
|
|
|
|
|
print "Updating the files you are committing.\n";
|
1999-09-01 17:17:42 -07:00
|
|
|
system("cvs -z3 @ARGV2 2>&1 |tee errors");
|
1999-09-01 17:05:33 -07:00
|
|
|
|
|
|
|
open ERRORS, "errors";
|
|
|
|
while(<ERRORS>) {
|
|
|
|
if(/conflicts during merge/) {
|
|
|
|
print "There's a conflict. Resolve and try again.\n";
|
2003-04-02 14:51:46 -08:00
|
|
|
unlink "errors" if (-f "errors");
|
1999-09-01 17:05:33 -07:00
|
|
|
exit(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
close ERRORS;
|
|
|
|
|
2003-04-02 14:51:46 -08:00
|
|
|
unlink "errors" if (-f "errors");
|
1999-09-01 17:05:33 -07:00
|
|
|
|
|
|
|
|
2003-04-06 17:54:55 -07:00
|
|
|
print "Creating new src/timestamp.h\n";
|
2003-04-21 19:10:58 -07:00
|
|
|
open TS, ">src/timestamp.h";
|
1999-09-01 17:05:33 -07:00
|
|
|
print TS "#define E_CHECKOUT_DATE \"\$Date\$\"\n";
|
|
|
|
close TS;
|
|
|
|
|
|
|
|
print "Updating the ChangeLog with your entry\n";
|
1999-09-01 14:31:32 -07:00
|
|
|
open CHANGELOG, ">>ChangeLog";
|
|
|
|
print CHANGELOG "\n-------------------------------------------------------------------------------\n\n";
|
|
|
|
close CHANGELOG;
|
|
|
|
`cat CommitLog >> ChangeLog`;
|
1999-09-01 17:05:33 -07:00
|
|
|
|
|
|
|
if($#ARGV >= 1) {
|
|
|
|
$found = 0;
|
|
|
|
foreach(@ARGV) {
|
|
|
|
if(/ChangeLog$/) {
|
|
|
|
$found = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
push @ARGV, "ChangeLog" if(!$found);
|
|
|
|
|
|
|
|
$found = 0;
|
|
|
|
foreach(@ARGV) {
|
2003-04-06 17:54:55 -07:00
|
|
|
if(/src\/timestamp\.h$/) {
|
1999-09-01 17:05:33 -07:00
|
|
|
$found = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2003-04-02 14:51:46 -08:00
|
|
|
push @ARGV, "\timestamp.h" if(!$found);
|
1999-09-01 17:05:33 -07:00
|
|
|
}
|
1999-09-01 14:31:32 -07:00
|
|
|
}
|
1999-08-17 15:56:46 -07:00
|
|
|
|
1999-09-01 14:38:50 -07:00
|
|
|
system("cvs -z3 @ARGV");
|
|
|
|
|
|
|
|
unlink "CommitLog" if(-f "CommitLog");
|
1999-09-01 14:31:32 -07:00
|
|
|
|
|
|
|
if($indents{$ENV{USER}}) {
|
|
|
|
`$indents{$ENV{USER}} *.c *.h >& /dev/null`;
|
|
|
|
}
|
1999-09-01 17:05:33 -07:00
|
|
|
|
|
|
|
`rm -f *~`;
|