-
Notifications
You must be signed in to change notification settings - Fork 9
/
docs-over-time.pl
269 lines (252 loc) · 4.4 KB
/
docs-over-time.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
#!/usr/bin/perl
require "./stats/tag2date.pm";
sub num {
my ($t)=@_;
if($t =~ /^curl-(\d)_(\d+)_(\d+)/) {
return 10000*$1 + 100*$2 + $3;
}
elsif($t =~ /^curl-(\d)_(\d+)/) {
return 10000*$1 + 100*$2;
}
}
sub sortthem {
return num($a) <=> num($b);
}
@alltags= `git tag -l`;
foreach my $t (@alltags) {
chomp $t;
if($t =~ /^curl-([0-9_]*[0-9])\z/) {
push @releases, $t;
}
}
sub docs {
my ($tag) = @_;
# Get source files to count
my @files;
open(G, "git ls-tree -r --name-only $tag -- docs 2>/dev/null|");
while(<G>) {
chomp;
push @files, $_;
}
close(G);
my $cmd;
for(@files) {
$cmd .= "$tag:$_ ";
}
my $lines;
#print STDERR "git show $cmd\n";
open(G, "git show $cmd 2>/dev/null|");
while(<G>) {
$lines++;
}
close(G);
return ($lines);
}
print <<CACHE
2000-03-14;590
2000-03-21;590
2000-03-21;590
2000-08-21;3712
2000-08-30;3762
2000-09-28;3936
2000-10-16;4040
2000-12-04;4390
2001-01-05;4489
2001-01-27;4654
2001-02-13;4811
2001-03-22;5230
2001-04-04;5359
2001-04-23;5730
2001-05-07;5855
2001-06-07;6053
2001-08-20;6214
2001-09-25;6635
2001-11-04;6797
2001-12-05;6949
2002-01-23;7776
2002-02-05;8007
2002-03-07;8608
2002-04-15;9301
2002-05-13;9789
2002-06-13;9878
2002-10-01;10396
2002-10-11;10429
2002-11-18;10555
2003-01-14;10698
2003-04-02;10865
2003-05-19;10926
2003-07-28;11129
2003-08-15;11655
2003-11-01;12215
2004-01-22;12186
2004-03-18;12297
2004-04-26;12376
2004-06-02;12817
2004-08-10;13156
2004-10-18;13558
2004-12-20;14053
2005-02-01;14728
2005-03-04;14874
2005-04-05;14918
2005-05-16;15130
2005-09-01;16116
2005-10-13;16234
2005-12-06;16662
2006-02-27;17419
2006-03-20;17476
2006-06-12;17983
2006-08-07;18217
2006-10-29;19524
2007-01-29;19621
2007-04-11;19784
2007-06-25;19911
2007-07-10;19972
2007-09-13;20093
2007-10-29;20277
2008-01-28;21000
2008-03-30;21354
2008-06-04;21781
2008-09-01;22053
2008-11-05;22275
2008-11-13;22229
2009-01-19;22786
2009-03-02;23249
2009-05-18;23700
2009-08-12;23957
2009-11-04;24349
2010-02-09;24640
2010-04-14;24563
2010-06-16;24780
2010-08-11;25122
2010-10-12;25119
2010-12-15;25622
2011-02-17;25977
2011-04-17;27819
2011-04-22;27857
2011-06-23;27947
2011-09-13;28538
2011-11-14;29393
2011-11-17;29411
2012-01-24;29881
2012-03-22;29989
2012-05-24;30110
2012-07-27;30554
2012-10-10;30914
2012-11-20;31019
2013-02-06;31672
2013-04-12;32214
2013-06-22;32736
2013-08-11;33120
2013-10-13;33380
2013-12-16;33760
2014-01-29;35957
2014-03-26;36179
2014-05-20;36314
2014-07-16;46264
2014-09-10;46513
2014-11-05;47929
2015-01-07;48396
2015-02-25;48639
2015-04-22;49267
2015-04-28;49293
2015-06-17;50907
2015-08-11;51691
2015-10-07;53955
2015-12-01;54184
2016-01-27;54400
2016-02-08;54423
2016-03-23;55154
2016-05-17;56276
2016-05-30;56313
2016-07-21;56465
2016-08-03;56522
2016-09-07;56646
2016-09-14;56695
2016-11-02;55974
2016-12-20;61806
2016-12-22;61806
2017-02-22;59729
2017-02-24;59769
2017-04-19;59566
2017-06-14;62711
2017-08-09;63263
2017-08-13;63281
2017-10-04;65411
2017-10-23;65438
2017-11-29;65503
2018-01-23;65842
2018-03-13;66623
2018-05-15;66902
2018-07-11;68279
2018-09-04;68925
2018-10-30;70395
2018-12-12;70563
2019-02-06;71119
2019-03-27;71446
2019-05-22;71647
2019-06-04;71707
2019-07-17;71729
2019-07-19;71730
2019-09-10;72501
2019-11-05;73039
2020-01-08;73518
2020-03-04;73728
2020-03-11;73738
2020-04-29;74193
2020-06-23;74944
2020-06-30;74972
2020-08-19;75261
2020-10-14;75791
2020-12-09;76670
2021-02-03;77136
2021-03-31;77736
2021-04-14;77769
2021-05-26;78360
2021-07-21;77757
2021-09-14;78542
2021-09-22;78559
2021-11-10;79596
2022-01-05;80975
2022-03-05;79358
2022-04-27;79998
2022-05-11;80112
2022-06-27;81628
2022-08-31;81429
2022-10-26;81848
2022-12-21;82135
2023-02-15;82293
2023-02-20;82303
2023-03-20;82407
2023-03-20;82407
2023-05-17;82813
2023-05-23;82840
2023-05-30;82849
2023-07-19;84118
2023-07-26;84139
2023-09-13;84354
2023-10-11;85541
2023-12-06;87970
2024-01-31;91910
2024-03-27;91503
2024-03-27;91503
2024-05-22;92814
CACHE
;
sub show {
my ($t, $d) = @_;
my ($lines) = docs($t);
printf "$d;%u\n", $lines;
}
foreach my $t (sort sortthem @releases) {
if(num($t) <= 80800) {
next;
}
my $d = tag2date($t);
show($t, $d);
}
$t=`git describe`;
chomp $t;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
my $d = sprintf "%04d-%02d-%02d", $year + 1900, $mon + 1, $mday;
show($t, $d);