summaryrefslogtreecommitdiff
path: root/magic/Magdir/revision
diff options
context:
space:
mode:
Diffstat (limited to 'magic/Magdir/revision')
-rw-r--r--magic/Magdir/revision22
1 files changed, 18 insertions, 4 deletions
diff --git a/magic/Magdir/revision b/magic/Magdir/revision
index e4e4de1059633..4ae4f75f9bf3b 100644
--- a/magic/Magdir/revision
+++ b/magic/Magdir/revision
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
-# $File: revision,v 1.9 2013/02/06 14:18:52 christos Exp $
+# $File: revision,v 1.10 2017/10/19 16:40:37 christos Exp $
# file(1) magic for revision control files
# From Hendrik Scholz <hendrik@scholz.net>
0 string/t /1\ :pserver: cvs password text file
@@ -15,13 +15,27 @@
# Type: Git pack
# From: Adam Buchbinder <adam.buchbinder@gmail.com>
+# Update: Joerg Jenderek
+# URL: http://fileformats.archiveteam.org/wiki/Git
+# reference: https://github.com/git/git/blob/master/Documentation/technical/pack-format.txt
# The actual magic is 'PACK', but that clashes with Doom/Quake packs. However,
# those have a little-endian offset immediately following the magic 'PACK',
# the first byte of which is never 0, while the first byte of the Git pack
# version, since it's a tiny number stored in big-endian format, is always 0.
-0 string PACK\0 Git pack
->4 belong >0 \b, version %d
->>8 belong >0 \b, %d objects
+0 string PACK
+# GRR: line above is too general as it matches also PackDir archive ./acorn
+# test for major version. Git 2017 accepts version number 2 or 3
+>4 ubelong <9
+# Acorn PackDir with method 0 compression has root like ADFS::HardDisc4.$.AsylumSrc
+# or SystemDevice::foobar
+>>9 search/13 ::
+# but in git binary
+>>9 default x Git pack
+!:mime application/x-git
+!:ext pack
+# 4 GB limit implies unsigned integer
+>>>4 ubelong x \b, version %u
+>>>8 ubelong x \b, %u objects
# Type: Git pack index
# From: Adam Buchbinder <adam.buchbinder@gmail.com>