#!/usr/bin/python # dumppack - Simple pack dumper for dulwich # Copyright (C) 2008 Jelmer Vernooij # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; version 2 # of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. from dulwich.errors import ApplyDeltaError from dulwich.pack import Pack, sha_to_hex import sys basename = sys.argv[1] x = Pack(basename) print "Checksum: %s" % sha_to_hex(x.get_stored_checksum()) if not x.check(): print "CHECKSUM DOES NOT MATCH" print "Length: %d" % len(x) for name in x: try: print "\t%s: %s" % (name, x[name]) except KeyError, k: print "\t%s: Unable to resolve base %s" % (name, k) except ApplyDeltaError, e: print "\t%s: Unable to apply delta: %r" % (name, e)