python-delta-tar
11 years agoadding more options to backup script, like listing backup files
Eduardo Robles Elvira [Fri, 27 Sep 2013 14:02:51 +0000]
adding more options to backup script, like listing backup files

11 years agofixing some restore problems
Eduardo Robles Elvira [Fri, 20 Sep 2013 08:14:03 +0000]
fixing some restore problems

* files that are not in the index being restored are now removed

* directories' mtime was not being restored sometimes because it
  wasn't finding the tarobj

11 years agofixing sorting and improving dramatically restore diff backup:
Eduardo Robles Elvira [Thu, 19 Sep 2013 15:37:40 +0000]
fixing sorting and improving dramatically restore diff backup:

* sorting was not correct because the directory separator was being taken
  into account as part of the sorting, and thus if a directory contained
  a character like '-' it would affect sorting when compared with '/'.
  Now we sort directory by directory in a path, so the dir separator is
  not sorted itself.

* diffs backups where very slow because we were using a very simple
  algorithm that was also very slow, were for each file we would reopen
  and go across the index until found. Now we go across the index only
  once in the whole restore operation, so the speed of restoring a
  backup has increased dramatically.

11 years agosmall documentation fix, improving jsonpath comparator for directories, as their...
Eduardo Robles Elvira [Wed, 18 Sep 2013 13:00:20 +0000]
small documentation fix, improving jsonpath comparator for directories, as their size dont matter, and improving it also to not compare uid or gid if not superuser

11 years agoadd handy backup command, used for benchmarks
Eduardo Robles Elvira [Tue, 17 Sep 2013 09:46:49 +0000]
add handy backup command, used for benchmarks

11 years agofixing bug related to deltatar multivol restore
Eduardo Robles Elvira [Mon, 16 Sep 2013 16:26:50 +0000]
fixing bug related to deltatar multivol restore

Extracting a multivol diff backup sometimes failed because we did
not set the volume number, which is needed to be done when we are
extracting files one by one.

11 years agofixing multiple errors in deltatar at once:
Eduardo Robles Elvira [Sat, 14 Sep 2013 06:42:49 +0000]
fixing multiple errors in deltatar at once:

* naming of the generated backups was incorrect because they were
always named as if they were full backups, even if it was a diff
one. This has been changed both at backup creation and at backup
finding.

Related to that is the backup volume "finder": it was trying to
find volumes with current date which is not what we want, so now
it guesses the date of the volume based on a prefix and a suffix
inside the backup directory.

* changing the ordering of the files in _recursive_walk_dir to
follow an ascending naming sorted Breadth First Search algorithm.
This has been fixed without having to retrieve the full list and
then apply a sort to be efficient, which was something Daniel
applied as a fix and got reverted for memory efficiency.

* fixing index iterator also removing the need to have the full
index in memory and allowing it to be used with the "with"
python statement.

* fixing collate_iterators sorting because when the second index
element was less than the first one, we were not taking into
account that in a BFS algorithm files nearer to the root in depth
go first regardless of the sorting.

* some optimizations and fixes related to the deletion of files
in restore_backup for diff backups have been done

11 years agoFixed multivolume with encryption creation
Daniel Garcia Moreno [Sun, 1 Sep 2013 10:54:15 +0000]
Fixed multivolume with encryption creation

Adding the test test_restore_from_index_diff_backup3_multivol I've found a
bug in the multivolume creation with encryption. The problem was that the
first volume of data was created correctly, but the second and so were
created in plain text.

The problem was in the TarFile.open_volume method, just in the creation of
the new volume file, the encryption data was not passed to the new _Stream
object.

11 years agoFixed aes deltatar restoring
Daniel Garcia Moreno [Sun, 1 Sep 2013 08:03:10 +0000]
Fixed aes deltatar restoring

Test DeltaTarGzipAes256ConcatTest.test_restore_from_index_diff_backup3 was
failing and this patch fixed it.

The encryption was initialized on every call to _init_read_gz and every
time we found a new encryption chunk (something that starts with
"Salted__"). The correct way to do it is to initialize at the beginning and
every time we find a new encryption chunk, it's not needed to initialize
the encryption on every call to _init_read_gz.

There was an exception trying to decompress a chunk of data in the line:

buf = self.cmp.decompress(buf)

This happened because at the end of the file the call to _init_read_gz
fails and the exception is controlled by a try-except, but sometimes just
after this fail there is a call to read the trailing data with the gzip and
a try to decompress and it fails because the self.cmp is not initialized,
this data is garbage, so I catch this exception and everything works okay.

11 years agoFixed DeltaTar create_diff_backup and restore_backup
Daniel Garcia Moreno [Thu, 29 Aug 2013 12:00:20 +0000]
Fixed DeltaTar create_diff_backup and restore_backup

11 years agoStart all tests in the same directory
Daniel Garcia Moreno [Fri, 23 Aug 2013 16:35:51 +0000]
Start all tests in the same directory

11 years agoFixed test_create_diff_backup1
Daniel Garcia Moreno [Fri, 23 Aug 2013 16:21:19 +0000]
Fixed test_create_diff_backup1

11 years agofixing again tarfile.readline..
Eduardo Robles Elvira [Sun, 11 Aug 2013 17:37:04 +0000]
fixing again tarfile.readline..

11 years agoadding unit test that uses .git to create and restore backups
Eduardo Robles Elvira [Sat, 10 Aug 2013 08:58:09 +0000]
adding unit test that uses .git to create and restore backups

11 years agofixing readlin in tarfile, it was not working right after passing the bufsize
Eduardo Robles Elvira [Sat, 10 Aug 2013 08:46:04 +0000]
fixing readlin in tarfile, it was not working right after passing the bufsize

11 years agoremoving typo error
Eduardo Robles Elvira [Fri, 9 Aug 2013 13:28:40 +0000]
removing typo error

11 years agoadding support for compressed index files
Eduardo Robles Elvira [Fri, 9 Aug 2013 10:08:48 +0000]
adding support for compressed index files

11 years agodeltatar: setting and checking mtime and ctime in dirs and files
Eduardo Robles Elvira [Thu, 8 Aug 2013 08:55:10 +0000]
deltatar: setting and checking mtime and ctime in dirs and files

11 years agofixing bug in diff engine making it fail when a directory is removed
Eduardo Robles Elvira [Thu, 8 Aug 2013 08:07:35 +0000]
fixing bug in diff engine making it fail when a directory is removed

11 years agoadding some unit tests for restoring diff backups and fixing some bugs in there
Eduardo Robles Elvira [Wed, 7 Aug 2013 14:42:46 +0000]
adding some unit tests for restoring diff backups and fixing some bugs in there

11 years agodeltatar: initial implementation of the diff restore engine
Eduardo Robles Elvira [Tue, 6 Aug 2013 12:41:35 +0000]
deltatar: initial implementation of the diff restore engine

11 years agoimproving diff engine unit test so that it test deletion of files
Eduardo Robles Elvira [Tue, 6 Aug 2013 07:49:35 +0000]
improving diff engine unit test so that it test deletion of files

11 years agodeltatar: fixing some problems with diff engine and adding more unit tests
Eduardo Robles Elvira [Tue, 6 Aug 2013 07:44:16 +0000]
deltatar: fixing some problems with diff engine and adding more unit tests

11 years agoimproving the empty diff backup unit test
Eduardo Robles Elvira [Mon, 5 Aug 2013 16:38:07 +0000]
improving the empty diff backup unit test

11 years agodeltatar: standarizing using a prefix for all kind of file paths in all types of...
Eduardo Robles Elvira [Mon, 5 Aug 2013 13:39:48 +0000]
deltatar: standarizing using a prefix for all kind of file paths in all types of backups

11 years agoinitial implementation of diff backup and a simple unit test
Eduardo Robles Elvira [Mon, 5 Aug 2013 11:59:49 +0000]
initial implementation of diff backup and a simple unit test

11 years agowriting iterators for directory diffs and unit testing them
Eduardo Robles Elvira [Sun, 4 Aug 2013 10:37:46 +0000]
writing iterators for directory diffs and unit testing them

11 years agodeltatar: adding parent path checking, and unit tests for it
Eduardo Robles Elvira [Fri, 2 Aug 2013 15:26:59 +0000]
deltatar: adding parent path checking, and unit tests for it

11 years agotesting deltatar filtering regular expressions
Eduardo Robles Elvira [Fri, 2 Aug 2013 08:18:19 +0000]
testing deltatar filtering regular expressions

11 years agoallow also filtering on the extraction of backup tar files
Eduardo Robles Elvira [Thu, 1 Aug 2013 14:55:58 +0000]
allow also filtering on the extraction of backup tar files

11 years agodeltatar: limit restore from index tests to uncompressed or concat compressed modes
Eduardo Robles Elvira [Thu, 1 Aug 2013 14:25:45 +0000]
deltatar: limit restore from index tests to uncompressed or concat compressed modes

11 years agodeltatar: adding support for filtering in restore index and adding unit tests
Eduardo Robles Elvira [Thu, 1 Aug 2013 09:35:41 +0000]
deltatar: adding support for filtering in restore index and adding unit tests

11 years agoFixing AESCrypt stupid bug
Daniel Garcia Moreno [Thu, 1 Aug 2013 08:58:23 +0000]
Fixing AESCrypt stupid bug

11 years agoadding unit tests for filter function
Eduardo Robles Elvira [Thu, 1 Aug 2013 08:55:44 +0000]
adding unit tests for filter function

11 years agofirst implementation of filtered restore_backup and unit test
Eduardo Robles Elvira [Thu, 1 Aug 2013 08:17:04 +0000]
first implementation of filtered restore_backup and unit test

11 years agoimplementing filter_func in deltatar
Eduardo Robles Elvira [Wed, 31 Jul 2013 15:58:28 +0000]
implementing filter_func in deltatar

11 years agoRemoving OFB pad to avoid to hide errors
Daniel Garcia Moreno [Wed, 31 Jul 2013 12:07:18 +0000]
Removing OFB pad to avoid to hide errors

11 years agofixing bug extracting tarfiles from index offsets when using multivol
Eduardo Robles Elvira [Wed, 31 Jul 2013 10:05:54 +0000]
fixing bug extracting tarfiles from index offsets when using multivol

11 years agorestore from index without multiple vols now works
Eduardo Robles Elvira [Tue, 30 Jul 2013 15:17:22 +0000]
restore from index without multiple vols now works

11 years agoadding initial support to restore from index. still failing in directories
Eduardo Robles Elvira [Tue, 30 Jul 2013 10:23:25 +0000]
adding initial support to restore from index. still failing in directories

11 years agotarfile: adding a way to know the starting position of last tar member added
Eduardo Robles Elvira [Tue, 30 Jul 2013 09:19:26 +0000]
tarfile: adding a way to know the starting position of last tar member added

11 years agoupdated the estimation
Eduardo Robles Elvira [Tue, 30 Jul 2013 09:06:44 +0000]
updated the estimation

11 years agofixing and unit testing multivolume support
Eduardo Robles Elvira [Sun, 28 Jul 2013 08:44:10 +0000]
fixing and unit testing multivolume support

11 years agodeltatar: removing not bz2 concat stream test, adding crc checking and unit test...
Eduardo Robles Elvira [Sat, 27 Jul 2013 08:47:05 +0000]
deltatar: removing not bz2 concat stream test, adding crc checking and unit test for it

11 years agoadding a test class for each supported mode and fixing some related bugs
Eduardo Robles Elvira [Sat, 27 Jul 2013 08:17:15 +0000]
adding a test class for each supported mode and fixing some related bugs

11 years agodeltatar: now index file is created on create_full_backup calls
Eduardo Robles Elvira [Fri, 26 Jul 2013 17:44:43 +0000]
deltatar: now index file is created on create_full_backup calls

11 years agoinitial super simple implementation and unit test of restore_backup
Eduardo Robles Elvira [Fri, 26 Jul 2013 17:10:44 +0000]
initial super simple implementation and unit test of restore_backup

11 years agoinitial basic implementation of the create_full_backup and very basic unit test
Eduardo Robles Elvira [Fri, 26 Jul 2013 16:26:06 +0000]
initial basic implementation of the create_full_backup and very basic unit test

11 years agoadding steps to the design
Eduardo Robles Elvira [Fri, 26 Jul 2013 16:25:22 +0000]
adding steps to the design

11 years agospecifing max vol size in mb and only for backup creation
Eduardo Robles Elvira [Thu, 25 Jul 2013 15:52:50 +0000]
specifing max vol size in mb and only for backup creation

11 years agofixing minor typos in DeltaTar spec
Eduardo Robles Elvira [Thu, 25 Jul 2013 15:48:08 +0000]
fixing minor typos in DeltaTar spec

11 years agoFix small typo
Thomas Jarosch [Wed, 24 Jul 2013 16:09:25 +0000]
Fix small typo

11 years agoimproving design of the tool after thomas input
Eduardo Robles Elvira [Wed, 24 Jul 2013 15:53:25 +0000]
improving design of the tool after thomas input

11 years agofixing some minor details
Eduardo Robles Elvira [Wed, 24 Jul 2013 07:54:42 +0000]
fixing some minor details

11 years agoimproving the design of DeltaTar public API, making it more flexible
Eduardo Robles Elvira [Wed, 24 Jul 2013 07:53:00 +0000]
improving the design of DeltaTar public API, making it more flexible

11 years agouploading proposed public API
Eduardo Robles Elvira [Mon, 22 Jul 2013 08:03:10 +0000]
uploading proposed public API

11 years agoAdd note about file index compression/encryption
Thomas Jarosch [Fri, 19 Jul 2013 09:10:05 +0000]
Add note about file index compression/encryption

11 years agospecifying key_length in bits instead of bytes
Eduardo Robles Elvira [Fri, 19 Jul 2013 07:48:30 +0000]
specifying key_length in bits instead of bytes

11 years agoSupporing aes128 and aes256 encryption type
Daniel Garcia Moreno [Thu, 18 Jul 2013 18:12:47 +0000]
Supporing aes128 and aes256 encryption type

11 years agoChanged the gpl header to lgpl
Daniel Garcia Moreno [Thu, 18 Jul 2013 17:51:22 +0000]
Changed the gpl header to lgpl

11 years agoFixed encryption pad treatment using random pad
Daniel Garcia Moreno [Tue, 16 Jul 2013 08:26:36 +0000]
Fixed encryption pad treatment using random pad

11 years agoFixed filesplit corner case infinite loop
Daniel Garcia Moreno [Tue, 16 Jul 2013 08:24:59 +0000]
Fixed filesplit corner case infinite loop

11 years agoAdded encrypt/decrypt multivolume test
Daniel Garcia Moreno [Tue, 16 Jul 2013 06:21:29 +0000]
Added encrypt/decrypt multivolume test

11 years agoAdding intra2net copyright header to every python file
Daniel Garcia Moreno [Mon, 15 Jul 2013 15:44:45 +0000]
Adding intra2net copyright header to every python file

11 years agoUsing aes128 for encryption
Daniel Garcia Moreno [Mon, 15 Jul 2013 15:42:09 +0000]
Using aes128 for encryption

11 years agoImplemented aes decryption support
Daniel Garcia Moreno [Fri, 12 Jul 2013 13:58:38 +0000]
Implemented aes decryption support

11 years agoFixed AESCrypt.encrypt with no data multiple of bs
Daniel Garcia Moreno [Fri, 12 Jul 2013 11:18:03 +0000]
Fixed AESCrypt.encrypt with no data multiple of bs

11 years agoadding aes encryption support for creation
Daniel Garcia Moreno [Fri, 12 Jul 2013 11:03:57 +0000]
adding aes encryption support for creation

11 years agofixing compressed multivol
Eduardo Robles Elvira [Wed, 10 Jul 2013 16:41:00 +0000]
fixing compressed multivol

11 years agoworking in rescue tar utility
Eduardo Robles Elvira [Wed, 10 Jul 2013 11:00:06 +0000]
working in rescue tar utility

11 years agoadding crc checking when reading tar.gz files
Eduardo Robles Elvira [Tue, 9 Jul 2013 14:14:14 +0000]
adding crc checking when reading tar.gz files

11 years agoMore tests to check corner cases
Daniel Garcia Moreno [Mon, 8 Jul 2013 19:05:08 +0000]
More tests to check corner cases

11 years agoTest to check extract of gnu-tar file with multiple files and volumes
Daniel Garcia Moreno [Mon, 8 Jul 2013 19:03:01 +0000]
Test to check extract of gnu-tar file with multiple files and volumes

11 years agoRemoving not needed line, it's a self assignation
Daniel Garcia Moreno [Mon, 8 Jul 2013 19:00:29 +0000]
Removing not needed line, it's a self assignation

11 years agoadding rescue file splitter and some unit tests using it
Eduardo Robles Elvira [Mon, 8 Jul 2013 11:02:22 +0000]
adding rescue file splitter and some unit tests using it

11 years agoextracting files in r#gz mode now works too, includes unit tests
Eduardo Robles Elvira [Fri, 5 Jul 2013 09:50:43 +0000]
extracting files in r#gz mode now works too, includes unit tests

11 years agoadding initial concat compression support and a simple unit test
Eduardo Robles Elvira [Wed, 3 Jul 2013 11:25:09 +0000]
adding initial concat compression support and a simple unit test

11 years agoadding unit test for volume error handling
Eduardo Robles Elvira [Fri, 28 Jun 2013 09:17:09 +0000]
adding unit test for volume error handling

11 years agoadding corner case size test
Eduardo Robles Elvira [Wed, 26 Jun 2013 10:02:27 +0000]
adding corner case size test

11 years agogeneralizing unittests and adding some more
Eduardo Robles Elvira [Wed, 26 Jun 2013 08:51:53 +0000]
generalizing unittests and adding some more

11 years agofixing multivolume related bugs
Eduardo Robles Elvira [Wed, 26 Jun 2013 08:51:04 +0000]
fixing multivolume related bugs

11 years agofixing minor nitpicks reported by pylint and pyflakes
Eduardo Robles Elvira [Tue, 25 Jun 2013 10:37:06 +0000]
fixing minor nitpicks reported by pylint and pyflakes

11 years agoremoving some debug lines
Eduardo Robles Elvira [Tue, 25 Jun 2013 10:15:00 +0000]
removing some debug lines

11 years agoFix cosmetic typo in comment
Thomas Jarosch [Mon, 24 Jun 2013 07:52:50 +0000]
Fix cosmetic typo in comment

11 years agofixing remaining issues with PAX compress/extract
Eduardo Robles Elvira [Fri, 21 Jun 2013 11:52:41 +0000]
fixing remaining issues with PAX compress/extract

11 years agoinitial not fully functional pax multivol implementation
Eduardo Robles Elvira [Thu, 20 Jun 2013 11:20:21 +0000]
initial not fully functional pax multivol implementation

11 years agobeautifying test code a bit
Eduardo Robles Elvira [Thu, 20 Jun 2013 08:04:57 +0000]
beautifying test code a bit

11 years agofixing extraction of multivolume with multiple files
Eduardo Robles Elvira [Thu, 20 Jun 2013 07:41:56 +0000]
fixing extraction of multivolume with multiple files

11 years agoadding support for reading multivolume tars
Eduardo Robles Elvira [Wed, 19 Jun 2013 15:25:38 +0000]
adding support for reading multivolume tars

11 years agoadd extract volume test - not implemented yet (test driven development)
Eduardo Robles Elvira [Tue, 18 Jun 2013 10:40:51 +0000]
add extract volume test - not implemented yet (test driven development)

11 years agoadding unit tests for tarfile and fixing some cases which were not working
Eduardo Robles Elvira [Tue, 18 Jun 2013 10:22:36 +0000]
adding unit tests for tarfile and fixing some cases which were not working

11 years agoinitial working tar multivolume creation implementation
Eduardo Robles Elvira [Mon, 17 Jun 2013 09:23:40 +0000]
initial working tar multivolume creation implementation

11 years agoinitial tarfile multivol writing implementation
Eduardo Robles Elvira [Fri, 14 Jun 2013 10:55:49 +0000]
initial tarfile multivol writing implementation

11 years agoadding tarfile from cpython latest version
Eduardo Robles Elvira [Thu, 13 Jun 2013 14:22:18 +0000]
adding tarfile from cpython latest version

12 years agoanswering some questions
Eduardo Robles Elvira [Tue, 11 Jun 2013 13:21:56 +0000]
answering some questions

12 years agoFeedback and more questions.
Thomas Jarosch [Fri, 7 Jun 2013 12:15:49 +0000]
Feedback and more questions.

12 years agoanswering TODO questions
Eduardo Robles Elvira [Fri, 7 Jun 2013 08:43:37 +0000]
answering TODO questions

12 years agoAdd note about using JSON for the file index format
Thomas Jarosch [Fri, 7 Jun 2013 08:09:22 +0000]
Add note about using JSON for the file index format

12 years agotest commit
Eduardo Robles Elvira [Thu, 6 Jun 2013 09:46:56 +0000]
test commit

12 years agoAdd design ideas and first TODO steps
Thomas Jarosch [Tue, 4 Jun 2013 14:59:58 +0000]
Add design ideas and first TODO steps