-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Backstop a target directory by source directories -- -- The backstop command is a UNIX, Linux, and *BSD tool. Intuitively, -- backstop fills in the missing objects or holes that exist in the -- target directory relative to the source directories thereby creating a -- merged view of the target and source directories. De-backstop undoes -- this. See "backstop -m" for a manual page or the homepage for -- more information. @package backstop @version 1.3.0.354 module Environment -- | The environment contains the command name, operands, and the result of -- every option at least. It may contain other items that need to be -- updated. data Environment Env :: String -> String -> [String] -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Environment -- | Program name [command] :: Environment -> String -- | Present Working Directory (PWD) [pwd] :: Environment -> String -- | trgdir srcdir [srcdir...] [operands] :: Environment -> [String] -- | -a, use absolute symbolic links [absolute] :: Environment -> Bool -- | -d, de-backstop trgdir [deBackstop] :: Environment -> Bool -- | -h, display help summary [help] :: Environment -> Bool -- | -l, display license terms [license] :: Environment -> Bool -- | -m, display internal man page [manual] :: Environment -> Bool -- | -n, take no action but trace steps [noAction] :: Environment -> Bool -- | -p, populate trgdir with sub-directories [populate] :: Environment -> Bool -- | -r, report final statistics [report] :: Environment -> Bool -- | -t, trace steps [trace] :: Environment -> Bool -- | -v, display version [version] :: Environment -> Bool -- | -y, display manual synopsis [synopsis] :: Environment -> Bool -- | The defualt values, otherwise updated from the flags supplied on by -- the command line options. The default program name is -- backstop. All options flags are False or off by default. defaultEnv :: Environment instance GHC.Show.Show Environment.Environment module Utils -- | Given a list [a], pairs returns the list of all pairs -- [(a,a)] of [a] progressing from the head to tail of -- [a]. For example, -- --
--   pairs [x1,x2,x3,x4]
--   == [(x1,x2),(x1,x3),(x1,x4),(x2,x3),(x2,x4),(x3,x4)]
--   
-- -- Note that -- --
--   pairs []     == []
--   pairs (x:[]) == []
--   
pairs :: [a] -> [(a, a)] -- | For length l /= 1, -- --
--   (unpairs . pairs) l == l
--   
-- -- is True. -- --
--   Number of elements    Number of pairs
--   ------------------    ---------------
--                    0 => 0
--                    1 => 0
--                    2 => 1
--                    3 => 3
--                    4 => 6
--                    5 => 10
--                    e => p = e(e-1)/2, e >= 0
--   
unpairs :: Eq a => [(a, a)] -> [a] -- | root = [pathSeparator] root :: FilePath -- | dot = "." dot :: FilePath -- | dotdot = ".." dotdot :: FilePath -- | reduceFilePath returns a pathname that is reduced to canonical -- form equivalent to that of ksh(1), that is, symbolic link names are -- treated literally when finding the directory name. See cd -L -- of ksh(1). Specifically, extraneous separators ("/"), dot -- ("."), and double-dot ("..") directories are -- removed. reduceFilePath :: FilePath -> FilePath -- | Given a pathname wd representing a workng directory and two -- pathnames p1 and p2, absoluteLink returns the -- reduced (reduceFilePath) and absolute path to p2 to -- which p1 could point as a symbolic link. -- -- If wd is not an absolute path, it is assumed to be a relative -- path that is relative to the root directory of the file system tree -- and is made an absolute path. absoluteLink :: FilePath -> FilePath -> FilePath -> FilePath -- | Given a pathname wd representing a workng directory and two -- pathnames p1 and p2, relativeLink returns the -- reduced (reduceFilePath) and relative path from p1 to -- p2 to which p1 could point as a symbolic link. Thus, -- p1 must not be the root ("/"), dot ("."), -- nor double-dot ("..") directories but of the form -- "/SomePath/SymLink" -- -- If wd is not an absolute path, it is assumed to be a relative -- path that is relative to the root directory of the file system tree -- and is made an absolute path. relativeLink :: FilePath -> FilePath -> FilePath -> FilePath -- | compElems compares elements of two lists and returns the list -- of elements that are in both lists, unique to the first list, and -- uniqued to the second list. Duplicates are nubed. compElems :: Eq a => [a] -> [a] -> ([a], [a], [a]) -- | subdirectories returns true if either the absolute pathname -- p1 or the absolute pathname p2 is a sub-directory or -- sub-path of the other. subdirectories :: FilePath -> FilePath -> Bool -- | subdirectory returns true if the absolute pathname p1 -- is a subdirectory of the absolute pathname p2 as in -- --
--   p1 `subdirectory` p2
--   
-- -- otherwise false. subdirectory :: FilePath -> FilePath -> Bool -- | aDirectory returns true if p is not a symbolic link -- and is a directory, otherwise false. aDirectory :: FilePath -> IO Bool -- | aSymbolicLink returns true if p is a symbolic link, -- otherwise false. aSymbolicLink :: FilePath -> IO Bool -- | anObject returns true if p is an object in the -- filesystem, otherwise false. Symbolic links are not deferenced. anObject :: FilePath -> IO Bool -- | Put a string or page it if the environmental variable PAGER is set. putOrPageStrLn :: String -> IO ExitCode module Manual -- | Display the internal manual. putManual :: IO () module License -- | Display the license terms (GNU GPLv3). putLicense :: IO () module Backstop -- | backstop the Environment reporting a summary if -- requested, any errors, and a return code. The return code is either 0 -- for success, the number of errors, or 255 for infinity. backstop :: Environment -> IO () instance GHC.Classes.Eq Backstop.DirectoryContentStatus instance GHC.Classes.Eq Backstop.Backstop instance GHC.Base.Semigroup Backstop.DirectoryContentStatus instance GHC.Base.Monoid Backstop.DirectoryContentStatus instance GHC.Base.Semigroup Backstop.Backstop instance GHC.Base.Monoid Backstop.Backstop