TangoAlee
TangoAlee

Reputation: 1380

MD5 hash of file changes after comitting, deleting and fetching from git

If one were to do the following:

def hashmdfive(filename):
    """Generate the md5 checksum."""
    hasher = hashlib.md5()
    with open(filename, "rb") as afile:
        buf = afile.read()
        hasher.update(buf)
    return hasher.hexdigest()
  1. make a file (e.g. test.txt) with some content.
  2. create hash of file by running hashmdfive above.
  3. committing and pushing to a remote git repo
  4. delete local file.
  5. fetching test.txt from remote
  6. create new hash of file by running hashmdfive above.

THE HASHES ARE DIFFERENT. Does anyone know why that is the case?

Upvotes: 4

Views: 907

Answers (1)

Erik Aronesty
Erik Aronesty

Reputation: 12907

If you are running on Windows, git's autocrlf feature can be the cause of a digest changing:

This will show you the current value: git config --global core.autocrlf

Anything other than "False" can result in the behavior you are observing.

Upvotes: 6

Related Questions