Eduardo Robles Elvira [Fri, 27 Sep 2013 14:02:51 +0000]
adding more options to backup script, like listing backup files
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
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.
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
Eduardo Robles Elvira [Tue, 17 Sep 2013 09:46:49 +0000]
add handy backup command, used for benchmarks
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.
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
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.
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.
Daniel Garcia Moreno [Thu, 29 Aug 2013 12:00:20 +0000]
Fixed DeltaTar create_diff_backup and restore_backup
Daniel Garcia Moreno [Fri, 23 Aug 2013 16:35:51 +0000]
Start all tests in the same directory
Daniel Garcia Moreno [Fri, 23 Aug 2013 16:21:19 +0000]
Fixed test_create_diff_backup1
Eduardo Robles Elvira [Sun, 11 Aug 2013 17:37:04 +0000]
fixing again tarfile.readline..
Eduardo Robles Elvira [Sat, 10 Aug 2013 08:58:09 +0000]
adding unit test that uses .git to create and restore backups
Eduardo Robles Elvira [Sat, 10 Aug 2013 08:46:04 +0000]
fixing readlin in tarfile, it was not working right after passing the bufsize
Eduardo Robles Elvira [Fri, 9 Aug 2013 13:28:40 +0000]
removing typo error
Eduardo Robles Elvira [Fri, 9 Aug 2013 10:08:48 +0000]
adding support for compressed index files
Eduardo Robles Elvira [Thu, 8 Aug 2013 08:55:10 +0000]
deltatar: setting and checking mtime and ctime in dirs and files
Eduardo Robles Elvira [Thu, 8 Aug 2013 08:07:35 +0000]
fixing bug in diff engine making it fail when a directory is removed
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
Eduardo Robles Elvira [Tue, 6 Aug 2013 12:41:35 +0000]
deltatar: initial implementation of the diff restore engine
Eduardo Robles Elvira [Tue, 6 Aug 2013 07:49:35 +0000]
improving diff engine unit test so that it test deletion of files
Eduardo Robles Elvira [Tue, 6 Aug 2013 07:44:16 +0000]
deltatar: fixing some problems with diff engine and adding more unit tests
Eduardo Robles Elvira [Mon, 5 Aug 2013 16:38:07 +0000]
improving the empty diff backup unit test
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
Eduardo Robles Elvira [Mon, 5 Aug 2013 11:59:49 +0000]
initial implementation of diff backup and a simple unit test
Eduardo Robles Elvira [Sun, 4 Aug 2013 10:37:46 +0000]
writing iterators for directory diffs and unit testing them
Eduardo Robles Elvira [Fri, 2 Aug 2013 15:26:59 +0000]
deltatar: adding parent path checking, and unit tests for it
Eduardo Robles Elvira [Fri, 2 Aug 2013 08:18:19 +0000]
testing deltatar filtering regular expressions
Eduardo Robles Elvira [Thu, 1 Aug 2013 14:55:58 +0000]
allow also filtering on the extraction of backup tar files
Eduardo Robles Elvira [Thu, 1 Aug 2013 14:25:45 +0000]
deltatar: limit restore from index tests to uncompressed or concat compressed modes
Eduardo Robles Elvira [Thu, 1 Aug 2013 09:35:41 +0000]
deltatar: adding support for filtering in restore index and adding unit tests
Daniel Garcia Moreno [Thu, 1 Aug 2013 08:58:23 +0000]
Fixing AESCrypt stupid bug
Eduardo Robles Elvira [Thu, 1 Aug 2013 08:55:44 +0000]
adding unit tests for filter function
Eduardo Robles Elvira [Thu, 1 Aug 2013 08:17:04 +0000]
first implementation of filtered restore_backup and unit test
Eduardo Robles Elvira [Wed, 31 Jul 2013 15:58:28 +0000]
implementing filter_func in deltatar
Daniel Garcia Moreno [Wed, 31 Jul 2013 12:07:18 +0000]
Removing OFB pad to avoid to hide errors
Eduardo Robles Elvira [Wed, 31 Jul 2013 10:05:54 +0000]
fixing bug extracting tarfiles from index offsets when using multivol
Eduardo Robles Elvira [Tue, 30 Jul 2013 15:17:22 +0000]
restore from index without multiple vols now works
Eduardo Robles Elvira [Tue, 30 Jul 2013 10:23:25 +0000]
adding initial support to restore from index. still failing in directories
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
Eduardo Robles Elvira [Tue, 30 Jul 2013 09:06:44 +0000]
updated the estimation
Eduardo Robles Elvira [Sun, 28 Jul 2013 08:44:10 +0000]
fixing and unit testing multivolume support
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
Eduardo Robles Elvira [Sat, 27 Jul 2013 08:17:15 +0000]
adding a test class for each supported mode and fixing some related bugs
Eduardo Robles Elvira [Fri, 26 Jul 2013 17:44:43 +0000]
deltatar: now index file is created on create_full_backup calls
Eduardo Robles Elvira [Fri, 26 Jul 2013 17:10:44 +0000]
initial super simple implementation and unit test of restore_backup
Eduardo Robles Elvira [Fri, 26 Jul 2013 16:26:06 +0000]
initial basic implementation of the create_full_backup and very basic unit test
Eduardo Robles Elvira [Fri, 26 Jul 2013 16:25:22 +0000]
adding steps to the design
Eduardo Robles Elvira [Thu, 25 Jul 2013 15:52:50 +0000]
specifing max vol size in mb and only for backup creation
Eduardo Robles Elvira [Thu, 25 Jul 2013 15:48:08 +0000]
fixing minor typos in DeltaTar spec
Thomas Jarosch [Wed, 24 Jul 2013 16:09:25 +0000]
Fix small typo
Eduardo Robles Elvira [Wed, 24 Jul 2013 15:53:25 +0000]
improving design of the tool after thomas input
Eduardo Robles Elvira [Wed, 24 Jul 2013 07:54:42 +0000]
fixing some minor details
Eduardo Robles Elvira [Wed, 24 Jul 2013 07:53:00 +0000]
improving the design of DeltaTar public API, making it more flexible
Eduardo Robles Elvira [Mon, 22 Jul 2013 08:03:10 +0000]
uploading proposed public API
Thomas Jarosch [Fri, 19 Jul 2013 09:10:05 +0000]
Add note about file index compression/encryption
Eduardo Robles Elvira [Fri, 19 Jul 2013 07:48:30 +0000]
specifying key_length in bits instead of bytes
Daniel Garcia Moreno [Thu, 18 Jul 2013 18:12:47 +0000]
Supporing aes128 and aes256 encryption type
Daniel Garcia Moreno [Thu, 18 Jul 2013 17:51:22 +0000]
Changed the gpl header to lgpl
Daniel Garcia Moreno [Tue, 16 Jul 2013 08:26:36 +0000]
Fixed encryption pad treatment using random pad
Daniel Garcia Moreno [Tue, 16 Jul 2013 08:24:59 +0000]
Fixed filesplit corner case infinite loop
Daniel Garcia Moreno [Tue, 16 Jul 2013 06:21:29 +0000]
Added encrypt/decrypt multivolume test
Daniel Garcia Moreno [Mon, 15 Jul 2013 15:44:45 +0000]
Adding intra2net copyright header to every python file
Daniel Garcia Moreno [Mon, 15 Jul 2013 15:42:09 +0000]
Using aes128 for encryption
Daniel Garcia Moreno [Fri, 12 Jul 2013 13:58:38 +0000]
Implemented aes decryption support
Daniel Garcia Moreno [Fri, 12 Jul 2013 11:18:03 +0000]
Fixed AESCrypt.encrypt with no data multiple of bs
Daniel Garcia Moreno [Fri, 12 Jul 2013 11:03:57 +0000]
adding aes encryption support for creation
Eduardo Robles Elvira [Wed, 10 Jul 2013 16:41:00 +0000]
fixing compressed multivol
Eduardo Robles Elvira [Wed, 10 Jul 2013 11:00:06 +0000]
working in rescue tar utility
Eduardo Robles Elvira [Tue, 9 Jul 2013 14:14:14 +0000]
adding crc checking when reading tar.gz files
Daniel Garcia Moreno [Mon, 8 Jul 2013 19:05:08 +0000]
More tests to check corner cases
Daniel Garcia Moreno [Mon, 8 Jul 2013 19:03:01 +0000]
Test to check extract of gnu-tar file with multiple files and volumes
Daniel Garcia Moreno [Mon, 8 Jul 2013 19:00:29 +0000]
Removing not needed line, it's a self assignation
Eduardo Robles Elvira [Mon, 8 Jul 2013 11:02:22 +0000]
adding rescue file splitter and some unit tests using it
Eduardo Robles Elvira [Fri, 5 Jul 2013 09:50:43 +0000]
extracting files in r#gz mode now works too, includes unit tests
Eduardo Robles Elvira [Wed, 3 Jul 2013 11:25:09 +0000]
adding initial concat compression support and a simple unit test
Eduardo Robles Elvira [Fri, 28 Jun 2013 09:17:09 +0000]
adding unit test for volume error handling
Eduardo Robles Elvira [Wed, 26 Jun 2013 10:02:27 +0000]
adding corner case size test
Eduardo Robles Elvira [Wed, 26 Jun 2013 08:51:53 +0000]
generalizing unittests and adding some more
Eduardo Robles Elvira [Wed, 26 Jun 2013 08:51:04 +0000]
fixing multivolume related bugs
Eduardo Robles Elvira [Tue, 25 Jun 2013 10:37:06 +0000]
fixing minor nitpicks reported by pylint and pyflakes
Eduardo Robles Elvira [Tue, 25 Jun 2013 10:15:00 +0000]
removing some debug lines
Thomas Jarosch [Mon, 24 Jun 2013 07:52:50 +0000]
Fix cosmetic typo in comment
Eduardo Robles Elvira [Fri, 21 Jun 2013 11:52:41 +0000]
fixing remaining issues with PAX compress/extract
Eduardo Robles Elvira [Thu, 20 Jun 2013 11:20:21 +0000]
initial not fully functional pax multivol implementation
Eduardo Robles Elvira [Thu, 20 Jun 2013 08:04:57 +0000]
beautifying test code a bit
Eduardo Robles Elvira [Thu, 20 Jun 2013 07:41:56 +0000]
fixing extraction of multivolume with multiple files
Eduardo Robles Elvira [Wed, 19 Jun 2013 15:25:38 +0000]
adding support for reading multivolume tars
Eduardo Robles Elvira [Tue, 18 Jun 2013 10:40:51 +0000]
add extract volume test - not implemented yet (test driven development)
Eduardo Robles Elvira [Tue, 18 Jun 2013 10:22:36 +0000]
adding unit tests for tarfile and fixing some cases which were not working
Eduardo Robles Elvira [Mon, 17 Jun 2013 09:23:40 +0000]
initial working tar multivolume creation implementation
Eduardo Robles Elvira [Fri, 14 Jun 2013 10:55:49 +0000]
initial tarfile multivol writing implementation
Eduardo Robles Elvira [Thu, 13 Jun 2013 14:22:18 +0000]
adding tarfile from cpython latest version
Eduardo Robles Elvira [Tue, 11 Jun 2013 13:21:56 +0000]
answering some questions
Thomas Jarosch [Fri, 7 Jun 2013 12:15:49 +0000]
Feedback and more questions.
Eduardo Robles Elvira [Fri, 7 Jun 2013 08:43:37 +0000]
answering TODO questions
Thomas Jarosch [Fri, 7 Jun 2013 08:09:22 +0000]
Add note about using JSON for the file index format
Eduardo Robles Elvira [Thu, 6 Jun 2013 09:46:56 +0000]
test commit
Thomas Jarosch [Tue, 4 Jun 2013 14:59:58 +0000]
Add design ideas and first TODO steps