Kwalitee Issues


Upgrade your YAML generator so it produces valid YAML.

Error: CPAN::Meta::YAML does not support a feature in line '!!perl/hash:version'


Upgrade the bundled version of Module::Install to at least 0.89, but preferably to the most current release. Alternatively, you can switch to another build system / installer that does not suffer from this problem. (ExtUtils::MakeMaker, Module::Build both of which have their own set of problems.)


Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.

Error: *** ERROR: =over without closing =back at line 67 in file SVK-v2.0.99_991/lib/SVK/ *** ERROR: Non-ASCII character seen before =encoding in '说明索引'. Assuming UTF-8 at line 54 in file SVK-v2.0.99_991/lib/SVK/Help/zh_cn/Index.pod *** ERROR: Non-ASCII character seen before =encoding in '說明索引'. Assuming UTF-8 at line 54 in file SVK-v2.0.99_991/lib/SVK/Help/zh_tw/Index.pod *** ERROR: unresolved internal link 'METHOD REFERENCE' at line 90 in file SVK-v2.0.99_991/lib/SVK/Log/ *** ERROR: =over without closing =back at line 374 in file SVK-v2.0.99_991/lib/SVK/Mirror/Backend/


List all used modules in META.yml requires


  • Compress::Zlib
  • File::LibMagic
  • File::MMagic
  • File::Type
  • FreezeThaw
  • SVN::Client
  • SVN::Core
  • SVN::Delta
  • SVN::Fs
  • SVN::Ra
  • SVN::Repos


Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

Error: SVK::Editor, SVK::Editor::ByPass, SVK::Editor::Sign, SVK::Log::ChangedPath, SVK::Log::ChangedPaths, SVK::Log::Filter::Output, SVK::Log::Filter::Selection, SVK::Log::Filter::Std, SVK::Merge::Info, SVK::Version, SVK::View


Add a META.json to the distribution. Your buildtool should be able to autogenerate it.


Define the license if you are using in Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to ExtUtils::MakeMaker version 6.31.


Fix the version numbers so that version::is_lax($version) returns true.


  • lib/SVK/ HASH(0x735db58)
  • lib/SVK/Command/ HASH(0x735dcf0)
  • lib/SVK/Command/ HASH(0x735df30)
  • lib/SVK/Command/ HASH(0x735dfa8)
  • lib/SVK/Command/ HASH(0x72c0720)
  • lib/SVK/Command/ HASH(0x735dea0)
  • lib/SVK/Command/ HASH(0x735db88)
  • lib/SVK/Command/ HASH(0x735dd98)
  • lib/SVK/Command/ HASH(0x735dd38)
  • lib/SVK/Command/ HASH(0x735e1a0)
  • lib/SVK/Command/ HASH(0x735df48)
  • lib/SVK/Command/ HASH(0x735e818)
  • lib/SVK/Command/ HASH(0x735e860)
  • lib/SVK/Command/ HASH(0x735e908)
  • lib/SVK/Command/ HASH(0x735e800)
  • lib/SVK/Command/ HASH(0x735e980)
  • lib/SVK/Command/ HASH(0x7370968)
  • lib/SVK/Command/ HASH(0x73709b0)
  • lib/SVK/Command/ HASH(0x735e9c8)
  • lib/SVK/Command/ HASH(0x7370a28)
  • lib/SVK/Command/ HASH(0x7370a70)
  • lib/SVK/Command/ HASH(0x7370ad0)
  • lib/SVK/Command/ HASH(0x7370b18)
  • lib/SVK/Command/ HASH(0x7370bf0)
  • lib/SVK/Command/ HASH(0x7370ab8)
  • lib/SVK/Command/ HASH(0x7370c80)
  • lib/SVK/Command/ HASH(0x7370da0)
  • lib/SVK/Command/ HASH(0x7370de8)
  • lib/SVK/Command/ HASH(0x7370e30)
  • lib/SVK/Command/ HASH(0x7370e78)
  • lib/SVK/Command/ HASH(0x7370ec0)
  • lib/SVK/Command/ HASH(0x7370c68)
  • lib/SVK/Command/ HASH(0x7370f38)
  • lib/SVK/Command/ HASH(0x7370f98)
  • lib/SVK/Command/ HASH(0x7370fe0)
  • lib/SVK/Command/ HASH(0x7371028)
  • lib/SVK/Command/ HASH(0x7371070)
  • lib/SVK/Command/ HASH(0x73710b8)
  • lib/SVK/Command/ HASH(0x7370f80)
  • lib/SVK/Command/ HASH(0x7371148)
  • lib/SVK/Command/ HASH(0x7371190)
  • lib/SVK/ HASH(0x7371130)
  • lib/SVK/ HASH(0x7371220)
  • lib/SVK/Editor/ HASH(0x7371280)
  • lib/SVK/Editor/ HASH(0x73712c8)
  • lib/SVK/Editor/ HASH(0x7371310)
  • lib/SVK/Editor/ HASH(0x7371358)
  • lib/SVK/Editor/ HASH(0x7371268)
  • lib/SVK/Editor/ HASH(0x73713e8)
  • lib/SVK/Editor/ HASH(0x73713d0)
  • lib/SVK/Editor/ HASH(0x7371460)
  • lib/SVK/Editor/ HASH(0x73714c0)
  • lib/SVK/Editor/ HASH(0x7371508)
  • lib/SVK/Editor/ HASH(0x73714a8)
  • lib/SVK/Editor/ HASH(0x7371670)
  • lib/SVK/Editor/ HASH(0x73716d0)
  • lib/SVK/Editor/ HASH(0x7371718)
  • lib/SVK/Editor/ HASH(0x7371760)
  • lib/SVK/Editor/ HASH(0x73717a8)
  • lib/SVK/Editor/ HASH(0x73717f0)
  • lib/SVK/Editor/ HASH(0x73716b8)
  • lib/SVK/Editor/ HASH(0x7371868)
  • lib/SVK/ HASH(0x73718b0)
  • lib/SVK/ HASH(0x7371910)
  • lib/SVK/ HASH(0x7372998)
  • lib/SVK/Path/ HASH(0x73729f8)
  • lib/SVK/Path/ HASH(0x73729e0)
  • lib/SVK/ HASH(0x7372a70)
  • lib/SVK/Target/ HASH(0x7372ad0)
  • lib/SVK/ HASH(0x7372ab8)
  • lib/SVK/ HASH(0x7372b60)
  • lib/SVK/ HASH(0x7372ba8)


List all modules used in the test suite in META.yml test_requires


  • Apache::TestConfig
  • SVN::Client
  • SVN::Core
  • SVN::Ra


Add 'use warnings' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

Error: SVK, SVK::Accessor, SVK::Command, SVK::Command::Add, SVK::Command::Admin, SVK::Command::Annotate, SVK::Command::Branch, SVK::Command::Cat, SVK::Command::Checkout, SVK::Command::Cleanup, SVK::Command::Cmerge, SVK::Command::Commit, SVK::Command::Copy, SVK::Command::Delete, SVK::Command::Depotmap, SVK::Command::Describe, SVK::Command::Diff, SVK::Command::Help, SVK::Command::Ignore, SVK::Command::Import, SVK::Command::Info, SVK::Command::List, SVK::Command::Log, SVK::Command::Merge, SVK::Command::Mirror, SVK::Command::Mkdir, SVK::Command::Move, SVK::Command::Patch, SVK::Command::Propdel, SVK::Command::Propedit, SVK::Command::Propget, SVK::Command::Proplist, SVK::Command::Propset, SVK::Command::Push, SVK::Command::Resolved, SVK::Command::Revert, SVK::Command::Smerge, SVK::Command::Status, SVK::Command::Switch, SVK::Command::Sync, SVK::Command::Update, SVK::Command::Verify, SVK::Config, SVK::Depot, SVK::Editor, SVK::Editor::ByPass, SVK::Editor::Checkout, SVK::Editor::Combine, SVK::Editor::Combiner, SVK::Editor::Composite, SVK::Editor::Delay, SVK::Editor::Diff, SVK::Editor::Dynamic, SVK::Editor::InteractiveCommitter, SVK::Editor::Merge, SVK::Editor::Patch, SVK::Editor::Rename, SVK::Editor::Serialize, SVK::Editor::Sign, SVK::Editor::Status, SVK::Editor::SubTree, SVK::Editor::Tee, SVK::Editor::Translate, SVK::Editor::TxnCleanup, SVK::Editor::View, SVK::Editor::XD, SVK::I18N, SVK::Log::ChangedPath, SVK::Log::ChangedPaths, SVK::Log::Filter::Output, SVK::Log::Filter::Selection, SVK::Log::Filter::Std, SVK::Merge, SVK::Merge::Info, SVK::Mirror::Backend::SVNRaPipe, SVK::Mirror::Backend::SVNSync, SVK::MirrorCatalog, SVK::Notify, SVK::Patch, SVK::Patchset, SVK::Path, SVK::Path::Checkout, SVK::Path::Txn, SVK::Path::View, SVK::Project, SVK::Resolve, SVK::Resolve::AraxisMerge, SVK::Resolve::Emacs, SVK::Resolve::FileMerge, SVK::Resolve::GVim, SVK::Resolve::GtkDiff, SVK::Resolve::Guiffy, SVK::Resolve::KDiff3, SVK::Resolve::Meld, SVK::Resolve::P4WinMerge, SVK::Resolve::TkDiff, SVK::Resolve::TortoiseMerge, SVK::Resolve::Vim, SVK::Resolve::XXDiff, SVK::Root::Checkout, SVK::Target::Universal, SVK::Test, SVK::Util, SVK::Version, SVK::View, SVK::XD


Sign the dist as the last step before creating the archive. Take care not to modify/regenerate dist meta files or the manifest.

Error: ==> MALFORMED Signature file! <==


Name Abstract Version View
SVK A Distributed Version Control System 2.00099991 metacpan
SVK::Accessor metacpan
SVK::Command Base class and dispatcher for SVK commands metacpan
SVK::Command::Add Put files and directories under version control metacpan
SVK::Command::Admin Administration tools metacpan
SVK::Command::Annotate Display per-line revision and author info metacpan
SVK::Command::Branch Manage a project with its branches metacpan
SVK::Command::Cat Output the file from depot metacpan
SVK::Command::Checkout Checkout the depotpath metacpan
SVK::Command::Cleanup Remove stalled locks metacpan
SVK::Command::Cmerge Merge specific changes metacpan
SVK::Command::Commit Commit changes to depot metacpan
SVK::Command::Copy Make a versioned copy metacpan
SVK::Command::Delete Remove versioned item metacpan
SVK::Command::Depotmap Create or edit the depot mapping configuration metacpan
SVK::Command::Describe Describe a change metacpan
SVK::Command::Diff Display diff between revisions or checkout copies metacpan
SVK::Command::Help Show help metacpan
SVK::Command::Ignore Ignore files by setting svn:ignore property metacpan
SVK::Command::Import Import directory into depot metacpan
SVK::Command::Info Display information about a file or directory metacpan
SVK::Command::List List entries in a directory from depot metacpan
SVK::Command::Log Show log messages for revisions metacpan
SVK::Command::Merge Apply differences between two sources metacpan
SVK::Command::Mirror Initialize a mirrored depotpath metacpan
SVK::Command::Mkdir Create a versioned directory metacpan
SVK::Command::Move Move a file or directory metacpan
SVK::Command::Patch Manage patches metacpan
SVK::Command::Propdel Delete a property on files or dirs metacpan
SVK::Command::Propedit Edit a property on path metacpan
SVK::Command::Propget Display a property on path metacpan
SVK::Command::Proplist List all properties on files or dirs metacpan
SVK::Command::Propset Set a property on path metacpan
SVK::Command::Pull Bring changes from another repository metacpan
SVK::Command::Push Move changes into another repository metacpan
SVK::Command::Resolved Remove conflict mark from checkout items metacpan
SVK::Command::Revert Revert changes made in checkout copies metacpan
SVK::Command::Smerge Automatically merge all changes between branches metacpan
SVK::Command::Status Display the status of items in the checkout copy metacpan
SVK::Command::Switch Switch to another branch and keep local changes metacpan
SVK::Command::Sync Synchronize a mirrored depotpath metacpan
SVK::Command::Update Bring changes from repository to checkout copies metacpan
SVK::Command::Verify Verify change signatures metacpan
SVK::Config metacpan
SVK::Depot Depot class in SVK metacpan
SVK::Editor metacpan
SVK::Editor::ByPass metacpan
SVK::Editor::Checkout metacpan
SVK::Editor::Combine An editor combining several editor calls to one metacpan
SVK::Editor::Combiner An editor combining several editor calls to one metacpan
SVK::Editor::Composite composite editor metacpan
SVK::Editor::Copy Turn editor calls to calls with history metacpan
SVK::Editor::CopyHandler intercept copies in editor calls metacpan
SVK::Editor::Delay metacpan
SVK::Editor::Diff An editor for producing textual diffs metacpan
SVK::Editor::Dynamic metacpan
SVK::Editor::InteractiveCommitter metacpan
SVK::Editor::InteractiveStatus metacpan
SVK::Editor::MapRev metacpan
SVK::Editor::Merge An editor that does merges for the storage editor metacpan
SVK::Editor::Patch An editor to serialize editor calls. metacpan
SVK::Editor::Rename An editor that translates editor calls for renamed entries metacpan
SVK::Editor::Serialize metacpan
SVK::Editor::Sign metacpan
SVK::Editor::Status metacpan
SVK::Editor::SubTree metacpan
SVK::Editor::Tee metacpan
SVK::Editor::Translate An editor that translates path names metacpan
SVK::Editor::TxnCleanup An editor that aborts a txn when it is aborted metacpan
SVK::Editor::View metacpan
SVK::Editor::XD An editor for modifying svk checkout copies metacpan
SVK::I18N metacpan
SVK::Inspector path inspector metacpan
SVK::Inspector::Compat metacpan
SVK::Inspector::Root metacpan
SVK::Log::ChangedPath changes made to a path during in a revision metacpan
SVK::Log::ChangedPaths partly lazy list of SVK::Log::ChangedPath objects metacpan
SVK::Log::Filter base class for all log filters metacpan
SVK::Log::Filter::Author search revisions for given authors metacpan
SVK::Log::Filter::Grep search log messages for a given pattern metacpan
SVK::Log::Filter::Head pass the first N revisions metacpan
SVK::Log::Filter::Output base class for output log filters metacpan
SVK::Log::Filter::Selection base class for selection log filters metacpan
SVK::Log::Filter::Std display log messages in standard SVK format metacpan
SVK::Log::Filter::XML display log messages in XML format metacpan
SVK::Log::FilterPipeline a pipeline of log filter objects metacpan
SVK::Logger logging framework for SVK metacpan
SVK::Merge Merge context class metacpan
SVK::Merge::Info Container for merge ticket information metacpan
SVK::MimeDetect interface for MIME type detection algorithms metacpan
SVK::MimeDetect::FileLibMagic metacpan
SVK::MimeDetect::FileMMagic metacpan
SVK::MimeDetect::FileType metacpan
SVK::MimeDetect::Internal minimalist MIME type detection metacpan
SVK::Mirror metacpan
SVK::Mirror::Backend::SVNRa metacpan
SVK::Mirror::Backend::SVNRaPipe Transparent SVN::Ra requests pipelining metacpan
SVK::Mirror::Backend::SVNSync metacpan
SVK::MirrorCatalog mirror handling metacpan
SVK::Notify svk entry status notification metacpan
SVK::Patch Class representing a patch to be applied metacpan
SVK::Patchset Calculate patch dependency metacpan
SVK::Path SVK path class metacpan
SVK::Path::Checkout SVK path class associating a checkout metacpan
SVK::Path::Txn metacpan
SVK::Path::View metacpan
SVK::Project SVK project class metacpan
SVK::Resolve Interactively resolve conflicts metacpan
SVK::Resolve::AraxisMerge metacpan
SVK::Resolve::Emacs metacpan
SVK::Resolve::FileMerge metacpan
SVK::Resolve::GVim metacpan
SVK::Resolve::GtkDiff metacpan
SVK::Resolve::Guiffy metacpan
SVK::Resolve::KDiff3 metacpan
SVK::Resolve::Meld metacpan
SVK::Resolve::P4WinMerge metacpan
SVK::Resolve::TkDiff metacpan
SVK::Resolve::TortoiseMerge metacpan
SVK::Resolve::Vim metacpan
SVK::Resolve::XXDiff metacpan
SVK::Root metacpan
SVK::Root::Checkout metacpan
SVK::Root::View metacpan
SVK::Target::Universal svk target that might not be local metacpan
SVK::Test metacpan
SVK::Util Utility functions for SVK classes metacpan
SVK::View metacpan
SVK::XD svk depot and checkout handling. metacpan


Name File View
SVK::Command::Branch::create lib/SVK/Command/ metacpan
SVK::Command::Branch::list lib/SVK/Command/ metacpan
SVK::Command::Branch::merge lib/SVK/Command/ metacpan
SVK::Command::Branch::move lib/SVK/Command/ metacpan
SVK::Command::Branch::remove lib/SVK/Command/ metacpan
SVK::Command::Branch::switch lib/SVK/Command/ metacpan
SVK::Command::Checkout::detach lib/SVK/Command/ metacpan
SVK::Command::Checkout::list lib/SVK/Command/ metacpan
SVK::Command::Checkout::purge lib/SVK/Command/ metacpan
SVK::Command::Checkout::relocate lib/SVK/Command/ metacpan
SVK::Command::Depotmap::add lib/SVK/Command/ metacpan
SVK::Command::Depotmap::detach lib/SVK/Command/ metacpan
SVK::Command::Depotmap::list lib/SVK/Command/ metacpan
SVK::Command::Depotmap::relocate lib/SVK/Command/ metacpan
SVK::Command::Mirror::detach lib/SVK/Command/ metacpan
SVK::Command::Mirror::list lib/SVK/Command/ metacpan
SVK::Command::Mirror::recover lib/SVK/Command/ metacpan
SVK::Command::Mirror::relocate lib/SVK/Command/ metacpan
SVK::Command::Mirror::unlock lib/SVK/Command/ metacpan
SVK::Command::Mirror::upgrade lib/SVK/Command/ metacpan
SVK::Command::Patch::FileRequired lib/SVK/Command/ metacpan
SVK::Command::Patch::apply lib/SVK/Command/ metacpan
SVK::Command::Patch::delete lib/SVK/Command/ metacpan
SVK::Command::Patch::dump lib/SVK/Command/ metacpan
SVK::Command::Patch::list lib/SVK/Command/ metacpan
SVK::Command::Patch::regen lib/SVK/Command/ metacpan
SVK::Command::Patch::test lib/SVK/Command/ metacpan
SVK::Command::Patch::update lib/SVK/Command/ metacpan
SVK::Command::Patch::view lib/SVK/Command/ metacpan
SVK::Editor::InteractiveStatus::Action lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::AddDirectoryAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::AddFileAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::DeleteFileAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::ModifyBinaryFileAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::ModifyDirectoryPropAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::ModifyFileAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::ModifyFilePropAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::OpenDirectoryAction lib/SVK/Editor/ metacpan
SVK::Editor::InteractiveStatus::UI lib/SVK/Editor/ metacpan
SVK::Logger::Compat lib/SVK/ metacpan
SVK::Patch::CommitEditor lib/SVK/ metacpan
SVK::Root::Checkout::Entry lib/SVK/Root/ metacpan
SVK::Root::Checkout::History lib/SVK/Root/ metacpan
SVK::VerifyEditor lib/SVK/Command/ metacpan
SVK::XD::Signature lib/SVK/ metacpan
Tie::StdScalar::Tee lib/SVK/ metacpan

Other Files

MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan
README metacpan
pkg/win32/MANIFEST metacpan