Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Nov 2003 23:04:39 -0500
From:      Bryce W Nesbitt <bryce1@obviously.com>
To:        freebsd-cvsweb@FreeBSD.org
Subject:   Re: Patch to cvsweb?
Message-ID:  <3FB5A5D7.9060108@obviously.com>
In-Reply-To: <1068671035.4763.136.camel@bobcat.mine.nu>
References:  <3FB23C1F.6040502@obviously.com> <1068661352.4763.72.camel@bobcat.mine.nu>  <3FB28082.6070707@obviously.com> <1068671035.4763.136.camel@bobcat.mine.nu>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070802010309090705080203
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Ville Skyttä wrote:

>On Wed, 2003-11-12 at 20:48, Bryce Nesbitt (spam account) wrote:
>  
>
>>I am working with CVS HEAD.
>>My modified version is at:
>>    http://www.obviously.com/test/cvsweb.cgi/MassGIS/
>>
>>I implemented an external diff utility.  In this case, it
>>compares binary application files stored inside a .zip archive.
>>    
>>
>
>Whoo, looks cool.  Could you post the source code (or prefreably a
>unified diff against CVS HEAD) somewhere?
>  
>

This version, patched against CVS HEAD, can diff the
contents of a .zip archive.

You can also specify which "diff" utility to use for
which mime type:

     %DIFF_COMMANDS = (
         "application/arcview"      => "shpdiff",
         "application/vnd.ms-excel" => "excel_diff",
     );

There's more to do, but I hope this patch is a good start.

              -Bryce Nesbitt


--------------070802010309090705080203
Content-Type: text/plain;
 name="cvsweb_zipdiff.diff"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="cvsweb_zipdiff.diff"

PyBjdnNyb290X3Rlc3QKSW5kZXg6IGN2c3dlYi5jZ2kKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2hvbWUvbmN2cy9wcm9qZWN0cy9jdnN3ZWIvY3Zzd2ViLmNnaSx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4yMTUKZGlmZiAtdSAtcjEuMjE1IGN2c3dlYi5jZ2kKLS0tIGN2c3dlYi5j
Z2kJMjUgT2N0IDIwMDMgMTk6MTY6MzIgLTAwMDAJMS4yMTUKKysrIGN2c3dlYi5jZ2kJMTQg
Tm92IDIwMDMgMjI6NDE6MTAgLTAwMDAKQEAgLTYyLDcgKzYyLDcgQEAKICAgJFZFUlNJT04K
ICAgJGNvbmZpZyAkYWxsb3dfdmVyc2lvbl9zZWxlY3QKICAgQENWU3JlcG9zaXRvcmllcyBA
Q1ZTUk9PVCAlQ1ZTUk9PVCAlQ1ZTUk9PVGRlc2NyCi0gICVNSVJST1JTICVERUZBVUxUVkFM
VUUgJUlDT05TICVNVFlQRVMKKyAgJU1JUlJPUlMgJURFRkFVTFRWQUxVRSAlSUNPTlMgJU1U
WVBFUyAlRElGRl9DT01NQU5EUyAlRElGRl9PUFRJT05TCiAgIEBESUZGVFlQRVMgJURJRkZU
WVBFUyBATE9HU09SVEtFWVMgJUxPR1NPUlRLRVlTCiAgICVhbGx0YWdzICVmaWxlaW5mbyAl
dGFncyBAYnJhbmNobmFtZXMgJW5hbWVwcmludGVkCiAgICVzeW1yZXYgJXJldnN5bSBAYWxs
cmV2aXNpb25zICVkYXRlICVhdXRob3IgQHJldmRpc3BsYXlvcmRlcgpAQCAtMTAwLDcgKzEw
MCw3IEBACiB1c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zIHF3KGNhdGRpciBjYXRmaWxlIGN1
cmRpciBkZXZudWxsIHJvb3RkaXIgdG1wZGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVwZGlyKTsKIHVzZSBGaWxlOjpUZW1wICAgICAgICAgICAgcXcodGVtcGRpcik7Ci11
c2UgSVBDOjpSdW4gICAgICAgICAgICAgIHF3KGZpbmlzaCB0aW1lb3V0KTsKKyN1c2UgSVBD
OjpSdW4gICAgICAgICAgICAgIHF3KGZpbmlzaCB0aW1lb3V0KTsgICMgTm90IG9uIFJlZEhh
dCA3LjMuLi4KIHVzZSBUaW1lOjpMb2NhbCAgICAgICAgICAgcXcodGltZWdtKTsKIHVzZSBV
Ukk6OkVzY2FwZSAgICAgICAgICAgcXcodXJpX2VzY2FwZSB1cmlfdW5lc2NhcGUpOwogCkBA
IC0yMjMyLDcgKzIyMzIsNzIgQEAKICAgbXkgQGRpZmZ0eXBlICAgICAgID0gQHskZGlmZnR5
cGUtPnsnb3B0cyd9fTsKICAgbXkgJGh1bWFuX3JlYWRhYmxlID0gJGRpZmZ0eXBlLT57J2Nv
bG9yZWQnfTsKIAotICAjIGFwcGx5IHNwZWNpYWwgb3B0aW9ucworCisgICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCisgICMgRmlyc3QsIGNoZWNrIGlmIHdlIG5lZWQgdG8gdW5jb21wcmVzcyBhIC56
aXAgYXJjaGl2ZQorICAjCisgIG15ICRtaW1ldHlwZSAgPSBnZXRNaW1lVHlwZSgkZnVsbG5h
bWUpOworICBteSAkY3ZzbmFtZSAgID0gICR3aGVyZTsKKworICBpZiggJG1pbWV0eXBlIGVx
ICJhcHBsaWNhdGlvbi96aXAiICkgeworICAgIGh0dHBfaGVhZGVyKCJ0ZXh0L3BsYWluIik7
CisKKyAgICAjIENyZWF0ZSB0d28gdGVtcG9yYXJ5IGRpcmVjdG9yaWVzCisgICAgbXkgJHRt
cGV4cG9ydGRpcjEgPSB0ZW1wZGlyKCdjdnN3ZWIxLlhYWFhYWFhYJywgVE1QRElSID0+IDEp
OworICAgIG15ICR0bXBleHBvcnRkaXIyID0gdGVtcGRpcignY3Zzd2ViMi5YWFhYWFhYWCcs
IFRNUERJUiA9PiAxKTsKKworICAgICMgQ2hlY2sgb3V0IGFuZCB1bmNvbXByZXNzIHJldjEK
KyAgICAkY3ZzbmFtZSA9fiBzL1wuZGlmZiQvLzsKKyAgICBjaGRpcigkdG1wZXhwb3J0ZGly
MSkgb3IgZXhpdCAtMTsKKyAgICBzeXN0ZW0gKCRDTUR7Y3ZzfSwgQGN2c19vcHRpb25zLCAn
LVFkJywgJGN2c3Jvb3QsICdjbycsICItciRyZXYxIiwgJGN2c25hbWUpOworICAgIHN5c3Rl
bSAoJENNRHt1bnppcH0sICRjdnNuYW1lKTsKKworICAgICMgQ2hlY2sgb3V0IGFuZCB1bmNv
bXByZXNzIHJldjIKKyAgICAkY3ZzbmFtZSA9fiBzL1wuZGlmZiQvLzsKKyAgICBjaGRpcigk
dG1wZXhwb3J0ZGlyMikgb3IgZXhpdCAtMTsKKyAgICBzeXN0ZW0gKCRDTUR7Y3ZzfSwgQGN2
c19vcHRpb25zLCAnLVFkJywgJGN2c3Jvb3QsICdjbycsICItciRyZXYyIiwgJGN2c25hbWUp
OworICAgIHN5c3RlbSAoJENNRHt1bnppcH0sICRjdnNuYW1lKTsKKworICAgICMgRXhhbWlu
ZSBlYWNoIGZpbGUsIGNoZWNrIGlmIGEgc3BlY2lhbCBkaWZmaW5nIGNvbW1hbmQgaXMgZGVm
aW5lZCBpbiAlRElGRl9DT01NQU5EUworICAgICMgVGhpcyBpcyB1c2VmdWwgZm9yIGNvbXBh
cmluZyBiaW5hcnkgZmlsZXMgKHNwcmVhZHNoZWV0cywgaW1hZ2VzLCBldGMpIHRoYXQKKyAg
ICAjIGRvbid0IHdvcmsgd2l0aCBzdGFuZGFyZCB0ZXh0IGRpZmYuCisgICAgbXkgJHByb2Nl
c3NlZF9zb21ldGhpbmcgPSAwOworICAgIG15ICRmbmFtZTsKKyAgICBteSAkZGlmZnV0aWw7
CisgICAgb3BlbmRpcihESVIsICR0bXBleHBvcnRkaXIxKSBvciBkaWUgImNhbid0IG9wZW5k
aXIgJHRtcGV4cG9ydGRpcjE6ICQhIjsKKyAgICB3aGlsZSAoZGVmaW5lZCgkZm5hbWUgPSBy
ZWFkZGlyKERJUikpKSB7CisgICAgICAgICRtaW1ldHlwZSAgPSBnZXRNaW1lVHlwZSgkZm5h
bWUpOworICAgICAgICAjcHJpbnQgIlNhdyBmaWxlICRmbmFtZSB8ICRtaW1ldHlwZVxuIjsK
KyAgICAgICAgaWYoICRkaWZmdXRpbCA9ICRESUZGX0NPTU1BTkRTeyRtaW1ldHlwZX0gKSB7
CisgICAgICAgICAgICBpZiggIWRlZmluZWQgJENNRHskZGlmZnV0aWx9ICkgeworICAgICAg
ICAgICAgICAgcHJpbnQgIkVycm9yOiBjYW4ndCBmaW5kIHV0aWxpdHkgJyRkaWZmdXRpbCcg
dG8gaGFuZGxlIG1pbWV0eXBlICckbWltZXR5cGUnXG4iOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgaWYoICRESUZGX09QVElPTlN7JG1pbWV0eXBlfSBuZSAiIiApIHsKKyAgICAg
ICAgICAgICAgICBzeXN0ZW0oJENNRHskZGlmZnV0aWx9LCAkRElGRl9PUFRJT05TeyRtaW1l
dHlwZX0sIAorICAgICAgICAgICAgICAgICAgICAgICAiJHRtcGV4cG9ydGRpcjEvJGZuYW1l
IiwgIiR0bXBleHBvcnRkaXIyLyRmbmFtZSIpOworICAgICAgICAgICAgICAgICRwcm9jZXNz
ZWRfc29tZXRoaW5nID0gMTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgc3lzdGVtKCRDTUR7JGRpZmZ1dGlsfSwgIiR0bXBleHBvcnRkaXIxLyRmbmFtZSIsICIk
dG1wZXhwb3J0ZGlyMi8kZm5hbWUiKTsKKyAgICAgICAgICAgICAgICAkcHJvY2Vzc2VkX3Nv
bWV0aGluZyA9IDE7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgY2xv
c2VkaXIoRElSKTsKKworICAgICMgSWYgd2UgZGlkIG5vdCBkaWZmIGFueXRoaW5nIGFib3Zl
LCB0aGVuIGp1c3QgZG8gYSBzdGFuZGFyZCAiZGlmZiAtciIKKyAgICBpZiggISRwcm9jZXNz
ZWRfc29tZXRoaW5nICkgeworICAgICAgICBzeXN0ZW0gKCRDTUR7ZGlmZn0sICItciIsICIk
dG1wZXhwb3J0ZGlyMSIsICIkdG1wZXhwb3J0ZGlyMiIpOworICAgIH0KKyAgICAKKyAgICAj
IERlbGV0ZSB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMKKyAgICBzeXN0ZW0gKCRDTUR7cm19LCAi
LXIiLCAiJHRtcGV4cG9ydGRpcjEiKTsKKyAgICBzeXN0ZW0gKCRDTUR7cm19LCAiLXIiLCAi
JHRtcGV4cG9ydGRpcjIiKTsKKyAgICBleGl0OworICAgIH0KKworCisgICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCisgICMgcmVndWxhciBkaWZmOiBhcHBseSBzcGVjaWFsIG9wdGlvbnMKICAgaWYg
KCRzaG93ZnVuYykgewogICAgIHB1c2ggQGRpZmZ0eXBlLCAnLXAnIGlmICRmIG5lICdzJzsK
IApAQCAtMjMyMiw3ICsyMzg3LDcgQEAKICAgIyAtIEFkZCAibm8gZGlmZmVyZW5jZXMgZm91
bmQiIGlmIHRoZSBkaWZmIGNvbW1hbmQgc3VwcGxpZWQgbm8gb3V0cHV0LgogICAjCiAgICMq
Kiogc3JjL3N5cy9uZXRpbmV0L3RjcF9vdXRwdXQuYyAgICAgMTk5NS8xMS8wMyAyMjowODow
OCAgICAgMS4xNgotICAjLS0tIHNyYy9zeXMvbmV0aW5ldC90Y3Bfb3V0cHV0LmMgICAgIDE5
OTUvMTIvMDUgMTc6NDY6MzUgICAgIDEuMTcgUkVMRU5HXzJfMV8wCisgICMtLS0gc3JjL3N5
cy9uZXRpbmV0L3RjcF9vdXRwdXQuYyAgICAgMTk5NS8xMi8wNSAxNzo0NjozNSAgICAgMS4x
NyBSRUxfMl8xXzAKICAgIyAoYm9ndXMgZXhhbXBsZSwgYnV0Li4uKQogICAjCiAgIG15ICgk
ZjEsICRmMik7CkBAIC0yMzU1LDYgKzI0MjAsNyBAQAogfQogCiAKKwogIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwogIyBTaG93IExvZ3MgLi4KICMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKQEAgLTMxMDYsOCArMzE3Miw4IEBACiAgIHByaW50ICI8cD5cbiAi
OwogICBwcmludCAmbGluaygkYmFja2ljb24sICIkYmFja3VybCMkZmlsZW5hbWUiKSwgIiA8
Yj5VcCB0byAiLAogICAgICZjbGlja2FibGVQYXRoKCR1cHdoZXJlLCAxKSwgIjwvYj5cbjwv
cD5cbiI7Ci0gIHByaW50ICI8cD5cbiAiOwotICBwcmludCAmbGluaygnUmVxdWVzdCBkaWZm
IGJldHdlZW4gYXJiaXRyYXJ5IHJldmlzaW9ucycsICcjZGlmZicpOworICAjcHJpbnQgIjxw
PlxuICI7CisgICNwcmludCAmbGluaygnUmVxdWVzdCBkaWZmIGJldHdlZW4gYXJiaXRyYXJ5
IHJldmlzaW9ucycsICcjZGlmZicpOwogICBpZiAoJGFsbG93X2N2c2dyYXBoKSB7CiAgICAg
cHJpbnQgJyAvICcsICZncmFwaF9saW5rKCcnLCAnRGlzcGxheSByZXZpc2lvbnMgZ3JhcGhp
Y2FsbHknKTsKICAgfQpJbmRleDogY3Zzd2ViLmNvbmYKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2hvbWUvbmN2cy9wcm9qZWN0cy9jdnN3ZWIvY3Zzd2ViLmNvbmYsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNjQKZGlmZiAtdSAtcjEuNjQgY3Zzd2ViLmNvbmYKLS0tIGN2c3dlYi5j
b25mCTMwIE9jdCAyMDAzIDIwOjA5OjE4IC0wMDAwCTEuNjQKKysrIGN2c3dlYi5jb25mCTE0
IE5vdiAyMDAzIDIyOjQxOjExIC0wMDAwCkBAIC0yNCw3ICsyNCw3IEBACiAKICMgU2VhcmNo
IHRoZSBhYm92ZSBkaXJlY3RvcmllcyBmb3IgZWFjaCBjb21tYW5kIChwcmVmZXIgZ3RhciBv
dmVyIHRhcikuCiAjCi1mb3IgKHF3KGN2cyBybG9nIHJjc2RpZmYgZ3ppcCBndGFyIHppcCBj
dnNncmFwaCBlbnNjcmlwdCkpIHsKK2ZvciAocXcoY3ZzIHJsb2cgcmNzZGlmZiBnemlwIGd0
YXIgemlwIGN2c2dyYXBoIGVuc2NyaXB0IHVuemlwIGRpZmYgcm0gc2hwZGlmZikpIHsKIAkk
Q01EeyRffSA9IHNlYXJjaF9wYXRoKCRfKTsKIH0KICRDTUR7dGFyfSAgID0gZGVsZXRlKCRD
TUR7Z3Rhcn0pIGlmICRDTUR7Z3Rhcn07CkBAIC00Miw3ICs0Miw3IEBACiAjICdzeW1ib2xp
Y19uYW1lJyA9PiBbJ05hbWUgdG8gZGlzcGxheScsICAnL3BhdGgvdG8vY3Zzcm9vdCddCiAj
CiBAQ1ZTcmVwb3NpdG9yaWVzID0gKAotICAgICAgICAnbG9jYWwnICAgPT4gWydMb2NhbCBS
ZXBvc2l0b3J5JywgJy9ob21lL2N2cyddLAorICAgICAgICAnbG9jYWwnICAgPT4gWydMb2Nh
bCBSZXBvc2l0b3J5JywgJy92YXIvd3d3L2h0bWwvY3Zzd2ViL2N2c3Jvb3RfdGVzdCddLAog
IyAgICAgICAnZnJlZWJzZCcgPT4gWydGcmVlQlNEJywgICAgICAgICAgJy9ob21lL25jdnMn
XSwKICMgICAgICAgJ29wZW5ic2QnID0+IFsnT3BlbkJTRCcsICAgICAgICAgICcvaG9tZS9u
Y3ZzJ10sCiAjICAgICAgICduZXRic2QnICA9PiBbJ05ldEJTRCcsICAgICAgICAgICAnL2hv
bWUvbmN2cyddLApAQCAtMzE4LDYgKzMxOCwxOSBAQAogIwogJGlucHV0VGV4dFNpemUgPSAx
MjsKIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjICAgQ3VzdG9tIGRpZmYgdHlwZSBiYXNl
ZCBvbiBtaW1lIHR5cGUKKyMgICAodXNlZCBmb3IgY29tcGFyaW5nIGJpbmFyeSBmaWxlcyBz
dWNoIGFzIHNwcmVhZGhzZWV0cywgaW1hZ2VzKQorIworJURJRkZfQ09NTUFORFMgPSAoCisg
ICAgICAgICJhcHBsaWNhdGlvbi92bmQuYXJjdmlldyIgICA9PiAic2hwZGlmZiIsCisgICAg
ICAgICJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwiICA9PiAiZXhjZWxfZGlmZiIsCispOwor
JURJRkZfT1BUSU9OUyA9ICgKKyAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC5hcmN2aWV3IiAg
ID0+ICIiLAorICAgICAgICAiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsIiAgPT4gIi12dnYi
LAorKTsKKwogIyMjIyMjIyMjIyMjIyMKICMgTWltZSBUeXBlcwogIyMjIyMjIyMjIyMjIyMK
QEAgLTM0Myw4ICszNTYsMTIgQEAKIAkianBnIiAgID0+ICJpbWFnZS9qcGVnIiwKIAkicG5n
IiAgID0+ICJpbWFnZS9wbmciLAogCSJ4cG0iICAgPT4gImltYWdlL3hwbSIsCisJInppcCIg
ICA9PiAiYXBwbGljYXRpb24vemlwIiwKKwkic2hwIiAgID0+ICJhcHBsaWNhdGlvbi92bmQu
YXJjdmlldyIsCisJInhscyIgICA9PiAiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsIiwKICMJ
IioiICAgICA9PiAidGV4dC9wbGFpbiIsCiApOworCiAKICMgVGhlIHRyYWRpdGlvbmFsIG1p
bWUudHlwZXMgZmlsZSwgZWcuIHRoZSBvbmUgZnJvbSBBcGFjaGUgaXMgZmluZS4KICMgU2Vl
IGFib3ZlIHdoZXJlIHRoaXMgZ2V0cyB1c2VkLgo=
--------------070802010309090705080203--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FB5A5D7.9060108>