Another suggestion to add to this conversation is to consider the fact that internet access is unavailable. In this case, committing changes back to cvs is impossible
because of its centralized nature, in comes git. With git-cvsimport you can save your changes in a repository, and commit as much as necessary and are able to retain
your history. Once back to the more civilized world, one can do a git rebase --interactive, squash all of the commits to one (making a nice log message) and run
git-cvsexportcommit after creating a patch and setting some variables.
Here's a good resource on how one might use git to keep revision history and allowing simple roll-back
http://issaris.blogspot.com/2005/11/cvs-to-git-and-back.html