Changes (from https://github.com/Parchive/par2cmdline/releases/tag/v0.8.1):
BlackEagle (3):
Add .DELETE_ON_ERROR to avoid corrupt files in workdir
split release scripts a bit because win stuff is not build on the same machine as *nix stuff anymore
bump 0.8.1
Ike Devolder (3):
Merge pull request #131 from mdnahas/master
Merge pull request #132 from mdnahas/library_dev
Merge pull request #134 from mdnahas/long_read_write
Michael Nahas (70):
BUG FIX: ^= operator was returning wrong value for powers of 1
.gitignore now ignores emacs backup files
FIX: typos, comments, indentation
Added unit tests for 5 classes
Changed all output to use parameters, rather than global variables.
Set chunksize to zero, in unspecified case
all commandline errors are first in par2creator::Process
moved reference to commandline to top of parXrepairer
removed largest file and total file size from commandline class
Removed ExtraFile::FileSize method --- this slows things slightly.
Convered ExtraFile to just a string.
grouped commandline options by operation
Added my name to list of authors
added the most common usage as an example
move num-of-threads setting code out of commandline
added links to websites explaining CRC operations
Moved NoiseLevel out of CommandLine
remove duplicate code in par2cmdline.cpp
Moved par1repairer into a function call
Moved par2repairer into a function call
Moved par2creator into a function call
Moved filethreads out of commandline.h/cpp
removed ExtraFile from commandline.h/cpp
removed ExtraFileIterator from commandline.h/cpp
Split up CommandLine::Parse soo I can move stuff in
Reordered checks in commandline.cpp to match order of variable declarations
Moved computation of blocksize into commandline.cpp
BUG FIX: when changed nthreads, forgot to add OPENMP #ifdef around it
Moved redundnacy calculation out of par2creator into commandline
FEATURE: On Linux, adjusts buffer sizes to half the memory of the system
commandline now treats argv aas const char * const *, for easier testing.
unit tests for CommandLine.Parse(), plus bug fixes to it.
Changed code to support a par2lib static library
DANGEROUS: Moved ifdefs from par2cmdline.h into par2lib.h
FEATURE: Created libpar2, a static library for par2.
Added unit tests for diskfile
BUG FIX: DiskFile::Delete() now sets 'exists' to false
BUG FIX: getting physical memory now works for OSX
DANGEROUS: Changed WIN32 to _WIN32 or _MSC_VER
merged code for ComputeRecoveryFileCount into libpar2
Added output to tests, to see they had done something.
BUG FIX - SQUASH - did not ifdef OPEN_MP around thread code
TEST FIX: newline were expanding into two chars on Windows
Added test for DiskFile::Create when file already exists
BUG FIX: DiskFile::Create now returns error when file already exists
BUG FIX: Should now implement Par2 standard for filenames
Test scripts now use .exe and wine, if exe exists
TEST FIX: Some tests did not return 1 on error.
DANGEROUS, BUG FIX: Fixed most things found by cppcheck
BUG FIX: fixed memory leak by FindFiles using std::unique_ptr
FEATURE: Modified test scripts to support valgrind
Changes made so that it compiles on OSX High Sierra
Uncommented line for AM_PROG_AR in configure.ac; needed for Windows
g++ is now forced to use C++ version 2011
Added ar-lib to .gitignore
Unit tests are now run in WINE and with Valgrind
BUILD FIX: Added tests/unit_tests to Makefile.am dist
Added sorting to CriticalPackets, for consistent output
Updated copyright information with my name
Added notes on Cppcheck, Valgrind, MinGW, and WINE to ROADMAP
Added information on WINEPATH variable to ROADMAP file
Made all unit tests look similar and say FAILED/SUCCESS
fixed typo in test
BUG FIX: Version was compared against opNone.
New Visual C++ project file, thanks to Anime Tosho
BUG FIX: had introduced bug handling Unicode. Reverted change.
Changed types to size_t to satisfy Microsoft compiler
Support file I/O on blocksize greater than 4GB
Merge pull request #135 from rwtodd/master
Merge pull request #136 from rwtodd/master
Richard Todd (4):
Used _stati64() for WIN32 DiskFile::FileExists()
Added par2cmdline.h to par2cmdline.cpp for DEBUG_NEW
fixed 'need signed i for openmp' errors on Windows
Renamed par2cmdline.h to libpar2internal.h.
30 June 2017 Ike Devolder
* relase: 0.7.2
* fixed tests on NetBSD, #102
* fixed failing tests when dir contains whitespace, #103
* added automake.sh to the files, #104
* changed some flags related to windows build, #94
* cleaned up compiler warnings for mingw build
19 May 2017 Ike Devolder
* release: 0.7.1
* fixed basepath issues #93
* made distcheck behaviour consistent with different --srcdir #96
* properly package distribution package #98
* cross compile for windows to get redistributable exe #94
* change distribution format to tar.gz and tar.bz2 for unix
and keep zip for windows #97
17 April 2017 Ike Devolder
* release: 0.7.0
* Merged OpenMP version and so enabled multithreading
* added -t flag to set the number of threads (all possible threads
used by default)
* Added -B flag to set the basepath for difficult to guess situations
* bugfixes
Fix issue #53 / Correct fix for issue #49
par2creator: use proper buffer size for volume file name generation
bump 0.6.13
Merge pull request #51 from jcfp/master
Update commandline.cpp
add -N / -S options to manpage
Add test19
Fix issue #50 (scan failure) / Correct fix for issue #31 (slow scan)
Fixes to enable "make distcheck" to work:
Fix for #49 (Scanning extra files messes up verification)
create test for #49
Merge pull request #48 from jcfp/patch-1
add missing argument for the block-count option
Problems found with existing distfile for eagle:
distfiles/bicom101.zip
distfiles/szip-2.1nb3/szip-2.1.tar.gz
distfiles/xmill-0.9.1.tar.gz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
27 February 2014 Ike Devolder
* release: 0.6.5
* fix blocksize calculation
25 February 2014 JCF Ploemen
* lintian warning spelling fix
7 February 2014 Ike Devolder
* add manfile for par2
29 January 2014 Jan van Haarst
* README in Markdown
21 January 2014 Ike Devolder
* add spelling fixes to cmdline output
18 January 2014 Jan van Haarst
* fixed some spelling
6 January 2014 Ike Devolder
* simplify FindFiles
4 January 2014 Ike Devolder
* release: 0.6.4
* when directory is removed, recreate
* add test to verify directory behaviour
* add test with valgrind
16 December 2013 Ike Devolder
* allow verification of files even with ducplicates in parfiles
15 December 2013 Ike Devolder
* avoid adding of duplicates
14 December 2013 Ike Devolder
* release: 0.6.3
* rework original tests so parallelisation is no issue
* add test8 which makes sure the paths stored are relative
* add test9 rename wrongly named file, passed to par2
result is correctly named files after repair
13 Decebmer 2013 Ike Devolder
* move tests in separate folder, tests will be extended
and otherwise eventually clutter the source too much
9 December 2013 Ike Devolder
* rework parfilename handling + it fixes passing par
filename without extension for repair
7 December 2013 Ike Devolder
* release: 0.6.2
* basepath was not set correctly in restoring of 'old' way
5 December 2013 Ike Devolder
* release: 0.6.1
* show usage / version / copyright on request
* restore 'old' way of creating make -a optional
30 November 2013 Ike Devolder
* release: 0.6.0
* test8: windows generated recovery files with subdir
* windows recurses in . and .. which leads to deadlock
so dont recurse in folders starting with . on windows
* when recursion happens make sure windows can recover with
unix created par2 files
* fixed fc -> fd typo in windows part of diskfile
* FTBFS fix on GNU/kFreeBSD (by Cyril Brulebois)
* fixed non quiet output when creating par2
* Applied fix preventing a stack overflow (by Robert Schneider)
14 October 2013 Ike Devolder
* Implemented recursion
* NOTE: only for unix like systems
* Windows can be done i guess but i have no access to windows machines
16 June 2013 Ike Devolder
* Implemented initial subdir handling
* added subdir tests
13 June 2013 Ike Devolder
* Fixed failing testsuite
9 December 2012 Ike Devolder
* rework purging of par(2) files because of possible segfaults
and other inconsistencies
4 December 2012 Ike Devolder
* fix purge option so it removes the par files when there is no
repair needed
* add purge option to verify so when there is no repair needed
the par2 files are removed when the purge option is given
30 November 2012 Ike Devolder
* add purge option
remove backup files (mostly .1) and par files on request
**USE AT YOUR OWN RISK
* purge option available in par1 and par2 repair
* fix memory leak when using par1 repair
30 January 2012 Ike Devolder
* add inlining performance improvement of Gerard Putter
* release: 0.5.4
19 January 2012 Ike Devolder
* fix wrongly created par2 files in quiet mode
this was related to the -q -qq fix
* release: 0.5.3
17 January 2012 Ike Devolder
* fix deadlock condition when repairing and filepath is longer
than _MAX_PATH
* increase _MAX_PATH, 255 is no longer of these days
* release: 0.5.2
16 January 2012 Ike Devolder
* fixup 0.5 version display
* "par2 create" dumps core with -q or -qq, but non-quiet mode works fine
FIXED
* removed automake files
* updated copyrights
* release: 0.5.1
12 December 2011 Marcel Partap
* Reanimate par2cmdline development on new github repository
* Merge available distro patches since 2004 0.4 release back upstream
* Release: Version 0.5 ;)
3 January 2005 Peter B Clements
* par2creatorsourcefile.cpp: "offset" must be updated when computing
file and block hashes even if progress is not being displayed.
23 June 2004 Peter B Clements
* diskfile.cpp: Changed DiskFile::GetFileSize for WIN32
so that it uses _stati64() to get the size of a file.
* par2creatorsourcefile.cpp: In UpdateHashes() the test
that adjusts the length of the last block of a file when
before updating the file hash was incorrect.
17 June 2004 Peter B Clements
* par1repairer.cpp, par2repairer.cpp: Report empty files when
scanning for data.
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
See http://parchive.sourceforge.net for details of PAR 2.0 specification
and discussion of all things PAR.
WHAT EXACTLY IS PAR2CMDLINE?
par2cmdline is a program for creating and using PAR2 files to detect
damage in data files and repair them if necessary. It can be used with
any kind of file.