monotone

monotone Commit Details

Date:2009-01-23 19:24:00 (10 years 5 months ago)
Author:Tony Cooper
Branch:net.venge.monotone.contrib.mtn-browse
Commit:9b6d97c11d7036092d92979f8305bedbcdbefe9b
Parents: c132b8d1b73347305a6873c9dc578026c7aca73e
Message:- Prepared files for the first package (at version 0.60).

- Improved Installer.pm and corrected a permissions bug in linux-install.
Changes:
AREADME (full)
MInstaller.pm (5 diffs)
Mlib/perl/Common.pm (3 diffs)
Mlib/perl/Globals.pm (1 diff)
Mlinux-install (1 diff)

File differences

Installer.pm
6262
6363
6464
65
65
6666
6767
6868
......
8888
8989
9090
91
91
9292
93
93
9494
9595
9696
......
104104
105105
106106
107
107
108108
109109
110110
111111
112
113
112
113
114114
115115
116116
......
128128
129129
130130
131
132
133
131134
132135
133136
134137
135138
136
139
137140
138141
139
142
140143
141144
142145
......
176179
177180
178181
179
182
180183
181
182
184
185
186
187
188
189
190
191
183192
184
185
186
187
188
193
194
189195
190196
191197
# Public methods.
sub install($$$);
sub install($$$;$);
sub new($$$$$$);
# ***** PACKAGE INFORMATION *****
# $group : The group id for any destination files and
# directories.
# $dir_perms : Permissions for any created directories.
# $nexec_perms : Permissions for any created non-executable
# $exec_perms : Permissions for any created executable
# files.
# $exec_perms : Permissions for any created executable
# $nexec_perms : Permissions for any created non-executable
# files.
# Return Value : A reference to the newly created object.
#
my $class = (ref($_[0]) ne "") ? ref($_[0]) : $_[0];
shift();
my($owner, $group, $dir_perms, $nexec_perms, $exec_perms) = @_;
my($owner, $group, $dir_perms, $exec_perms, $nexec_perms) = @_;
my $this = {owner => $owner,
group => $group,
dir_perms => $dir_perms,
non_exec_perms => $nexec_perms,
exec_perms => $exec_perms};
exec_perms => $exec_perms,
non_exec_perms => $nexec_perms};
bless($this, $class);
return $this;
# $dest_file : The name of where the file is to be installed
# to. Single `.' file names are allowed and are
# taken to mean same file name.
# $perms : The file permissions for the target file or
# undef the default file permssions should be
# used. This is optional.
#
##############################################################################
sub install($$$)
sub install($$$;$)
{
my($this, $src_file, $dest_file) = @_;
my($this, $src_file, $dest_file, $perms) = @_;
my($file,
$full_path,
copy($src_file, $full_path)
or croak("copy " . $src_file . " " . $full_path . " failed with: "
. $!);
if (-x $src_file)
if (! defined($perms))
{
chmod($this->{exec_perms}, $full_path)
or croak ("chmod " . $full_path . "failed with: " . $!);
if (-x $src_file)
{
$perms = $this->{exec_perms};
}
else
{
$perms = $this->{non_exec_perms};
}
}
else
{
chmod($this->{non_exec_perms}, $full_path)
or croak ("chmod " . $full_path . "failed with: " . $!);
}
chmod($perms, $full_path)
or croak ("chmod " . $full_path . "failed with: " . $!);
chown($this->{owner}, $this->{group}, $full_path);
}
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
mtn-browse Version 0.60
=======================
mtn-browse is an application for browsing Monotone VCS databases without the
need of a workspace. The interface allows one to:
* Easily select a revision from within a branch.
* Find a revision using complex queries.
* Navigate the contents of a revision using a built in file manager.
* Display file contents, either using the internal viewer or an external
helper application.
* Compare the changes between different revisions or versions of a file
either using the internal difference viewer or an external application.
* Find files within a revision based on detailed search criteria.
* Display file annotations and easily refer back to the corresponding
change documentation.
* Save files to disk.
For further details on Monotone see http://monotone.ca. For further details on
mtn-browse see http://www.coosoft.plus.com/software.html.
INSTALLATION
------------
As root simply unpack the tar file and run the installer by doing:
tar xvpzf mtn-browse-<Version Number>.tgz
cd mtn-browse-<Version Number>
chmod +x linux-install
./linux-install
and then follow the prompts.
If you prefer to install this application manually then copy the files into
place using the following directory structure:
<Install Location>
|-- bin
| `-- mtn-browse
`-- lib
`-- mtn-browse
|-- perl
| |-- AdvancedFind.pm
| |-- Annotate.pm
| |-- ChangeLog.pm
| |-- ComboAutoCompletion.pm
| |-- Common.pm
| |-- Completion.pm
| |-- FindFiles.pm
| |-- FindText.pm
| |-- Globals.pm
| |-- History.pm
| |-- Monotone <- 1)
| | |-- AutomateStdio.pm
| | `-- AutomateStdio.pod
| |-- Preferences.pm
| `-- WindowManager.pm
`-- ui
|-- annotate.png
|-- diffs.png
|-- external-diffs.png
|-- line.png
|-- monotone-viz.png
|-- mtn-browse-large.png
|-- mtn-browse.glade
`-- mtn-browse.png
The only file that needs to be executable is the mtn-browse file under the bin
directory.
1) The Monotone directory is only needed if the Monotone::AutomateStdion
package from CPAN has not already been installed.
Once the files are in place then edit the mtn-browse executable and change the
constants at the top containing the "@INST:LIB_DIR@", "@INST:GLOBS_FILE@" and
"@INST:PREFIX_DIR@" values so that they contain the correct values. It is
probably best that you actually run the installer as a non-privileged user and
install it somewhere under your home directory and then change the paths
accordingly.
DEPENDENCIES
------------
This module requires these other modules and libraries:
* Perl 5.8.5 or later
* Gnome and Gtk2
* The following Perl CPAN modules:
- Glib (1.144) *
- Gnome2 (1.042) *
- Gnome2-Canvas (1.002) *
- Gnome2-Print (1.000) *
- Gnome2-VFS (1.080) *
- Gtk2 (1.146) *
- Gtk2-GladeXML (1.006) *
- Gtk2-SourceView (1.000) *
- libintl-perl (1.16)
- Monotone::AutomateStdio
Please note that the Gtk2 CPAN bundle will probably satisfy all of the
dependencies marked with * at the end of the line.
Older versions of Perl may work but these have not been tested at this point in
time.
COPYRIGHT AND LICENCE
---------------------
Copyright (c) 2007 Anthony Edward Cooper <aecooper@coosoft.plus.com>.
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your option) any
later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307 USA.
lib/perl/Common.pm
943943
944944
945945
946
946
947947
948948
949949
......
970970
971971
972972
973
973
974974
975975
976976
......
10061006
10071007
10081008
1009
10091010
10101011
10111012
10121013
10131014
1015
10141016
10151017
10161018
# updated or loaded.
# $value : The new value that is to be added to the
# specified history list and comboboxentry or
# undef if the comboboxentry is just to
# undef if the comboboxentry is just to be
# updated with the current history list. This
# is optional.
#
if ($entry eq $value)
{
$update_history = 0;
last;
last;
}
}
}
if ($update_history)
{
my $text_entry_value = $widget->child()->get_text();
$widget->get_model()->clear();
foreach my $entry (@$history_ref)
{
$widget->append_text($entry);
}
$widget->child()->set_text($text_entry_value);
}
}
lib/perl/Globals.pm
5656
5757
5858
59
59
6060
6161
6262
# Constants for the name and version of this application.
use constant APPLICATION_NAME => "mtn-browse";
use constant APPLICATION_VERSION => 0.51;
use constant APPLICATION_VERSION => 0.60;
# Constants used to represent the different groups of widgets.
linux-install
185185
186186
187187
188
188
189
190
189191
190192
191193
$infile->close();
$outfile->close();
$infile = $outfile = undef;
$installer->install("mtn-browse.out", "${prefix_dir}/bin/mtn-browse");
$installer->install("mtn-browse.out",
"${prefix_dir}/bin/mtn-browse",
0755);
unlink("mtn-browse.out");
# Install modules and libraries.

Archive Download the corresponding diff file

Branches

Tags

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status