LaTeX-proposal/bin/filedate
2015-11-22 08:15:24 +01:00

46 lines
1.2 KiB
Perl
Executable File

#!/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 = `git log --format='%ai' $file`;
$date = substr($date, 0, index($date, ' '));
$date =~ s/-/\//g;
$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