Nov 282009
 

Version 0.4, released 2009-11-27: http://dsp.mcbf.net/checkcopy/checkcopy-0.4.tar.bz2

Checkcopy is a copy program which computes checksums on the fly to verify them
and/or write them out to disk.

This program will copy one or more files / directories to a destination,
and compute its checksum on the fly. If checksum files are getting copied
over, their contents are parsed and compared to the computed checksums. If no
checksum was found for a file, then the computed one is written to disk.

So in the end at the destination every file has a checksum stored on disk, and all files which already had a checksum are verified.

Checkcopy uses GIO, and as such operates on local and remote files /
destinations.

Known Issues

W A R N I N G:
Similarly to how `cp’ works, checkcopy currently overwrites destination
files without warning!

Usage

1. The source files / directories have to be specified on the command line.
So running just “checkcopy” is not going to get you anywhere. See TODO.

2. The destination is can be predetermined, preselected, or simply selected.
a. If a destination was specified by the -d switch, then the user
will not get asked.
b. If a default destination was specified by the -D switch, then a file
chooser will get displayed, starting at the specified URI.
c. Otherwise, a file chooser will be shown with the current directory as the
starting location.

This should allow easy bindings in file managers.

Before the files are being copied, they are scanned for checksum files.
Currently only files ending in .md5, .sha, .sha1 and CHECKSUM are detected as
containing checksums. Its contents are then parsed, and remembered.

While the files are copied, the checksum is created. If a checksum is on file,
it will get compared. If no checksum was previously discovered, the computed
one is written to disk as /foo/bar/${DESTINATION}/${DESTINATION}.CHECKSUM
(currently always as sha1).

Requirements

checkcopy requires the following libraries to be installed:

  • gtk+ toolkit:
    Checkcopy was tested with gtk 2.18.3, but gtk 2.16 would probably suffice.
  • gio:
    All file operations are based on GIO functions.
  • libxfce4util:
    Required for some utility functions.

Development

The development code can be found at http://github.com/squisher/checkcopy/

Feedback

Please check the TODO file for the current plan for checkcopy.

All comments, feedback, and bug reports are very welcome! Please email the
author at david@mcbf.net .

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>