UNPKG

git-arweave-lfs

Version:

A Git extension for versioning large files with Arweave storage

41 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.diffDriver = void 0; const fs_1 = require("fs"); const crypto_1 = require("crypto"); const diffDriver = () => { try { const args = process.argv.slice(3); if (args.length < 7) { console.log('Binary files differ'); return; } const [path, oldFile, oldHex, oldMode, newFile, newHex, newMode] = args; if (!(0, fs_1.existsSync)(oldFile) || !(0, fs_1.existsSync)(newFile)) { console.log('Binary files differ'); return; } const oldStats = (0, fs_1.statSync)(oldFile); const newStats = (0, fs_1.statSync)(newFile); if (oldStats.size !== newStats.size) { console.log(`Binary files ${path} differ`); return; } const oldBuffer = (0, fs_1.readFileSync)(oldFile); const newBuffer = (0, fs_1.readFileSync)(newFile); const oldHash = (0, crypto_1.createHash)('sha256').update(oldBuffer).digest('hex'); const newHash = (0, crypto_1.createHash)('sha256').update(newBuffer).digest('hex'); if (oldHash === newHash) { return; } else { console.log(`Binary files ${path} differ`); } } catch (error) { console.error(`Error in diff driver: ${error}`); console.log('Binary files differ'); } }; exports.diffDriver = diffDriver; //# sourceMappingURL=diff.js.map