view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
\bBuild.bat$
\bBuild.COM$
\bBUILD.COM$
\bbuild.com$
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/remarkpl/public/remark.min.js view on Meta::CPAN
},a={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0},r={className:"symbol",variants:[{begin:/\=[lgenxc]=/},{begin:/\$/}]},s={className:"comment",variants:[{begin:"'",end:"'"},{begin:'"',end:'"'}],illegal:"\\n",contains:[e.BACKSL...
},{begin:":\\s*"+t}]}]}}},{name:"hsp",create:function(e){return{case_insensitive:!0,lexemes:/[\w\._]+/,keywords:"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mca...
},contains:[t,{className:"keyword",begin:"\\bend\\sif\\b"},{className:"function",beginKeywords:"function",end:"$",contains:[t,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,r]},{className:"function",begin:"\\bend\\s+",e...
contains:[{className:"comment",begin:/\(\*/,end:/\*\)/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{begin:/\{/,end:/\}/,illegal:/:/}]}}},{name:"matlab",create:function(e){var t=[e.C_NUMBER_MODE,{className:"string",begin:"'",end:"'",contai...
illegal:"</",contains:[e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_M...
contains:[i]});return{aliases:["ps"],lexemes:/-?[A-z\.\-]+/,case_insensitive:!0,keywords:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try...
},{className:"meta",begin:"#\\!?\\[",end:"\\]",contains:[{className:"meta-string",begin:/"/,end:/"/}]},{className:"class",beginKeywords:"type",end:";",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"\\S"},{className:"class",beg...
literal:"true false nil"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.NUMBER_MODE,a,t.preprocessor],illegal:/#/}}},{name:"sql",create:function(e){var t=e.COMMENT("--","$");return{case_insensitive:!0,illegal:/[<>{}*#]/,contains:[{beginKey...
return{aliases:["styl"],case_insensitive:!1,keywords:"if else for in",illegal:"("+o.join("|")+")",contains:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+i,returnBegin:!0,cont...
built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx...
"atelier-lakeside-light":".hljs-atelier-lakeside-light .hljs-comment,.hljs-atelier-lakeside-light .hljs-quote{color:#5a7b8c}.hljs-atelier-lakeside-light .hljs-variable,.hljs-atelier-lakeside-light .hljs-template-variable,.hljs-atelier-lakeside-light ...
grayscale:".hljs-grayscale .hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#fff}.hljs-grayscale .hljs-comment,.hljs-grayscale .hljs-quote{color:#777;font-style:italic}.hljs-grayscale .hljs-keyword,.hljs-grayscale .hljs-selector...
"solarized-dark":".hljs-solarized-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#002b36;color:#839496}.hljs-solarized-dark .hljs-comment,.hljs-solarized-dark .hljs-quote{color:#586e75}.hljs-solarized-dark .hljs-keyword,.hljs-solari...
view all matches for this distribution
view release on metacpan or search on metacpan
1.11 Tue Mar 23 13:41:00 CET 2021
- Fix examples in documentation
1.10 Fri Mar 19 22:00:12 CET 2021
- Skip files containing 0-bytes
- Fix a backup file issue related to wildcards
1.9 Fri Jul 4 02:51:17 CEST 2014
- use bsd_glob to handle files with space in the name.
1.8 Sun Sep 19 20:19:36 CEST 2010
- Ensure directories exist for backup files.
1.7 Sun Sep 19 19:47:47 CEST 2010
- Fixed a long standing bug related to backup
- Added --prefix, --basename-prefix and -z for --suffix
- Updated documentation
1.6 Mon Aug 18 16:45:06 CEST 2008
- inlined mkpath for better control of error messages.
view all matches for this distribution
view release on metacpan or search on metacpan
script/_reposdb-inline view on Meta::CPAN
# my ($self, $l, $r) = @_;
# $self->path([]);
# $self->errors([]);
# $self->mem({});
# $self->cur_mem_key(undef);
# my ($key, $res, $backup) = $self->_merge(undef, $l, $r);
# {
# success => !@{ $self->errors },
# error => (@{ $self->errors } ?
# join(", ",
# map { sprintf("/%s: %s", join("/", @{ $_->[0] }), $_->[1]) }
# @{ $self->errors }) : ''),
# result => $res,
# backup => $backup,
# };
#}
#
## handle circular refs: process todo's
#sub _process_todo {
script/_reposdb-inline view on Meta::CPAN
# }
# } else {
# $self->mem->{$memkey} = {res=>undef, todo=>[]};
# $self->cur_mem_key($memkey);
# #print "DEBUG: invoking ".$mh->name."'s $meth(".dmp($key).", ".dmp($l).", ".dmp($r).")\n";
# my ($newkey, $res, $backup) = $mh->$meth($key, $l, $r);
# #print "DEBUG: setting res for mem<$memkey>\n";
# $self->mem->{$memkey}{res} = [$newkey, $res, $backup];
# $self->_process_todo;
# return ($newkey, $res, $backup);
# }
# } else {
# $self->_process_todo;
# #print "DEBUG: invoking ".$mh->name."'s $meth(".dmp($key).", ".dmp($l).", ".dmp($r).")\n";
# return $mh->$meth($key, $l, $r);
script/_reposdb-inline view on Meta::CPAN
#specified hash. Return the same hash but with prefixes removed.
#
#=head2 merge($l, $r)
#
#Merge two nested data structures. Returns the result hash: {
#success=>0|1, error=>'...', result=>..., backup=>... }. The 'error'
#key is set to contain an error message if there is an error. The merge
#result is in the 'result' key. The 'backup' key contains replaced
#elements from the original hash/array.
#
#=head1 FAQ
#
#=head2 What is this module good for? Why would I want to use this module instead of the other hash merge modules?
script/_reposdb-inline view on Meta::CPAN
# my $c = $mm->config;
# return $self->merge_SCALAR_SCALAR($key, $l, $r) unless $c->recurse_array;
# return if $c->wanted_path && !$mm->_path_is_included($mm->path, $c->wanted_path);
#
# my @res;
# my @backup;
# my $la = @$l;
# my $lb = @$r;
# push @{ $mm->path }, -1;
# for my $i (0..($la > $lb ? $la : $lb)-1) {
# #print "DEBUG: merge_A_A: #$i: a->[$i]=".Data::Dumper->new([$l->[$i]])->Indent(0)->Terse(1)->Dump.", b->[$i]=".Data::Dumper->new([$r->[$i]])->Indent(0)->Terse(1)->Dump."\n";
# $mm->path->[-1] = $i;
# if ($i < $la && $i < $lb) {
# push @backup, $l->[$i];
# my ($subnewkey, $subres, $subbackup, $is_circular) = $mm->_merge($i, $l->[$i], $r->[$i], $c->default_mode);
# last if @{ $mm->errors };
# if ($is_circular) {
# push @res, undef;
# #print "DEBUG: pushing todo to mem<".$mm->cur_mem_key.">\n";
# push @{ $mm->mem->{ $mm->cur_mem_key }{todo} }, sub {
# my ($subnewkey, $subres, $subbackup) = @_;
# #print "DEBUG: Entering todo subroutine (i=$i)\n";
# $res[$i] = $subres;
# }
# } else {
# push @res, $subres;# if defined($newkey); = we allow DELETE on array?
script/_reposdb-inline view on Meta::CPAN
# } else {
# push @res, $r->[$i];
# }
# }
# pop @{ $mm->path };
# ($key, \@res, \@backup);
#}
#
#sub _prefilter_hash {
# my ($self, $h, $desc, $sub) = @_;
# my $mm = $self->merger;
script/_reposdb-inline view on Meta::CPAN
# my $c = $mm->config;
#
# #print "DEBUG: Entering _merge_gen(".dmp($hl).", ".dmp($hr).", $mode, ...)\n";
#
# my $res = {};
# my $backup = {};
#
# my %k = map {$_=>1} keys(%$hl), keys(%$hr);
# push @{ $mm->path }, "";
# K:
# for my $k (keys %k) {
script/_reposdb-inline view on Meta::CPAN
# if (!$do_merge) {
# $res->{$k} = $hl->{$k} if $hl->{$k};
# next K;
# }
#
# $backup->{$k} = $hl->{$k}[1] if $hl->{$k} && $hr->{$k};
# if ($hl->{$k}) {
# push @o, $hl->{$k};
# }
# if ($hr->{$k}) {
# my %m = map {$_=>$mm->modes->{$_}->precedence_level} keys %{ $hr->{$k} };
script/_reposdb-inline view on Meta::CPAN
# if (@o == 1 &&
# (($hl->{$k} && $mh->can("merge_left_only")) ||
# ($hr->{$k} && $mh->can("merge_right_only")))) {
# # there's only left-side or right-side
# my $meth = $hl->{$k} ? "merge_left_only" : "merge_right_only";
# my ($subnewkey, $v, $subbackup, $is_circular, $newmode) = $mh->$meth($k, $o[$i][1]); # XXX handle circular?
# next K unless defined($subnewkey);
# $final_mode = $newmode;
# $v = $res;
# } else {
# $final_mode = $o[$i][0];
script/_reposdb-inline view on Meta::CPAN
# or do {
# $mm->push_error("Can't merge $final_mode + $o[$i][0]");
# return;
# };
# #print "DEBUG: merge $final_mode+$o[$i][0] = $m->[0], $m->[1]\n";
# my ($subnewkey, $subbackup);
# ($subnewkey, $v, $subbackup, $is_circular) = $mm->_merge($k, $v, $o[$i][1], $m->[0]);
# return if @{ $mm->errors };
# if ($is_circular) {
# if ($i < $#o) {
# $mm->push_error("Can't handle circular at $i of $#o merges (mode $m->[0]): not the last merge");
# return;
# }
# #print "DEBUG: pushing todo to mem<".$mm->cur_mem_key.">\n";
# push @{ $mm->mem->{ $mm->cur_mem_key }{todo} }, sub {
# my ($subnewkey, $subres, $subbackup) = @_;
# #print "DEBUG: Entering todo subroutine (k=$k)\n";
# my $final_mode = $m->[1];
# #XXX return unless defined($subnewkey);
# $res->{$k} = [$m->[1], $subres];
# if ($c->readd_prefix) {
script/_reposdb-inline view on Meta::CPAN
# }
# $res->{$k} = [$final_mode, $v] unless $is_circular;
# }
# pop @{ $mm->path };
# #print "DEBUG: Leaving _merge_gen, res = ".dmp($res)."\n";
# ($res, $backup);
#}
#
## hh is {key=>[MODE, val], ...} which is the format returned by _merge_gen
#sub _readd_prefix {
# my ($self, $hh, $k, $defmode) = @_;
script/_reposdb-inline view on Meta::CPAN
#
# my $okr = $self->_gen_right($r, $mode, sub {$_[0] eq $ok});
# return if @{ $mm->errors };
#
# push @{ $mm->path }, $ok;
# my ($res, $backup);
# {
# local $c->{readd_prefix} = 0;
# ($res, $backup) = $self->_merge_gen($okl, $okr, $mode);
# }
# pop @{ $mm->path };
# return if @{ $mm->errors };
#
# #print "DEBUG: merge options key (".dmp($okl).", ".dmp($okr).") = ".dmp($res)."\n";
script/_reposdb-inline view on Meta::CPAN
# return;
# }
# }
#
# # STEP 4. MERGE LEFT & RIGHT
# my ($res, $backup) = $self->_merge_gen($hl, $hr, $mode, $em, $im, $emr, $imr);
# return if @{ $mm->errors };
#
# #print "DEBUG: intermediate res(5) = ".Data::Dumper->new([$res])->Indent(0)->Terse(1)->Dump."\n";
#
# # STEP 5. TURN BACK {key=>[MODE=>val]}, ...} INTO {(prefix)key => val, ...}
script/_reposdb-inline view on Meta::CPAN
# if ($config_replaced) {
# $mm->config($orig_c);
# #print "DEBUG: Restored config, config=", dmp($mm->config), "\n";
# }
#
# #print "DEBUG: backup = ".Data::Dumper->new([$backup])->Indent(0)->Terse(1)->Dump."\n";
# #print "DEBUG: leaving merge_H_H, result = ".dmp($res)."\n";
# ($key, $res, $backup);
#}
#
#1;
## ABSTRACT: Base class for Data::ModeMerge mode handler
#
script/_reposdb-inline view on Meta::CPAN
#
#sub default_prefix_re { qr/^!/ }
#
## merge_left_only and merge_right_only are a bit different: they are
## called with $l only or $r only instead of both, and should return an
## extra argument $mode, i.e. ($key, $result, $backup, $is_circular,
## $mode)
#sub merge_left_only {
# my ($self, $key, $l) = @_;
# return;
#}
view all matches for this distribution
view release on metacpan or search on metacpan
share/revealjs/plugin/highlight/highlight.esm.js view on Meta::CPAN
function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(...
/*!
* reveal.js plugin that adds syntax highlight support.
*/
var of={id:"highlight",HIGHLIGHT_STEP_DELIMITER:"|",HIGHLIGHT_LINE_DELIMITER:",",HIGHLIGHT_LINE_RANGE_DELIMITER:"-",hljs:rf,init:function(e){var t=e.getConfig().highlight||{};t.highlightOnLoad="boolean"!=typeof t.highlightOnLoad||t.highlightOnLoad,t....
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
\bbuild.com$
# and Module::Build::Tiny generated files
\b_build_params$
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
view all matches for this distribution
view release on metacpan or search on metacpan
Well, apparently C<openssh> needs C<zlib> as well, that's the only thing I
forgot, after C<patch zlib> I successfully entered this sanctuary with the
root directory bind mounted somewhere under it and launched C<sshd> on a
different port, confirmed that I could login through it. Then I did the
actual swap, moved everything under root to a backup directory, well,
except the usually mounted C</proc /sys /dev>, since it's meaningless to
C<umount> them and then C<mount> later, after that I moved all the directories
of the already prepared RSLinux into root, then I entered this fresh root,
played around a little bit, launched C<sshd> and ended the session with
the C<sshd> of the sanctuary.
Finally, I did a login through the C<sshd> of RSLinux I just launched, cleaned
up all the applications of the old system and sanctuary that're still running,
and mountpoints related to them. After that I did a C<rm -rf> on the backup
directory and the sanctuary to celebrate, the installation is done!
So yeah, the previously mentioned eight packages are guaranteed to do a
successful live replacing installation, and I'm sure you can reduce the
number even more if you want. It surely is an exicting, adventurous, and
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
\bBuild.bat$
\bBuild.COM$
\bBUILD.COM$
\bbuild.com$
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/shcompgen.pm view on Meta::CPAN
my @res;
for my $dir (split /:/, $ENV{PATH}) {
opendir my($dh), $dir or next;
for my $f (readdir $dh) {
next if $f eq '.' || $f eq '..';
next if $f =~ /~\z/; # skip backup files
next unless ((-f "$dir/$f") && (-x _));
push @res, "$dir/$f";
}
}
\@res;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/sibs.pm view on Meta::CPAN
package App::sibs;
=head1 NAME
App::sibs - Simple incremental backup system
=head1 VERSION
0.17
=head1 DESCRIPTION
C<sibs> create backup from your computer to a destination server, using
C<rsync>.
=over 4
=item * Setup
lib/App/sibs.pm view on Meta::CPAN
In addition, this step will create or update a config file. The default
config file is L<$HOME/.sibs.conf>, but you can also specify your own path.
=item * Backup
The second step will create the actual backup. This step can be automated
in a cronjob, because the key created in the first step will not require
any password to log into the remote backup server. Example crontab:
0 */4 * * * /usr/local/bin/sibs backup 2>/dev/null 1>/dev/null
This will create a backup every four hours. The backup will be "full" each
time and kept for a month. Even so, it probably won't take up too much space,
since all the files are hard linked, meaning an unchanged file will take up
the same disk space for each backup.
=back
=head1 SYNOPSIS
$ sibs <action> <options> <config file>
$ sibs setup
$ sibs backup
=over 4
=item * action: setup
Used to L<set up|/Setup> the inital config file.
=item * action: backup
Used to take L<backup|/Backup>.
=item * action: man
Used to see this help text.
lib/App/sibs.pm view on Meta::CPAN
{
format => '%d-%H', # default
exclude => [qw( .cache .gvfs Downloads Dropbox Trash )],
source => [qw( /home/username )],
destination => "rsync://login-username@my.server.com/var/backup/username",
}
Defaults:
=over 4
lib/App/sibs.pm view on Meta::CPAN
Which files/directories to exclude.
=item * source: C<$HOME>
Which directory to backup.
=back
Default C<exclude> may change in future release.
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
\btmon.out$
# Avoid Devel::NYTProf generated files
\bnytprof
# Avoid temp and backup files.
~$
\.tmp$
\.old$
\.bak$
\#$
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
CPAN.SKIP
t/000_standard__*
Debian_CPANTS.txt
nytprof.out
# Temp, old, emacs, vim, backup files.
~$
\.old$
\.swp$
\.tar$
\.tar\.gz$
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/tabify.pm view on Meta::CPAN
use POSIX qw(ceil);
my %Opts = (
tab_width => 8,
in_place => 0,
#backup_ext => undef,
);
sub parse_cmdline {
my $res = GetOptionsWithCompletion(
sub {},
'tab-width|w=i' => \$Opts{tab_width},
#'in-place|i' => sub { # XXX in-place|i:s doesn't work?
# $Opts{in_place} = 1;
# #$Opts{backup_ext} = $_[1] if defined $_[1];
#},
'version|v' => sub {
no warnings 'once';
say "tabify version $main::VERSION";
exit 0;
lib/App/tabify.pm view on Meta::CPAN
my $tw = $Opts{tab_width};
LINE:
while (<>) {
#if ($ARGV ne $oldargv) {
# if (defined($Opts{backup_ext}) && $Opts{backup_ext} ne '') {
# rename $ARGV, "$ARGV$Opts{backup_ext}";
# open $argvout, ">", $ARGV;
# select $argvout;
# $oldargv = $ARGV;
# }
#}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/tkiv.pm view on Meta::CPAN
L<Image::Info> and ImageMagick.
=head1 WARRANTY
The fact that I use it on my own picture sets is by no means a guarantee
that the software is without bugs. Use with care, and make backups of all
pictures you care about before experimenting.
=head1 AUTHOR
H.Merijn Brand F<E<lt>h.m.brand@xs4all.nlE<gt>> wrote this for his own
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/tmclean.pm view on Meta::CPAN
my $self = shift;
if (!$self->dry_run && $ENV{USER} ne 'root') {
die "tmutil requires root privileges\n";
}
$self->cmd(qw/tmutil stopbackup/);
$self->cmd(qw/tmutil disable/); # need sudo
my @targets = $self->backups2delete;
unless (@targets) {
logf 'no deletion targets found';
return 0;
}
my $mount_point = $self->mount_point;
logf "following backups to be deleted:\n %s", join("\n ", @targets);
for my $bak (@targets) {
$self->cmd(qw/tmutil delete/, $bak); # need sudo
}
my $dev_name = dev_name($targets[0]);
$self->cmd(qw/hdiutil detach/, $dev_name);
my $backupbundle_path = sprintf '%s/%s.sparsebundle', $mount_point, $self->machine_name;
if (! -d $backupbundle_path) {
# backupbundle path is changed after Catalina
$backupbundle_path =~ s/\.sparsebundle$/.backupbundle/;
}
$self->cmd(qw/hdiutil compact/, $backupbundle_path); # need sudo
$self->cmd(qw/tmutil enable/); # need sudo
}
sub backups2delete {
my $self = shift;
my @backups = `tmutil listbackups`;
if ($? != 0) {
die "failed to execute `tmutil listbackups`: $?\n";
}
# e.g. /Volumes/Time Machine Backup/Backups.backupdb/$machine/2018-01-07-033608
return grep {
chomp;
my @paths = split m!/!, $_;
my $backup_date = eval { Time::Piece->strptime($paths[-1], '%Y-%m-%d-%H%M%S') };
$backup_date && $self->before_tp > $backup_date;
} @backups;
}
sub mount_point {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
\bBuild.bat$
\bBuild.COM$
\bBUILD.COM$
\bbuild.com$
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
\bbuild.com$
# and Module::Build::Tiny generated files
\b_build_params$
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
view all matches for this distribution
view release on metacpan or search on metacpan
% upf add-delete-user-groups [--add-to-json=s] [--add-to=s+]
[--config-path=path | -c] [--config-profile=profile | -P]
[--delete-from-json=s] [--delete-from=s+] [--etc-dir=s]
[--format=name] [--json] [--(no)naked-res] [--no-config | -C]
[--no-env] [--page-result[=program]] <user>
% upf add-group [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name]
[--gid=s] [--json] [--max-gid=s] [--members-json=s] [--members=s]
[--min-gid=s] [--(no)naked-res] [--no-backup] [--no-config | -C]
[--no-env] [--nobackup] [--page-result[=program]] <group>
% upf add-user [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--encpass=s] [--etc-dir=s]
[--expire-date=s] [--format=name] [--gecos=s] [--gid=s] [--group=s]
[--home=s] [--json] [--last-pwchange=s] [--max-gid=s]
[--max-pass-age=s] [--max-uid=s] [--min-gid=s] [--min-pass-age=s]
[--min-uid=s] [--(no)naked-res] [--no-backup] [--no-config | -C]
[--no-env] [--nobackup] [--page-result[=program]]
[--pass-inactive-period=s] [--pass-warn-period=s] [--pass=s]
[--shell=s] [--uid=s] <user>
% upf add-user-to-group [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-config | -C] [--no-env]
[--page-result[=program]] <user> <group>
% upf delete-group [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-backup] [--no-config | -C] [--no-env]
[--nobackup] [--page-result[=program]] <group>
% upf delete-user [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-backup] [--no-config | -C] [--no-env]
[--nobackup] [--page-result[=program]] <user>
% upf delete-user-from-group [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-config | -C] [--no-env]
[--page-result[=program]] <user> <group>
% upf get-group [--config-path=path | -c] [--config-profile=profile | -P]
% upf list-users-and-groups [--config-path=path | -c]
[--config-profile=profile | -P] [--detail] [--etc-dir=s]
[--format=name] [--json] [--(no)naked-res] [--no-config | -C]
[--no-detail] [--no-env] [--nodetail] [--page-result[=program]]
[--with-field-names] [--without-field-names]
% upf modify-group [--admins=s] [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--encpass=s] [--etc-dir=s]
[--format=name] [--gid=s] [--json] [--members=s] [--(no)naked-res]
[--no-backup] [--no-config | -C] [--no-env] [--nobackup]
[--page-result[=program]] [--pass=s] <group>
% upf modify-user [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--encpass=s] [--etc-dir=s]
[--expire-date=s] [--format=name] [--gecos=s] [--gid=s] [--home=s]
[--json] [--last-pwchange=s] [--max-pass-age=s] [--min-pass-age=s]
[--(no)naked-res] [--no-backup] [--no-config | -C] [--no-env]
[--nobackup] [--page-result[=program]] [--pass-inactive-period=s]
[--pass-warn-period=s] [--shell=s] [--uid=s] <user>
% upf set-user-groups [--config-path=path | -c] [--config-profile=profile
| -P] [--etc-dir=s] [--format=name] [--json] [--(no)naked-res]
[--no-config | -C] [--no-env] [--page-result[=program]] <user>
<groups> ...
% upf set-user-password [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-backup] [--no-config | -C] [--no-env]
[--nobackup] [--page-result[=program]] <user> <pass>
% upf user-exists [--config-path=path | -c] [--config-profile=profile |
-P] [--etc-dir=s] [--format=name] [--json] [--(no)naked-res]
[--no-config | -C] [--no-env] [--page-result[=program]] [--uid=s]
[--user=s]
=head2 Options for subcommand add-group
=over
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--gid>=I<s>
Pick a specific new GID.
=head2 Options for subcommand add-user
=over
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--encpass>=I<s>
Encrypted password.
=head2 Options for subcommand delete-group
=over
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--group>=I<s>*
=back
=head2 Options for subcommand delete-user
=over
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--user>=I<s>*
=back
=item B<--admins>=I<s>
It must be a comma-separated list of user names, or empty.
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--encpass>=I<s>
Encrypted password.
=head2 Options for subcommand modify-user
=over
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--encpass>=I<s>
Encrypted password.
=head2 Options for subcommand set-user-password
=over
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--pass>=I<s>*
=item B<--user>=I<s>*
delete_from (see --delete-from)
user (see --user)
=head2 Configuration for subcommand add-group
backup (see --backup)
gid (see --gid)
group (see --group)
max_gid (see --max-gid)
members (see --members)
min_gid (see --min-gid)
=head2 Configuration for subcommand add-user
backup (see --backup)
encpass (see --encpass)
expire_date (see --expire-date)
gecos (see --gecos)
gid (see --gid)
group (see --group)
group (see --group)
user (see --user)
=head2 Configuration for subcommand delete-group
backup (see --backup)
group (see --group)
=head2 Configuration for subcommand delete-user
backup (see --backup)
user (see --user)
=head2 Configuration for subcommand delete-user-from-group
group (see --group)
with_field_names (see --without-field-names)
=head2 Configuration for subcommand modify-group
admins (see --admins)
backup (see --backup)
encpass (see --encpass)
gid (see --gid)
group (see --group)
members (see --members)
pass (see --pass)
=head2 Configuration for subcommand modify-user
backup (see --backup)
encpass (see --encpass)
expire_date (see --expire-date)
gecos (see --gecos)
gid (see --gid)
home (see --home)
groups (see --groups)
user (see --user)
=head2 Configuration for subcommand set-user-password
backup (see --backup)
pass (see --pass)
user (see --user)
=head2 Configuration for subcommand user-exists
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
\bbuild.com$
# and Module::Build::Tiny generated files
\b_build_params$
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
view all matches for this distribution
view release on metacpan or search on metacpan
.perltidyrc view on Meta::CPAN
--add-newlines
--add-semicolons
--add-whitespace
--backup-and-modify-in-place
--backup-file-extension="bak"
--blanks-before-blocks
--blanks-before-comments
--blanks-before-subs
--block-brace-tightness=0
--block-brace-vertical-tightness=0
view all matches for this distribution
view release on metacpan or search on metacpan
lib/AppleII/LibA2.pm view on Meta::CPAN
This is a BETA release of LibA2. There's some documentation, but it's
not complete. If you want to see the rest of the documentation, then
send email! Otherwise, I'll probably never get around to writing it.
Until then, use the source, Luke! There are still probably some bugs,
and the interfaces might still change. Use at your own risk. Keep a
recent backup handy. Wait sixty minutes before swimming.
All this having been said, I'm not aware of any serious bugs in LibA2
(besides the ones listed in the BUGS section below). Good luck!
I would very much like to hear from everyone who tries LibA2. The
more comments I get, the more likely I am to do more work on it.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
Applications::BackupAndRestore - a linux frontend for tar
=head1 DESCRIPTION
BackupAndRestore is a backup utility for making incremental backups by using GNU Tar.
Core features:
=over
=item *
Incremental backup with quick and easy restoration of files
=item *
Handels different backup locations
=item *
Full support for excluding files and folders and even file patterns (shell regex)
=item *
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
=head1
To start up Backup & Restore from a terminal window, type B<BackupAndRestore> and then press C<Enter>.
Backup & Restore has a List View where you see every single backup with time, date, changed files and the exact space required on your harddrive.
Above the list view there is a File Chooser Button where you can select a folder to backup. Position the cursor over File Chooser Button and press the right mouse button. A pop-up menu appears. Choose a folder from the pop-up menu. Drag a folder ico...
Right hand to the File Chooser Button there is a Recycle Button. The recycle button keeps a list of folders you have saved. For example, place the cursor over the recycle button on a Backup & Restore window; then press the left mouse button to see a ...
Below the list view there is a backup button.
=head2 Backup In Progress Notification
The Backup In Progress Notification is illustrated in Figure 1-2.
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
: 1
);
$this->restore_folder->set_current_folder( $this->gconf("restore-folder") || $ENV{HOME} );
$this->store_folder->set_current_folder( $this->gconf("store-folder") || $ENV{HOME} );
$this->store_folder_name->set_text( $this->gconf("store-folder-name") || "Backup" );
$this->folder->set_current_folder( $this->gconf("current-backup-folder") || $ENV{HOME} );
$this->configure_expander;
$this->build_tree;
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
#add $tree_column to the treeviewGtk2::CellRenderer
$tree_view->append_column($tree_column);
}
#backup
#
sub on_backup_folder_changed {
my ($this) = @_;
return unless $this->folder->get_filename;
return if abs_path( $this->folder->get_filename ) eq $this->gconf("current-backup-folder");
printf "on_backup_folder_changed %s\n", abs_path $this->folder->get_filename if $DEBUG > 0;
$this->gconf( "current-backup-folder", abs_path $this->folder->get_filename );
$this->fill_tree;
return;
}
sub on_folder_recycle_button {
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
if ( -e $folder ) {
my ( $day_iter, $day, $day_folder_size, $day_folder_real_size, $day_folder_files ) = ( undef, "", 0, 0, 0 );
my $current_dat = "$folder/$CurrentDat";
my $date_of_last_backup = $this->fetch_restore_date($folder);
#printf "%s\n", $date_of_last_backup;
my @filenames = reverse grep { m/\.tar\.bz2$/ } get_files($folder);
foreach my $filename (@filenames) {
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
my $size = ( -s $filename ) + ( -s $tardat );
$size += -s $current_dat unless $day;
################################################################
my $infofile = "$folder/$basename.info.txt";
my $info = $this->get_backup_info( $filename, $infofile );
################################################################
# append day folder
my ( $date, $time ) = split / /o, $basename;
if ( $date ne $day ) {
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
scalar @{ $info->{files} },
COL_LABEL,
__("$info->{label}")
. ( "$info->{label}" ? ", " : "" )
. (
$date_of_last_backup eq $basename
? __("Last backup.")
: ""
),
COL_PATH,
$filename,
COL_LAST_BACKUP,
$date_of_last_backup eq $basename,
COL_WEIGHT,
800,
)
);
}
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
$this->exclude_configure;
#$this->window->set_sensitive(TRUE);
}
sub get_backup_info {
my ( $this, $filename, $infoname ) = @_;
tie my %info, 'Tie::DataDumper', $infoname
or warn "Problem tying %info: $!";
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
printf "*** %s\n", $path if $DEBUG > 3;
system $TarOpenCmd, $path;
}
else {
my $last_backup = $this->tree_view->get_model->get( $selected, COL_LAST_BACKUP );
printf "*** %s\n", $last_backup ? 1 : 0 if $DEBUG > 3;
if ($last_backup) {
$this->backup_remove_button->set_sensitive(TRUE);
}
else {
$this->backup_remove_button->set_sensitive(FALSE);
}
}
}
return;
}
#backup
#
sub on_backup_button_clicked {
my ($this) = @_;
print "on_backup_button_clicked $this\n" if $DEBUG > 3;
$this->window->set_sensitive(FALSE);
$this->backup_changed_files_label->set_text(0);
$this->backup_folders_label->set_text(0);
$this->backup_elapsed_time_label->set_text( sprintf "%s", strtime(0) );
$this->backup_estimated_time_label->set_text( sprintf "%s / %s", map { strtime(0) } ( 0, 0 ) );
$this->backup_file_label->set_text("");
$this->backup_progress(0);
$this->backup_notification->present;
$this->backup_folder;
$this->{folder_recycle_button}->set_uri( $this->folder->get_uri );
$this->fill_tree;
$this->backup_notification->hide;
$this->window->set_sensitive(TRUE);
return;
}
sub rmdir_p {
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
$folder = dirname $folder;
}
return;
}
sub backup_folder {
my ($this) = @_;
#$this->{backup_folder} = TRUE;
my $date = strftime( "%F %X", localtime );
$this->log_add_text( sprintf "\n%s\n", "*" x 42 );
$this->log_add_text( sprintf __("%s Starting backup . . .\n"), $date );
$this->backup_progress(0);
$this->backup_notification->{startTime} = time;
my $folder = abs_path $this->folder->get_filename;
my $store = $this->get_store_folder;
my $mainstore = $this->get_main_store_folder;
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
my $tardat = "$store/$date.dat.bz2";
my $excludes = "$store/$ExcludesFile";
my $first = -e $excludes;
$this->{cleanup} = sub {
print "cleanup backup @_\n" if $DEBUG > 3;
unlink $tardat;
unlink $process_dat;
unlink $archive;
unless ( -s $current_dat ) {
unlink $current_dat;
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
my $utf8 = Unicode::UTF8simple->new;
while (<TAR>) {
print $_ if $DEBUG > 3;
#last unless $this->{backup_folder};
chomp;
$_ = $utf8->fromUTF8( "iso-8859-1", $_ );
if (s|^\./||o) {
my $path = "$folder/$_";
if ( -d $path ) {
$this->backup_folders_label->set_text( ++$folders );
Gtk2->main_iteration while Gtk2->events_pending;
}
else {
unless ( exists $files->{$path} ) {
$total_size += $files->{$path} = ( -s $path ) || 0;
$this->backup_changed_files_label->set_text( sprintf "%d [%sB]", scalar keys %$files,
format_bytes($total_size) );
}
$files->{$path} = 0
unless defined $files->{$path}; # wegen: -s link = 0
my @times =
map { strtime($_) } estimated_time( $this->backup_notification->{startTime}, $size, $total_size );
$this->backup_elapsed_time_label->set_text( sprintf "%s", $times[0] );
$this->backup_estimated_time_label->set_text( sprintf "%s / %s", @times[ 1, 2 ] );
$this->backup_file_label->set_text( sprintf "%s [%sB]", $path, format_bytes( $files->{$path} ) );
$this->backup_progress( $size / $total_size );
$size += $files->{$path};
}
}
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
{
#print "$1\n" if $DEBUG > 3;
$files->{$_} = -s $_ foreach get_files("$folder/$1");
$total_size += folder_size("$folder/$1");
$this->backup_changed_files_label->set_text( sprintf "%d [%sB]", scalar keys %$files, format_bytes($total_size) );
Gtk2->main_iteration while Gtk2->events_pending;
}
elsif (/^(tar: ).*?(Warning:)/o) {
print "$_\n" if $DEBUG > 3;
$this->log_add_text( $_, "\n" );
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
$SIG{$_} = 'IGNORE' foreach @SIGS;
system "cp", $process_dat, $current_dat;
unlink $process_dat;
#store date of current backup
$this->store_restore_date($archive);
#store size
my $infofile = "$store/$date.info.txt";
my $info = $this->get_backup_info( $archive, $infofile );
$info->{label} = "First Backup" unless $first;
$info->{folders} = $folders;
$info->{files} = [ keys %$files ];
$info->{size} = $total_size;
tied(%$info)->save;
}
#$this->{backup_folder} = FALSE;
$this->{tarpid} = 0;
if ( $this->backup_notification->{startTime} ) {
$this->log_add_text( sprintf __("Changed files: %d\n"), scalar keys %$files );
$this->log_add_text( sprintf __("Folders: %d\n"), $folders );
$this->log_add_text( sprintf __("Total size: %s\n"), format_bytes($total_size) );
$this->log_add_text( sprintf __("Total time: %s\n"),
strtime( localtime( time - $this->backup_notification->{startTime} ) ) );
}
$this->log_add_text( sprintf __("%s Backup done.\n"), strftime( "%F %X", localtime ) )
if $this->backup_notification->{startTime};
$SIG{$_} = sub { $this->gtk_main_quit }
foreach @SIGS;
}
sub backup_progress {
my ( $this, $fraction ) = @_;
$this->backup_progressbar->set_fraction($fraction);
$this->backup_progressbar->set_text( sprintf "%.2f %%", $fraction * 100 );
#$this->backup_notification->set_title( sprintf "Backup in progress %.2f %%", $fraction * 100 );
Gtk2->main_iteration while Gtk2->events_pending;
return;
}
sub on_cancel_backup {
my ($this) = @_;
printf "on_cancel_backup %s\n", $this->{tarpid} if $DEBUG > 3;
system "pkill", "-P", $this->{tarpid};
$this->backup_notification->{startTime} = 0;
$this->backup_progressbar->set_fraction(1);
$this->backup_progressbar->set_text( __ "Canceling Backup ..." );
#$this->{backup_folder} = FALSE;
$this->log_add_text( sprintf __("%s Backup canceled.\n"), strftime( "%F %X", localtime ) );
return 1;
}
#exclude
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
print "on_restore_button_clicked $this\n" if $DEBUG > 3;
my $selected = $this->tree_view->get_selection->get_selected;
my ( $hdate, $time ) = $this->tree_view->get_model->get( $selected, COL_HDATE, COL_TIME );
$this->restore_backup_from_label->set_text("$hdate $time");
$this->window->set_sensitive(FALSE);
$this->restore_dialog->show;
return;
}
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
my ( $this, $widget ) = @_;
$this->restore_dialog->hide;
$this->restore_notification->show;
$this->restore_backup;
$this->fill_tree;
$this->restore_notification->hide;
$this->window->set_sensitive(TRUE);
return;
}
sub restore_backup {
my ($this) = @_;
my $restore_to_folder = abs_path $this->restore_folder->get_filename;
my @files = $this->get_files_to_restore;
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
$this->restore_notification->{startTime} = time;
my $store = $this->get_store_folder;
my $utf8 = Unicode::UTF8simple->new;
my $backup = 0;
my $counter = 0;
my $numFiles = 0;
my $size = 0;
my $elapsedSize = 0;
my $totalSize = 0;
foreach my $filename (@files) {
my $infofile = "$store/" . basename( $filename, ".tar.bz2" ) . ".info.txt";
my $info = $this->get_backup_info( $filename, $infofile );
$numFiles += @{ $info->{files} };
$totalSize += $info->{size};
$this->log_add_text( sprintf "%s %d\n", $infofile, $info->{size} );
}
$this->log_add_text( sprintf "total size %d\n", $totalSize );
printf "***restore_backup to folder: %s %d\n", $restore_to_folder, $totalSize
if $DEBUG > 3;
foreach my $filename (@files) {
printf "file: %s\n", $filename if $DEBUG > 3;
##########################################################################
my $infofile = "$store/" . basename( $filename, ".tar.bz2" ) . ".info.txt";
my $info = $this->get_backup_info( $filename, $infofile );
##########################################################################
$this->log_add_text( sprintf __("restoring backup from %s\n"), basename( $filename, ".tar.bz2" ) );
$this->restore_process_backup_label->set_text( sprintf __("%d / %d"), ++$backup, scalar @files );
Gtk2->main_iteration while Gtk2->events_pending;
my $touch =
$this->restore_extract_modifiction_time->get_active
? ""
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
my ( $this, $fraction ) = @_;
$this->restore_progressbar->set_fraction($fraction);
$this->restore_progressbar->set_text( sprintf "%.2f %%", $fraction * 100 );
#$this->backup_notification->set_title( sprintf "Backup in progress %.2f %%", $fraction * 100 );
return;
}
# remove backup
#
sub on_backup_remove_button_clicked {
my ($this) = @_;
print "on_backup_remove_button_clicked $this\n" if $DEBUG > 3;
my $selected = $this->tree_view->get_selection->get_selected;
my ( $hdate, $time ) = $this->tree_view->get_model->get( $selected, COL_HDATE, COL_TIME );
$this->backup_remove_from_label->set_text("$hdate $time");
$this->window->set_sensitive(FALSE);
$this->remove_dialog->show;
return;
}
sub on_backup_remove_dialog_cancel {
my ( $this, $widget ) = @_;
print "on_restore_folder_dialog_cancel $this\n" if $DEBUG > 3;
$this->remove_dialog->hide;
$this->window->set_sensitive(TRUE);
return 1;
}
sub on_backup_remove_dialog_ok {
my ( $this, $widget ) = @_;
$this->remove_dialog->hide;
$this->remove_backup;
$this->fill_tree;
$this->window->set_sensitive(TRUE);
$this->backup_remove_button(FALSE);
return;
}
sub remove_backup {
my ($this) = @_;
my $restore_to_folder = abs_path $this->restore_folder->get_filename;
my @files = $this->get_files_to_restore;
lib/Applications/BackupAndRestore.pm view on Meta::CPAN
my ( $hdate, $date, $time, $file ) = $this->tree_view->get_model->get( $selected, COL_HDATE, COL_DATE, COL_TIME, COL_PATH );
my $folder = dirname $file;
my $store = $this->get_store_folder;
$this->log_add_text( sprintf "\n%s\n", "*" x 42 );
$this->log_add_text( sprintf __("%s removing backup from %s %s\n"), strftime( "%F %X", localtime ), $hdate, $time );
{
my $archive = "$store/$date $time.tar.bz2";
my $tardat = "$store/$date $time.dat.bz2";
my $infofile = "$folder/$date $time.info.txt";
view all matches for this distribution
view release on metacpan or search on metacpan
share/files/public/skins/default/jquery-ui-1.9.1.custom/development-bundle/jquery-1.8.2.js view on Meta::CPAN
docElem.removeChild( div );
return pass;
});
// If slice is not available, provide a backup
try {
slice.call( docElem.childNodes, 0 )[0].nodeType;
} catch ( e ) {
slice = function( i ) {
var elem,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/AndroidBackup.pm view on Meta::CPAN
our $VERSION = '1.14';
has 'file' => (
is => 'rw',
isa => 'Str',
default => 'backup.ab',
);
# defaults to invalid values to ensure
# explicit setting read_header and write_header
#
lib/Archive/AndroidBackup.pm view on Meta::CPAN
$self->$orig($tmpFHin);
map { close $_; } $inFH, $tmpFHout, $tmpFHin;
if ($self->error) {
die "Invalid Tar file within backup!\n".$self->error;
}
};
around 'write' => sub
{
lib/Archive/AndroidBackup.pm view on Meta::CPAN
prints
=head2 write($file)
writes in memory archive to $file in android backup format
=head 2 read($file)
performs validation while reading $file into memory
lib/Archive/AndroidBackup.pm view on Meta::CPAN
=head2 add_dir($dir)
emulate tar -cf dir
will correctly sort directory index the way android backup needs it
(aka the implementation peculiarity that spawned this whole project)
=head1 LICENSE
This package is free software; you can redistribute it and/or modify it
view all matches for this distribution
view release on metacpan or search on metacpan
MANIFEST.SKIP view on Meta::CPAN
# Avoid Module::Build generated and utility files.
\bBuild$
\b_build/
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
view all matches for this distribution
view release on metacpan or search on metacpan
xs/ppport.h view on Meta::CPAN
av_top_index|5.017009|5.003007|p
av_top_index_skip_len_mg|5.025010||Viu
av_undef|5.003007|5.003007|
av_unshift|5.003007|5.003007|
ax|5.003007|5.003007|
backup_one_GCB|5.025003||Viu
backup_one_LB|5.023007||Viu
backup_one_SB|5.021009||Viu
backup_one_WB|5.021009||Viu
bad_type_gv|5.019002||Viu
bad_type_pv|5.016000||Viu
BADVERSION|5.011004||Viu
BASEOP|5.003007||Viu
BhkDISABLE|5.013003||xV
view all matches for this distribution
view release on metacpan or search on metacpan
xs/ppport.h view on Meta::CPAN
av_top_index|5.017009|5.003007|p
av_top_index_skip_len_mg|5.025010||Viu
av_undef|5.003007|5.003007|
av_unshift|5.003007|5.003007|
ax|5.003007|5.003007|
backup_one_GCB|5.025003||Viu
backup_one_LB|5.023007||Viu
backup_one_SB|5.021009||Viu
backup_one_WB|5.021009||Viu
bad_type_gv|5.019002||Viu
bad_type_pv|5.016000||Viu
BADVERSION|5.011004||Viu
BASEOP|5.003007||Viu
BhkDISABLE|5.013003||xV
view all matches for this distribution
view release on metacpan or search on metacpan
av_tindex||5.017009|
av_top_index||5.017009|
av_undef|||
av_unshift|||
ax|||n
backup_one_LB|||
backup_one_SB|||
backup_one_WB|||
bad_type_gv|||
bad_type_pv|||
bind_match|||
block_end||5.004000|
block_gimme||5.004000|
view all matches for this distribution
view release on metacpan or search on metacpan
av_tindex||5.017009|
av_top_index||5.017009|
av_undef|||
av_unshift|||
ax|||n
backup_one_LB|||
backup_one_SB|||
backup_one_WB|||
bad_type_gv|||
bad_type_pv|||
bind_match|||
block_end||5.004000|
block_gimme||5.004000|
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Archive/SevenZip/API/ArchiveZip.pm view on Meta::CPAN
$res
}
=head2 C<< $ar->replaceMember >>
$ar->replaceMember('backup.txt', 'new-backup.txt');
Replaces the member in the archive. This is just delete then add.
I clearly don't understand the utility of this method. It clearly
does not update the content of one file with the content of another
view all matches for this distribution