46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
|
#!/usr/bin/perl -w
|
||
|
#######################################################################################
|
||
|
# A tool for updating .dtx files with a given package date. #
|
||
|
# Copyright (c) 2010, Deyan Ginev, released under the Gnu General Public License (GPL)#
|
||
|
# see http://www.gnu.org/copyleft/gpl.html #
|
||
|
# $URL: https://svn.kwarc.info/repos/stex/trunk/bin/filedate$ #
|
||
|
#######################################################################################
|
||
|
|
||
|
use strict;
|
||
|
|
||
|
use Getopt::Long;
|
||
|
use Modparse;
|
||
|
use Pod::Usage;
|
||
|
use Cwd qw(abs_path);
|
||
|
|
||
|
my ($file) = @ARGV;
|
||
|
my $date = `svn info $file`;
|
||
|
$date =~ /Last Changed Date: (\d+)-(\d+)-(\d+)/;
|
||
|
$date = $1.'/'.$2.'/'.$3;
|
||
|
$file = abs_path($file);
|
||
|
open(IN,"<$file");
|
||
|
my @lines = ();
|
||
|
while (<IN>) {
|
||
|
if ($_ =~ /\\Provides(Package|Class)/) {
|
||
|
$_ =~ s/\[(.*?)\s/\[$date /;
|
||
|
}
|
||
|
push @lines, $_;
|
||
|
}
|
||
|
close(IN);
|
||
|
open(OUT,">$file");
|
||
|
print OUT join("",@lines);
|
||
|
close(OUT);
|
||
|
|
||
|
__END__
|
||
|
|
||
|
|
||
|
=head1 SYNOPSIS
|
||
|
|
||
|
filedate <input filename> <newdate>
|
||
|
|
||
|
Purpose:
|
||
|
Update the dates for a \ProvidePackage invocation in a given .dtx source
|
||
|
|
||
|
Example:
|
||
|
filedate omdoc.dtx
|