* Major refactoring of the protocol layer to support this work.
* Fixed protocol issue that was preventing ssh errors (especially connect) from being logged.
Also stopped replacing FORMAT number which explains the large number of test log changes. FORMAT should change very rarely and cause test log failures when it does.
More separation of the protocol and remote layers than was done in issue #106.
Settings are passed to the remote via command-line parameters rather than in the protocol.
* Includes updating the manifest to format 4. It turns out the manifest and .info files were not very good for providing information. A format update was required anyway so worked through the backlog of changes that would require a format change.
* Multiple database versions are now supported in the archive. Does't actually work yet but the structure should be good.
* Tests use more constants now that test logs can catch name regressions.
ASSERTs still dump stack traces to the console and file in all cases. ERRORs only dump stack traces to the file when the file log level is DEBUG or TRACE.
Moved Remote code from pg_backrest.pl to Config.pm.
Added version specific code to regression tests and Db.pm.
archive-push checks for duplicate WAL in the archive.
archive-push reads the db sys id to match up WAL to the correct archive.
Squashed commit of the following:
commit 2e90e165f5717ffef932996e00227dc78d47f23a
Author: David Steele <david@pgmasters.net>
Date: Tue Sep 30 15:50:07 2014 -0400
Removed outdated conf sample.
commit d32f7690ca99c98bc8cef5011de29f4b3a05bf90
Author: David Steele <david@pgmasters.net>
Date: Tue Sep 30 15:44:25 2014 -0400
Suppress error message from being logged when a file is removed by the db during the backup. The exception was being caught and the backup was successful, but the error message was being logged to stdout and the log file which is confusing.
commit 9ea52d9703da833aa3c215dbadfee60472ffad2a
Author: David Steele <david@pgmasters.net>
Date: Tue Sep 30 11:13:55 2014 -0400
File->manifest now ignores missing files and paths while running.