[Python-Dev] Re: [Python-checkins] CVS log messages with diffs

Greg Stein gstein@lyra.org
Fri, 19 Nov 1999 13:35:34 -0800 (PST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--1658348780-1256090628-943047334=:10639
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Fri, 19 Nov 1999, Barry A. Warsaw wrote:
> There was a suggestion to start augmenting the checkin emails to
> include the diffs of the checkin.  This would let you keep a current
> snapshot of the tree without having to do a direct `cvs update'.

I've been using diffs-in-checkin for review, rather than to keep a local
snapshot updated. I guess you use the email for this (procmail truly is
frightening), but I think for most people it would be for purposes of
review.

>...context vs unifed...
> So here's an informal poll.  If you don't care either way, you don't
> need to respond.  Otherwise please just respond to me and not to the
> list.
> 
> 1. Would you like to start receiving diffs in the checkin messages?

Absolutely.

> 2. If you answer `yes' to #1 above, would you prefer unified or
>    context diffs?

Don't care.

I've attached an archive of the files that I use in my CVS repository to
do emailed diffs. These came from Ken Coar (an Apache guy) as an
extraction from the Apache repository. Yes, they do use Perl. I'm not a
Perl guy, so I probably would break things if I tried to "fix" the scripts
by converting them to Python (in fact, Greg Ward helped to improve
log_accum.pl for me!). I certainly would not be adverse to Python versions
of these files, or other cleanups.

I trimmed down the "avail" file, leaving a few examples. It works with
cvs_acls.pl to provide per-CVS-module read/write access control.

I'm currently running mod_dav, PyOpenGL, XML-SIG, PyWin32, and two other
small projects out of this repository. It has been working quite well.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

--1658348780-1256090628-943047334=:10639
Content-Type: APPLICATION/octet-stream; name="cvs-for-barry.tar.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.9911191335340.10639@nebula.lyra.org>
Content-Description: 
Content-Disposition: attachment; filename="cvs-for-barry.tar.gz"

H4sIADvBNTgAA+xce3fbNrLvv9anQGXFkho9naTdWLE3bl71uc7j2m57d2NH
hxIpiRuKZPmwoqa+n/3+ZgCQICU/2niTc8+GJycWAcxgMJgZzAwAjs/j9iSI
2iMripbdb/4tj7jf++HBA/GNoKdX+qtexA+9/oN793v37/eF6OPn9jfiwb+H
nOKTxokVCfFNFATJVe2uq/9/+owL8+8FU9efBLfcR7+Hab1/6fz3H3x/L5v/
7T5koX9vu3f/G9G7ZTrWPv/h878pTmaOqKqJr4qJ6znCjUUaO7ZIAjEO/CQK
PLGYORHaQVxQNJ+7SVUARhBQNLcSN/ArmwQXO37SEYx04kZxIvAeLUXgC0t4
rs+4LRE509QD250PYeTEMaDRgTueUW3ixIljA5s1tVwfGBLgst3IGScBMCUz
SxaNZ5Y/ZXwjx/WnYm7ZDihuAbkHgs7phRoCU+3JL8dHr1+fgLCDCboHwbKv
SZD6dota+Ywzcubo03YiEUy4ICcZjEmcCMjCKJhG1lwSEs+C1LNpHCCvzBEa
tZuAJ4nl21Zkoy5Mk05ls7KpGEQoM4Rza0lsB5QjAIC/3pJf7oh5YLsTF20b
lmcBwPWTSZNHA1R3YmY8KKA21AuTXsTewhBGketgWG4ip9j1x15qA6Dh4FcQ
M9MBHIObaPFbGmAqmjTEBfGXcCo6bCkmvjV3Yjmcg4niXxjELs8TVQo7cGLh
B4niuOUvNWNXJSCWhLsx0BF6nhZRffrs+f7PhyfVbCpIMlvCnYC1hXEXCOHe
9w8PhRWGjhVhAi8RO4nE8hbWUqKWPLBs2+UplDKkZJlHQbwAIueDCCKhqKO+
1c8NLWxd/RdSMbTG43TeCT1MVuVLq3zhWbH/Gam31wfs/4PL1/9797bvbZfs
//3+vXtf7f/neDa/7aZx1B25fjd0Io916A1+aPMB+YedtaHtbA5h4KDzsTWF
Xk+iYK4ssTN+D6WBapPikiKT+c6NNi8IpKvjyA0TsXA9T0yjIA2VjY1hJDPg
0ZK6AQLVUYuNIeyyB5TKNmFVigPPtS2sFCZRQq0NDplPso1MHq9X2uyS1Sfj
ZcVxCihB5tRpyzZ6JNOikfcc6xwt5VrCRk9bMWkWiD7Pwg+FRY/bZVagh8SZ
h0FkwSpS15KSJ7SwuqOURoAhP7XOXVv8ZM3DBFbn0Uz+eDx243HQAd49gBwF
S/HcdTxbmqB5cA5Y2CxwjVZlWy4bMF2SKV3mGSj1nYXkLXD8F1a6JwEkXjZj
62l5NN4xWUQgbrgdp9OC1cY4JhMsADAPAvKhyY+Z/BcwgeI4cchmLxzrPXBh
UibulJtLWRkDMVaMoW2dC1rJLc+T62LjpRVhOeg/fPiwCWyVzU94NDPRdRpZ
I8xsEFInTOan4v2VvR47EMsgFQvLl9J19ORYHDxlZtuOl1i85v8dzXtiF3zz
nRZ+9/EbzJFzgJWcyrZRFo1j12a5GAXJTMm1zxPGa2mNGxBGNN4e3A5zyANJ
PpkjteOT/ZNnw1evXz0jw70regNd9uSn/Vcvnj1FWT8r23/6FCVCDkOVHT17
+foXbncvKzt8/UJIfPcx3NrJyzdPD450ZLgras9e/fKxLkvrF+KPP0S9m8zD
OuCfHxw+G745evb84H+4aX0Ty1mnTlgO949PhlSvsFQV3m7towF1QWoLda0C
mRqCAroUglWgI51Pm+B4mFlX18Cx1hGUYsTNelO6TnBgVj6s6+AgUwTz49H+
qyc/abBrYEaR5Y9nBHb888uX+0f/uBmJMKZzWIgq8V45PqUZVKX1C5Jp0iO4
urwSjAy/crSUfiatCcO5FcrFB2apU6m93D84HJ68ztDWpzHZn8feMrI6QTSt
M1vfHP4ja7S2DTp/CaUjU0e9QAPDEC9xR7yJgn+RG7+7J+qIY+x2EgzIpfWW
+FWv3Hl5eAChern/Bogb2rBxa/xoq7UjzvoaUKntnOedtyqi8GSMIhwlSgdl
ysvAb5avQ8d/ccjA4TLAy9Tj/sJlMgt8mPSYVo5BXXRKoOZzFehKnx/mnuIs
+sRLPmgJyIRTeexOjaIVPOH2OMeDl3Vkry9ew4ZfXZ8cSEK1oJ9lojKMV9au
IPZjg0a8tL3H+L8zCiazjhX7HSsdrC0tI2rehg0/TkfwlxKEQJ9sxStxOhIy
Rh1KZ+YjE8zrdaMGa9gSj1mpm5Dzx8OBUfuYgrCYRkRlNX572ztDu1gGpY2q
uNPu/S2utgRhakpg9OZYWPBr7Hk1NPaPlQ2EcQ0P0pfMGgpbbZP/njXFXaFr
qH1T7Invewxk9H33rm5fpIEpqIoqCNi4qGyUcIvOLlV2GLEk8YL/l+MbVC4k
l8bw/Pw0HGK5kb6pySk1CsUL0iEMuAH7iKFLQ6lGH6bxTLVuwe11wkb3XdGE
dr477dQ+uvZFrUvpCwo+GVOzqVDI8FwVFnlqcjP1Qf97w1APq3p0akSLyE2c
IdYFnonCxFMJyUNLcUHPfja8BpEMru5lTatNWo5tF3NafWL5FOhTQ/bIuYOs
5Y6ofXvqVzVHaJ4YnfhX4PqNKqqybtFD3pIHzi2b2axQSO/bwyQYXjWIdYLM
LUnkDJ4VBBvttkzVKKoDZKnAh+sZcRkTNm7GgY3C8NdNJOVELmMAVf6ZSbwZ
6aX5415uOmWfQO7npZd08ApqVw2jpH4N4Y8+hW7Gir4eEbK9NeRywSyYhxkB
GVhxLFdqCqyc7URrrH3ifEiouHGTkUVOkkY+t6Wmixnbekk6axoTSrLP9pBw
twyTjXWj34vxh9cOSRJ+DMkEbqh3ckKrpr1eYQajLU3j1cbulkb/543gzRik
yOuAETccOLkLiFgtX9QpW9/+b58S0Eka1ykfzWuGTPLLNLEVTdO5g+hQ5lmA
JbLgA1MASuEoL4Mc7AyVi19kJJwSZR/ZYK5hY+ScG7Jp8B+DQx39P47Vu6lF
ij8mbvBIuhBY62fuJDE6BhA7E1VuUBXObxCVzFvwmTnwBJQFRwSPOWz/IefO
+eCMmVn1lqiDX/RHsawllI+AnkGsEsCNmoz79ZsagHpHWz236GcvI4LI6757
K06Ts++O8kQ50LqUiu5yw0wINjTj2LHx3KRRF3VWCKpUxNRUm7fbZ7I0IySr
uVeq+V8Rt95lOepWa6W22zqvdbsDSfMFu09S2jCYJo+OBsIEgLh6XWxtZVMo
S7IR35DX0JQ6NYkIaTVj+YapJRknNyQbKfW3o1iWWcGBesmmpzYsF9EA33W+
G/AIV2vensZnd3kV3pEtLjI+5GonGcHSNF+Kx5QmIwHZxD+5/+DGcs/IyJq1
oJN+PRG0GZYEvFESJZwjBTBvkfB2jxsTEhdRKTxPznXGUMxRmlCZ5cUB5VCd
RSzSUMTB3OH8kRMheBW/0qYK7xgRCsrh1mNRpw01okeSUgeOaQDXYTYfACMa
hDDbyVJMg8Du8BCIve0fhfK5PxZiGR4qWcTqafLo0Y/56Pb2tKfteLGjp39T
/REvHL2LN5k4keOPKc3rJAvHkTs+bHmoQUjKEKRxphQtjULu8VkLK3JkUjZL
aurNm5l17mRwot7v9OuEVyOg9jK3kYNQmhhmsN7x0bhTIDqTcchF912j813z
tNN422s/PLvbrCm5q4VKC7dFm/JeqmSoSvuiA9SIviFjVE4yYrYggTvtSJyn
nR4p3aY4iVJ/DNkmAmR2mdpiQJL2ilIAJg02joeZawEr3NOD58+VxqF44xKl
S0NSIS4I+f+IUOXKp3SDJpyipQPfdj7syNpTf/fap0pdd0T12oZYEJWeZbLz
Z4dCRPIrxd4bElywPdHMrq4zL6TAovRoCX9EPe8NBBlk1nl6b2ZG0YAo4tgU
pddnHzivfk6a6QUQYe6gsbcr+r1eT0iH/++8YY7F2XNthzR9tCyhSQKZnMdy
C+H12CKs2YDoK4ws+EUMlMeyxmojdy4WsAG0E673TUaEeRYsxDyFg7CwYu6S
dlWLaH6l/RTa8mZjhJ8+7ZpY5DPADHGaHw4L7TpIQqgfoF4ZTiA7YndDLILo
fUuNyY3rHu9HjKwReGbL/dckcsfvy7QUXmGJa346H8pud7VZNpuw4uRt1ByU
jZxGNo+nYndd4kz5rKL6ttPp8JyGvLvNs2fviDu2Gnswd5MELOx0zii8uyIJ
Z5De3u4NVlqSAzB2GjymFqhuFQFaQgWQRLQKbppFLBeX914xFYFGrnQAaIAI
5osiVNGoQ8WYgCaKZB30YcsI7ZQ3mPn0d9oPY3j12/GdWHr10t3j9ZYVlbTJ
8P4YuRnosvc5Sl3PHs5kAFDwPWWZAgBWB2ZT7Rb8k9LMRtPYGbdqc9dv1SCN
EX7a1hL/Y4GpLR2LvX9umbhzp0H/ZTmumY48jGH9LaaqO71tu5v9x6872X/V
VkUbIri1dLoGA6Su7kDmaKIC/26f/hIhRlMmTzCpgqjOY9IsJ14pMAGyNzO8
bkk0FUpXr9v5jnw8Lt7UMVoCpx9LsmXbEfsXQSRS2PcJaYiEJYcEk17LU94z
K54xFoUjr/rIIOD3BUsTE2sHQxk1xBx6Fkmm9Q1eyLIlshirFE0r2GwS1Dtv
QpSPV8hNV9o+62aYq0auhxcSublzLDMJCht0xFB9mSNQ7QpJGaaxpUTeUCu5
MCiIQnQmF7LcPsFr8UUhONQ0qJCwlNwhp26Itu7EHcuzVYXEo8m0PL8hqnpb
I9/01vYdJoh7ycNY2kzBmP6gA1s2b0Lq/ZVi0oQKRfUk2Mnqy2kV2eI4HdHe
yQ7taaDt/tGLX972zta3PeItFcap92tM3hpNV6ahkLOhJlI/PiUhLhPs4J0v
fgzs5W1sGx9DRUJ4l+duFPgUXKM0nVvxe9Ho9bZ5Q4COKvlu4lqe+7sjRlbs
jsW5Fbm0g00p/pprY4ahpeE0CikDUaOIlCO7fBcWpWxasj22n4+fqT1SQMoq
/G4QmkXq2o3ao2aT8vUozMwZyjfvwF6hblCRmc5SyKkmk6qlYdG1Xe0vxrK6
Zpz/2pWWBBWDCi+8mxJ2V2QrLiVXSaU7VbIdyvszKnj2uRPu922/05FYznjW
N6WgVIk8AQ8cQiLlZYfEhUrzTKpuK4dXbivTuyuNmeCVxmxwV9oSxaqtzBmX
6jGdWb1rZ9VK9sLy6TnjvGMAN42Ps9HBitzY8VkBXhMoaZ0tDg1zPq6QZHT7
s0/YHHWoYRJ4njzoh9laOMI5x6rHMVXoRG2DNEoqkcFA/zSvWDaw9EO0mITM
pD6WFIVWlBjiNCCBkQ1VqlJv6u4WIFhquD7b0C016J+RCChDKxcvjWsAQ1qp
ZZwa6oyIZsxgtdJcKa/R7Se0fchzYXFMmc8U++L6qBPvbKswU55B5COIQKCO
MLkJvPBSDo43pGUezkI0MA+TpXm6qaNYrhWSY9NXJg3dTLUyt2XL9J+MXKFK
bLLBNfONBafKrKlW1xUK2kbLDQTVb5UW/0aJ3dqWq9Yri51e4DDUTLjU1CoY
5wOWtl6W7TxA6EG2MSCRJX6OYMf1ES0d4Ywh32ASC3h+RJdYqlNMxydPD17t
aQ7KhBJ81E3xNAqkgmK+yc/NXIvuuyOVbzjt/sjx+U7X9CniVtZA15OIZS4H
GCkaj2VkL535ltQUw8uQqUvpHmzqAjOXePfEmu50OQsnl4hvszXi8PULhUm2
f6mPWTwnVSBSRXlZUadgBrJf5c9I6H0+MaZB8axC81mYgaa6AH2kzqtl8KvQ
6kzMur4PoQUv5Uxe1jcGO8g5pqDjLvHo1D+7S+kVmkwVJyDslM5SHFpjOaMV
Y07U+Z6h2rWVkyIDSNVtmWOGcgCez/loaHElPPOsCK3O+9ykd8UzY5pXmpAU
6L327rs3Rzu1rgsPQOYypAg7Cz57U6qBTycj2NWq16PEIs3kQ6BUt5pq31CD
IbVXss2WKd/IUOp7jOA+pEOWfK6RU4F6ckae5b9X0XR23NS0iELse3EAJDAx
fKZbzFMEcSEU2oRVdnadXbCDBZ/yNkxzDgnzIBqvgoQPo8Oqc46WD7UzCn12
T4cnoKzFoROv5mMuaBompraZMUPsiXZf2wrO3fDcZfVk3n0nN7q832Ewkz2g
v4DWaFvsIAzCMnpa5Bo1l1QshxrAf0EvPfrbbuuuqJdCNy6lRM/0NgyMU7FW
17DY6OyGISk1tyX6ZUF57qo0cba1xplgPpXvqDy3IRyAyUcAeoniu3dXmPOt
aIMN2cG6Ts3FP1uzRa+VW+ZeYmO1ubE+5mzflMC7NCelOulQCt70z5hOTDEq
dMSj9STEqheoxJ95zWQKj9SJ9M0PMCG0YvYPtwrHPdZSXZjyreLRCgAYRwdz
GH22wly41kLnRyMNYA1tmMi1wOZ5zBxcARfs81pw84DlCnjBwDZVgJIdvNUi
slXc+ARS80hkjnRluSiMLZ9A6TouZg5NV7ZNxAJNYmEelz+YkB1pid9SeXKd
d2VYTPW5VimkktLaMJdQysOtNGPhq2XHmArOcLGGPOHG23dW+/f99j977YfD
7lmzdXpa67em3FRqjDzFlIHRsSXaqSdl1rmIINJJiFjeI5tnWYgN6b9VTN0+
Udxw9e0xDUsbPpTxhiPoxjPHRvVhOg85PlkmfBsnCabMUr66w/GSMuTZDQK4
5sACnCHZ/4m+1TM3zoFKt9uGq1fhDbjAN24S8M8nysrrM/yX+tjyEkUU2OnY
UVl63/J4iXLVCXh9vcy4TwEo0zFf75SvOOSfbuFMlFvZYZHLdL+q/NgswXwp
+Hr9rWof9AYY1pmPKnuhNwBer/9V5YauR4BoBo7mzuWcudL+IxRqmn6YcZB/
V2xnLhjPxTpDkrlQ5QBL7zuVynVoITLJxPMGa8FagPIA1psyPYiNCyOduSJ0
Fyzh+2xyy3KsdctIyz6aQxU8Z481h5alGweI1M2rYCGmji9DPFZJ3jNixuq7
JuyJZblOHSYXJiDzimgXYmZH8voCFVyiQhs30J8bTigjUf0q5IVDPtXrp/Li
L8/o6nzqDWRQI012aX43NvmClUu3RsZLWO3MDVOZUi9zQ8y4nT2OPxnNb5WP
2A4qOrj/0jfj/jOe4v1PqYdDRFLhLd4Avfr+p+h/v32/fP/zQa/39f7n53hu
fv9z3TVJfWlTZz3VtckK7TSOg8he592qTwlo/05fAUosefHSs8ac6gYOugyv
LgQV7lDLa6R/+Rol5xtC+XmDObzKeTonUPN25SfflPsyl9gErPPPxyfqtr3J
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
--1658348780-1256090628-943047334=:10639--