SVK::Util - Utility functions for SVK classes
use SVK::Util qw( func1 func2 func3 )
This is yet another abstraction function set for portable file, buffer and IO handling, tailored to SVK's specific needs.
No symbols are exported by default; the user module needs to specify the list of functions to import.
Boolean flag to indicate whether this system is running Microsoft Windows.
The default program to invoke for editing buffers:
notepad.exe on Win32,
The I/O layer for text files:
:crlf on Win32, empty otherwise.
Boolean flag to indicate whether this system supports
Boolean flag to indicate whether we can successfully load SVN::Mirror.
Native path separator: platform:
\ on dosish platforms,
End of line marker:
\015\012 on Win32,
Repeatedly prompt the user for a line of answer, until it matches the regular expression pattern. Returns the chomped answer line.
Launch editor to edit a file.
Get the current encoding from locale
Read from a file and returns its content as a single scalar.
Write out content to a file, overwriting existing content if present.
Read all data from the input filehandle and write them to the output filehandle. The input may also be a scalar, or reference to a scalar.
Calculate MD5 checksum for data in the input filehandle.
Return the MIME type for the file, or
undef if the MIME database is missing on the system.
Return whether a MIME type string looks like a text file.
Returns true if the given file or filehandle contains binary data. Otherwise, returns false.
Return paths with components in symlink resolved, but keep the final path even if it's symlink. Returns
undef if the base directory does not exist.
Return paths with components in symlink resolved, but keep the final path even if it's symlink. Unlike abs_path(), returns a valid value even if the base directory doesn't exist.
Replace the base directory in the native pathname to another base directory and return the result.
If the pathname is not under
$old_basedir, it is returned unmodified.
$new_basedir is an empty string, removes the old base directory but keeps the leading slash. If
undef, also removes the leading slash.
By default, the return value of this function will use
$SEP as its path separator. Setting
/ will turn native path separators into
Concatenate directory names to form a complete path; also removes the trailing slash from the resulting string, unless it is the root directory.
Concatenate one or more directory names and a filename to form a complete path, ending with a filename. If
$pathname contains directories, they will be splitted off to the end of
XXX Undocumented - See File::Spec
Return a file name suitable for reading, and guaranteed to be empty.
Returns the (anchor, target) pairs for native path @paths. Discard the targets being returned unless $need_target.
Returns the (anchor, target) pairs for depotpaths @paths. Discard the targets being returned unless $need_target.
Create a directory, and intermediate directories as required.
Splits a path in to volume, directory, and filename portions. On systems with no concept of volume, returns an empty string for volume.
The opposite of
catdir(); return a list of path components.
Return the name of the first writable directory from a list of possible temporary directories.
In scalar context, return the filehandle of a temporary file. In list context, return the filehandle and the filename.
$is_textmode is true, the returned file handle is marked with
See File::Temp for valid keys of
Return whether a file is a symbolic link, as determined by
$filename is not specified, return
-l _ instead.
Return whether a file is likely to be an executable file. Unlike
$filename argument is not optional.
Check if we can run some command.
Check if a string is a valid URI.
Move a path to another place, creating intermediate directories in the target path if neccessary. If move failed, tell the user to move it manually.
Traverse the history of $path in $fs_root backwards until the first copy, unless $cross is true. We do cross renames regardless of the value of $cross being non-zero, but not -1. We invoke $cb for each $path, $revision we encounter. If cb returns a nonzero value we stop traversing as well.
Returns true if unix path
$path is inside
$parent. If they are the same, return true as well.