rbackup Changelog ================= Version 0.5.3 ------------- * rbackup.rsync * Log at the exception level, not at the library level * rbackup.config.config_files * ``load_list_from_option()`` * Use non-mutable default argument * Ensure that list is returned if fallback is unset * rbackup.struct.repository.Repository * Implement ``__eq__()``, ``__ne__()``, and ``__hash__()`` * Update docstrings explaining what happens to snapshot_symlink when snapshot is deleted * Building * Add sphinx build commands to ``setup.py`` * Explain replacing colons on datetime on default snapshot name * Project Structure * Move config module to ``rbackup.config.config_files`` * Move config files to ``config_files/`` in root dir * Delete ``rbackup.plugins.pacman`` module Version 0.5.2 ------------- * Use ``try..finally`` blocks within context manager functions Version 0.5.1 ------------- Bug Fixes ^^^^^^^^^ * backup script * Fix uninitialized repo variable * If rsync process fails, exit by its return code Version 0.5 ----------- * rbackup.plugins.package_managers.PackageManager * Raise ``NotimplementedError`` for non-supported operations * rbackup.struct.hierarchy.Hierarchy * Move ``Repository.gen_metadata()`` to ``Hierarchy._gen_metadata()`` * rbackup.struct.repository.Repository * Add basic logic for updating symlink after snapshot removal * Implement snapshot deletion using ``__delitem__()`` * Add basic logic for symlinking after snapshot removal * rbackup.struct.repository.Snapshot * Add attribute code to ``_gen_metadata()`` * Add ``ctime`` attribute * Project structure * Add file for snapshot management script * Rename ``rbackup.package_managers`` to ``rbackup.plugins`` Version 0.4.1 ------------- * backup script * Change umask to ``0000`` when running backup Version 0.4 ----------- * backup script * Use fallback option * rbackup.config Folder * Add ``[main]`` to default config file * rbackup.config.config_files * Add ``load_list_from_option()`` Version 0.3 ----------- * rbackup.rsync * Add default rsync options list * rbackup.struct.hierarchy.Hierarchy * Don't calculate private attributes each time they are called * rbackup.struct.repository.Repository * Add ``gen_metadata()`` * Add ``symlink_snapshot()`` * Ignore ``PermissionError`` when creating snapshot symlink * config_files * Include ``/root`` in default paths * Split config file handling into its own module * Doctest cleanup Version 0.2 ----------- * rbackup.config * Merge, filter, and sort file entries from multiple files * rbackup.rsync * Change execution of rsync subprocess to text mode * rbackup.config_files * Split ``etc-include`` and ``system-include`` config files * rbackup.package_managers.packagemanager.PackageManager * Remove type and value checking * Add ``gen_db_archive()`` * Check for valid compression mode before proceeding with ``gen_db_archive()`` * rbackup.struct.hierarchy.Hierarchy * Add ``metadata_path`` * Subclass ``os.PathLike`` * Make write_metadata() an atomic operation * Log metadata read/write operations * rbackup.struct.repository.Repository * Add ``cleanup()`` * Add ``is_valid_snapshot_name()`` * Add ``gen_snapshot_path()`` * Remove current_snapshot attribute * Implement ``__repr__()`` * Use regex to parse user snapshot name input * Split snapshot metadata lists * Change serialization backend from pickle to JSON * Raise ``ValueError`` when snapshot name contains a '/' * rbackup.struct.repository.Snapshot * Remove all attributes except for ``pkg_dir`` * Project structure * Do not ship test suite under rbackup package * Rename ``rbackup.hierarchy`` package to ``rbackup.struct`` Version 0.1 ----------- * Initial commit * Project structure * Add basic modules * Add LICENSE