
Puppet::VcsTools::File - Tk GUI for VCS file management

use Tk ;
use Puppet::VcsTools::File;
use Puppet::VcsTools::HistEdit;
use VcsTools::LogParser ;
use VcsTools::DataSpec::HpTnd qw($description readHook);
use Fcntl ;
use MLDBM qw(DB_File);
my %dbhash;
tie %dbhash, 'MLDBM', $file , O_CREAT|O_RDWR, 0640 or die $! ;
my $ds = new VcsTools::LogParser
(
description => $description,
readHook => \&readHook
) ;
my $mw = MainWindow-> new ;
$mw->withdraw ;
my $he = $mw->LogEditor( 'format' => $ds) ;
my $fileO = new Puppet::VcsTools::File
(
dbHash => \%dbhash,
keyRoot => 'root',
vcsClass => 'VcsTools::HmsAgent',
vcsArgs =>
{
hmsHost => 'hptnofs',
hmsBase => 'test_integ'
},
name => $tfile,
workDir => $ENV{'PWD'},
dataScanner => $ds,
logEditor => $he,
'topTk' => $mw
);
$fileO -> display( master => 1);
MainLoop ;

This class provides a GUI to the VcsTools::File class.
The widget provides all the functionnalities to edit, archive, lock, unlock, change the mode of a file.
The widget also provide an 'open history' menu to call the Puppet::VcsTools::History widget which will let you work on the history of a file. Moreover, this widget will let you edit the log a each version of a file, if you want to modify it.

The file must contain the $Revision: 1.3 $ VCS keyword.

The File widget contains a sub-window featuring:
By default, all these menus and buttons are disabled until the user performs a File->check through the menu.
The File menu contains several commands :
The File object will add some functionnalities to the History object while opening it :

Will create a new File object.
Parameters are those of "new(...)" in VcsTools::File. plus :

See "check()" in VcsTools::File
Will launch a widget for this object.
See "archiveFile(...)" in VcsTools::File.
Feature one more parameter : The user may pass a 'auto' parameter set to 1 if an interactive archive is not desired. (default 0)

See "createHistory()" in VcsTools::File, "edit()" in VcsTools::File "getRevision()" in VcsTools::File, "checkWritable()" in VcsTools::File, "chmodFile(...)" in VcsTools::File, "writeFile(...)" in VcsTools::File
Will create a Puppet::VcsTools::History object for this file and open its display.

See "createLocalAgent()" in VcsTools::File, "edit()" in VcsTools::File, "getRevision()" in VcsTools::File, "checkWritable()" in VcsTools::File, "chmodFile(...)" in VcsTools::File, "writeFile(...)" in VcsTools::File

See "createVcsAgent()" in VcsTools::File, "checkArchive()" in VcsTools::File, "changeLock(...)" in VcsTools::File, "checkOut(...)" in VcsTools::File, "getContent(...)" in VcsTools::File, "archiveLog(...)" in VcsTools::File, "getHistory()" in VcsTools::File, "showDiff(...)" in VcsTools::File, "checkIn(...)" in VcsTools::File
Will open a GUI to merge the 2 revisions. Will use xemacs ediff merge to perform the actual merge.
Parameters are :
The ancestor of rev1 and rev2 will be computed by the VcsTools::History object.

Dominique Dumont, Dominique_Dumont@grenoble.hp.com
Copyright (c) 1998 Dominique Dumont. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

perl(1), Tk(3), Puppet::Any(3), VcsTools::DataSpec::HpTnd(3), VcsTools::Version(3), VcsTools::File(3)