Hey all
I've been using File.compare to see if two files are the same, but now i
have the case where one is a renamed copy of the other. I'd like to
treat these two as the same in this case. Can anyone suggest a test
that doesn't care about names?
The files that have been renamed are xml (ie text format) if that makes
life easier but a solution that works with binaries as well would be
ideal.
I've been trying to google checksums in ruby but haven't seen a useful
example, maybe i was just being blind. Will a checksum ignore the name
of the file?
thanks
max
···
--
Posted via http://www.ruby-forum.com/.
google for Ruby digest. A SHA1 hash is a good alternative.
require 'digest/sha1'
def contents_equal?(path_to_file_1, path_to_file_2)
Digest::SHA1.file(path_to_file_1).hexdigest ==
Digest::SHA1.file(path_to_file_2).hexdigest
end
···
On Fri, Sep 18, 2009 at 12:05 PM, Max Williams <toastkid.williams@gmail.com> wrote:
Hey all
I've been using File.compare to see if two files are the same, but now i
have the case where one is a renamed copy of the other. I'd like to
treat these two as the same in this case. Can anyone suggest a test
that doesn't care about names?
The files that have been renamed are xml (ie text format) if that makes
life easier but a solution that works with binaries as well would be
ideal.
I've been trying to google checksums in ruby but haven't seen a useful
example, maybe i was just being blind. Will a checksum ignore the name
of the file?
--
Rick DeNatale
Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale
Max Williams wrote:
Hey all
I've been using File.compare to see if two files are the same, but now i
have the case where one is a renamed copy of the other. I'd like to
treat these two as the same in this case. Can anyone suggest a test
that doesn't care about names?
The files that have been renamed are xml (ie text format) if that makes
life easier but a solution that works with binaries as well would be
ideal.
I've been trying to google checksums in ruby but haven't seen a useful
example, maybe i was just being blind. Will a checksum ignore the name
of the file?
thanks
max
Hmm? File.compare does not care about names, the content of the files is
compared.
require 'ftools'
File.compare(path_to_file_1, path_to_file_2)
Works fine for me (Ruby 1.8.6, WinXP). Are there issues I'm not aware
of?
Kind regards,
Siep
···
--
Posted via http://www.ruby-forum.com/\.
that's great, thanks Rick!
max
···
--
Posted via http://www.ruby-forum.com/.
Hmmm (tests) - no Siep, you're right. Looks like the two files i
thought were the same weren't after all. Which is a problem, since the
second one is supposed to be a renamed copy of the first. Looks like i
need to go back a step here. 
thanks
max
···
--
Posted via http://www.ruby-forum.com/.