Is there a status on the ability of par2 programs to handle the archival of a whole tree?
I create some backup cds, photo and music archives in particular, by copying a set of directories into a new directory which I can then turn into an ISO and burn. I'd like to be able to go into that directory, create a par with a command like
> par2create -r15 -n1 -b30000 cdrecover.par .
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is there a status on the ability of par2 programs to handle the archival of a whole tree?
I create some backup cds, photo and music archives in particular, by copying a set of directories into a new directory which I can then turn into an ISO and burn. I'd like to be able to go into that directory, create a par with a command like
> par2create -r15 -n1 -b30000 cdrecover.par .
The next version of par2cmdline will be able to handle folders.
Will it be after version 0.91? It's gonna be sooooo handy once this is implemented!
Looking forward to it :)
Good Job!
Shinji.
Hi,
I am working on directory support, but currently it does not work.
who wants to apply this patch and try himself?
this one prevents the software from creating absolut pathnames.
we don't want that. first step for the others to follow.
diff par2cmdline/commandline.cpp par2cmdline-0.4/commandline.cpp
561c561
< string filename = *fn; //DiskFile::GetCanonicalPathname(*fn);
---
> string filename = DiskFile::GetCanonicalPathname(*fn);
this patch ist just for console output and works fine, but does not change behavior at all.
it removes splitting the filename into path/name parts.
diff par2cmdline/par2creator.cpp par2cmdline-0.4/par2creator.cpp
494a495
> DiskFile::SplitFilename(extrafile->FileName(), path, name);
497c498
< cout << "Opening: " << extrafile->FileName() << endl;
---
> cout << "Opening: " << name << endl;
this one should do the job, ie. applying the relative pathname to the .par2 file.
but it does not work yet. I do not know why.
diff par2cmdline/par2creatorsourcefile.cpp par2cmdline-0.4/par2creatorsourcefile.cpp
63c63,72
< parfilename = diskfilename;
---
> string::size_type where;
> if (string::npos != (where = diskfilename.find_last_of('\\')) ||
> string::npos != (where = diskfilename.find_last_of('/')))
> {
> parfilename = diskfilename.substr(where+1);
> }
> else
> {
> parfilename = diskfilename;
> }
have fun.
JPT