PostgreSQL

pgBouncer 소스 수정량 확인

남용2 2019. 10. 11. 13:59
  • 소스코드 수정량을 비교할 버전은 1.5, 1.6, 1.7, 1.8, 1.9이다.
  • 소스코드 수정량 정리
파일명 1.5 버전 전체 수 1.6 버전 전체 수 1.7 버전 전체 수 1.8 버전 전체 수 1.9 버전 전체 수 1.6 버전에 수정된 라인 수 1.7 버전에 수정된 라인 수 1.8 버전에 수정된 라인 수 1.9 버전에 수정된 라인 수
admin.c 1406 1520 1534 1567 1666 169 21 60 108

client.c

440 640 729 767 771 284 155 54 16

dnslookup.c

1145 1665 1665 1665 1664 547 0 0 2
hba.c - - 737 743 741 - 738 12 5

janitor.c

671 673 673 675 732 35 0 6 64

loader.c

520 619 619 625 624 130 2 15 4

main.c

786 805 862 948 951 28 64 105 21

objects.c

1403 1587 1587 1668 1669 223 0 95 7

pam.c

- - - 426 427 - - 428 7

pktbuf.c

431 475 474 480 479 49 6 9 7

pooler.c

472 481 481 481 480 22 4 0 6

proto.c

427 436 415 415 414 27 12 0 5
sbuf.c 717 723 1157 1176 1177 26 447 24 12

server.c

434 476 565 581 582 60 95 21 8

stats.c

212 212 212 383 382 0 0 197 6

system.c

122 124 144 144 143 6 21 0 6

takeover.c

339 348 348 360 359 21 0 13 7

util.c

431 445 445 445 442 92 0 3 6
varcache.c 179 179 179 185 184 2 0 7 4
합계 10135 11408 12826 13734 13887 1721 1565 1048 301

소스코드 수정량 확인 방법

[bylee@bylee5 pgbouncer]$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/stable-1.5
  remotes/origin/stable-1.6
[bylee@bylee5 pgbouncer]$ git branch 1.6 origin/stable-1.6
1.6 브랜치가 리모트의 stable-1.6 브랜치를 (origin에서) 따라가도록 설정되었습니다.
[bylee@bylee5 pgbouncer]$ git branch 1.5 origin/stable-1.5
1.5 브랜치가 리모트의 stable-1.5 브랜치를 (origin에서) 따라가도록 설정되었습니다.
[bylee@bylee5 pgbouncer]$ git checkout 1.5
'1.5' 브랜치로 전환합니다
브랜치가 'origin/stable-1.5'에 맞게 업데이트된 상태입니다.
[bylee@bylee5 pgbouncer]$ git branch -a
* 1.5
  1.6
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/stable-1.5
  remotes/origin/stable-1.6
[bylee@bylee5 pgbouncer]$ find  src -name '*.[hcly]' | xargs wc -l | tail -n 1
 10135 합계
[bylee@bylee5 pgbouncer]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs wc -l | tail -n 1; done
admin.c
1406 src/admin.c
client.c
440 src/client.c
dnslookup.c
1145 src/dnslookup.c
janitor.c
671 src/janitor.c
loader.c
520 src/loader.c
main.c
786 src/main.c
objects.c
1403 src/objects.c
pktbuf.c
431 src/pktbuf.c
pooler.c
472 src/pooler.c
proto.c
427 src/proto.c
sbuf.c
717 src/sbuf.c
server.c
434 src/server.c
stats.c
212 src/stats.c
system.c
122 src/system.c
takeover.c
339 src/takeover.c
util.c
431 src/util.c
varcache.c
179 src/varcache.c
[bylee@bylee5 pgbouncer]$ git checkout 1.6
'1.6' 브랜치로 전환합니다
브랜치가 'origin/stable-1.6'에 맞게 업데이트된 상태입니다.
[bylee@bylee5 pgbouncer]$ find  src -name '*.[hcly]' | xargs wc -l | tail -n 1
 11408 합계
[bylee@bylee5 pgbouncer]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs wc -l | tail -n 1; done
admin.c
1520 src/admin.c
client.c
640 src/client.c
dnslookup.c
1665 src/dnslookup.c
janitor.c
673 src/janitor.c
loader.c
619 src/loader.c
main.c
805 src/main.c
objects.c
1587 src/objects.c
pktbuf.c
475 src/pktbuf.c
pooler.c
481 src/pooler.c
proto.c
436 src/proto.c
sbuf.c
723 src/sbuf.c
server.c
476 src/server.c
stats.c
212 src/stats.c
system.c
124 src/system.c
takeover.c
348 src/takeover.c
util.c
445 src/util.c
varcache.c
179 src/varcache.c
[bylee@bylee5 pgbouncer]$
 
--1.7, 1.8, 1.9에 대한 tag가 없어서 직접 .tar 파일을 받아서 확인한다.
--1.7 확인
[bylee@bylee5 install]$ cd pgbouncer-pgbouncer_1_7
[bylee@bylee5 pgbouncer-pgbouncer_1_7]$ ll
합계 104
-rw-rw-r--. 1 bylee bylee   762 12월 19  2015 AUTHORS
-rw-rw-r--. 1 bylee bylee   819 12월 19  2015 COPYRIGHT
-rw-rw-r--. 1 bylee bylee  3755 12월 19  2015 Makefile
-rw-rw-r--. 1 bylee bylee 34092 12월 19  2015 NEWS.rst
-rw-rw-r--. 1 bylee bylee  4638 12월 19  2015 README.rst
-rwxrwxr-x. 1 bylee bylee    44 12월 19  2015 autogen.sh
-rw-rw-r--. 1 bylee bylee  1500 12월 19  2015 config.mak.in
-rw-rw-r--. 1 bylee bylee  4254 12월 19  2015 configure.ac
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2015 debian
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2015 doc
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2015 etc
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2015 include
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2015 lib
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2015 src
drwxrwxr-x. 3 bylee bylee  4096 12월 19  2015 test
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2015 win32
[bylee@bylee5 pgbouncer-pgbouncer_1_7]$ find  src -name '*.[hcly]' | xargs wc -l | tail -n 1
 12826 합계
[bylee@bylee5 pgbouncer-pgbouncer_1_7]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs wc -l | tail -n 1; done
admin.c
1534 src/admin.c
client.c
729 src/client.c
dnslookup.c
1665 src/dnslookup.c
hba.c
737 src/hba.c
janitor.c
673 src/janitor.c
loader.c
619 src/loader.c
main.c
862 src/main.c
objects.c
1587 src/objects.c
pktbuf.c
474 src/pktbuf.c
pooler.c
481 src/pooler.c
proto.c
415 src/proto.c
sbuf.c
1157 src/sbuf.c
server.c
565 src/server.c
stats.c
212 src/stats.c
system.c
144 src/system.c
takeover.c
348 src/takeover.c
util.c
445 src/util.c
varcache.c
179 src/varcache.c
[bylee@bylee5 pgbouncer-pgbouncer_1_7]$
 
 
 
--1.8 확인
[bylee@bylee5 install]$ cd pgbouncer-pgbouncer_1_8/
[bylee@bylee5 pgbouncer-pgbouncer_1_8]$ ll
합계 108
-rw-rw-r--. 1 bylee bylee   762 12월 19  2017 AUTHORS
-rw-rw-r--. 1 bylee bylee   831 12월 19  2017 COPYRIGHT
-rw-rw-r--. 1 bylee bylee  3669 12월 19  2017 Makefile
-rw-rw-r--. 1 bylee bylee 38056 12월 19  2017 NEWS.rst
-rw-rw-r--. 1 bylee bylee  4903 12월 19  2017 README.rst
-rwxrwxr-x. 1 bylee bylee    44 12월 19  2017 autogen.sh
-rw-rw-r--. 1 bylee bylee  1500 12월 19  2017 config.mak.in
-rw-rw-r--. 1 bylee bylee  5196 12월 19  2017 configure.ac
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2017 debian
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2017 doc
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2017 etc
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2017 include
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2017 lib
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2017 src
drwxrwxr-x. 3 bylee bylee  4096 12월 19  2017 test
drwxrwxr-x. 2 bylee bylee  4096 12월 19  2017 win32
[bylee@bylee5 pgbouncer-pgbouncer_1_8]$ find  src -name '*.[hcly]' | xargs wc -l | tail -n 1
 13734 합계
[bylee@bylee5 pgbouncer-pgbouncer_1_8]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs wc -l | tail -n 1; done
admin.c
1567 src/admin.c
client.c
767 src/client.c
dnslookup.c
1665 src/dnslookup.c
hba.c
743 src/hba.c
janitor.c
675 src/janitor.c
loader.c
625 src/loader.c
main.c
948 src/main.c
objects.c
1668 src/objects.c
pam.c
426 src/pam.c
pktbuf.c
480 src/pktbuf.c
pooler.c
481 src/pooler.c
proto.c
415 src/proto.c
sbuf.c
1176 src/sbuf.c
server.c
581 src/server.c
stats.c
383 src/stats.c
system.c
144 src/system.c
takeover.c
360 src/takeover.c
util.c
445 src/util.c
varcache.c
185 src/varcache.c
[bylee@bylee5 pgbouncer-pgbouncer_1_8]$
 
 
 
--1.9 확인
[bylee@bylee5 install]$ cd pgbouncer-1.9.0/
[bylee@bylee5 pgbouncer-1.9.0]$ ll
합계 1825268
-rw-r--r--. 1 bylee bylee        762  7월 27 06:33 AUTHORS
-rw-r--r--. 1 bylee bylee        831  7월 19 13:57 COPYRIGHT
-rw-r--r--. 1 bylee bylee       3685  7월 27 06:33 Makefile
-rw-r--r--. 1 bylee bylee      39210  8월 13 15:55 NEWS.rst
-rw-r--r--. 1 bylee bylee       4936  7월 23 20:27 README.rst
-rwxr-xr-x. 1 bylee bylee         42  7월 27 06:33 autogen.sh
drwxrwxr-x. 2 bylee bylee       4096 11월  5 16:52 bin
-rwxr-xr-x. 1 bylee bylee      42938  8월 13 15:59 config.guess
-rw-rw-r--. 1 bylee bylee     143578 11월  5 16:49 config.log
-rw-rw-r--. 1 bylee bylee       1798 11월  5 16:49 config.mak
-rw-r--r--. 1 bylee bylee       1500  7월 27 06:33 config.mak.in
-rwxrwxr-x. 1 bylee bylee      31312 11월  5 16:49 config.status
-rwxr-xr-x. 1 bylee bylee      35994  8월 13 15:59 config.sub
-rwxr-xr-x. 1 bylee bylee     249856  8월 13 15:59 configure
-rw-r--r--. 1 bylee bylee       5198  8월  8 05:07 configure.ac
drwxr-xr-x. 2 bylee bylee       4096 11월  5 16:44 debian
drwxr-xr-x. 2 bylee bylee       4096 11월  5 16:44 doc
drwxr-xr-x. 2 bylee bylee       4096 11월  5 16:44 etc
drwxr-xr-x. 2 bylee bylee       4096 11월  5 16:44 include
-rwxr-xr-x. 1 bylee bylee      14675  8월 13 15:59 install-sh
drwxr-xr-x. 5 bylee bylee       4096 11월  5 16:44 lib
-rwxrwxr-x. 1 bylee bylee    1627952 11월  5 16:52 pgbouncer
-rw-rw-r--. 1 bylee bylee        394 11월 12 14:39 pgbouncer.ini
-rw-rw-r--. 1 bylee bylee 1866772975 11월 12 15:16 pgbouncer.log
-rw-r--r--. 1 bylee bylee          6 11월 12 14:10 pgbouncer.pid
drwxrwxr-x. 4 bylee bylee       4096 11월  5 16:52 share
drwxr-xr-x. 2 bylee bylee       4096  8월 13 16:00 src
drwxr-xr-x. 3 bylee bylee       4096 11월  5 16:44 test
-rw-rw-r--. 1 bylee bylee         15 11월  5 17:09 users.txt
drwxr-xr-x. 2 bylee bylee       4096 11월  5 16:44 win32
[bylee@bylee5 pgbouncer-1.9.0]$ find  src -name '*.[hcly]' | xargs wc -l | tail -n 1
 13887 합계
[bylee@bylee5 pgbouncer-1.9.0]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs wc -l | tail -n 1; done
admin.c
1666 src/admin.c
client.c
771 src/client.c
dnslookup.c
1664 src/dnslookup.c
hba.c
741 src/hba.c
janitor.c
732 src/janitor.c
loader.c
624 src/loader.c
main.c
951 src/main.c
objects.c
1669 src/objects.c
pam.c
427 src/pam.c
pktbuf.c
479 src/pktbuf.c
pooler.c
480 src/pooler.c
proto.c
414 src/proto.c
sbuf.c
1177 src/sbuf.c
server.c
582 src/server.c
stats.c
382 src/stats.c
system.c
143 src/system.c
takeover.c
359 src/takeover.c
util.c
442 src/util.c
varcache.c
184 src/varcache.c
[bylee@bylee5 pgbouncer-1.9.0]$
--1.6 수정량 확인
[bylee@bylee5 pgbouncer]$ git branch -a
  1.5
* 1.6
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/stable-1.5
  remotes/origin/stable-1.6
[bylee@bylee5 pgbouncer]$ find  src -name '*.[hcly]' | xargs git diff 1.5 | grep ^+ | wc -l
1721
[bylee@bylee5 pgbouncer]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs git diff 1.5 | grep ^+ | wc -l; done
admin.c
169
client.c
284
dnslookup.c
547
janitor.c
35
loader.c
130
main.c
28
objects.c
223
pktbuf.c
49
pooler.c
22
proto.c
27
sbuf.c
26
server.c
60
stats.c
0
system.c
6
takeover.c
21
util.c
92
varcache.c
2
 
--1.7 수정량 확인
[bylee@bylee5 install]$ diff -Naur pgbouncer/src pgbouncer-pgbouncer_1_7/src > 1_7.patch
[bylee@bylee5 install]$ cd pgbouncer
[bylee@bylee5 pgbouncer]$ patch -p1 < ../1_7.patch
patching file src/admin.c
patching file src/client.c
patching file src/hba.c
patching file src/loader.c
patching file src/main.c
patching file src/pktbuf.c
patching file src/pooler.c
patching file src/proto.c
patching file src/sbuf.c
patching file src/server.c
patching file src/system.c
[bylee@bylee5 pgbouncer]$ git branch -a
  1.5
  1.6
* 1.7
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/stable-1.5
  remotes/origin/stable-1.6
[bylee@bylee5 pgbouncer]$ git status
현재 브랜치 1.7
커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (작업 폴더의 변경 사항을 버리려면 "git checkout -- <파일>..."을 사용하십시오)
 
    수정함:        src/admin.c
    수정함:        src/client.c
    수정함:        src/loader.c
    수정함:        src/main.c
    수정함:        src/pktbuf.c
    수정함:        src/pooler.c
    수정함:        src/proto.c
    수정함:        src/sbuf.c
    수정함:        src/server.c
    수정함:        src/system.c
 
추적하지 않는 파일:
  (커밋할 사항에 포함하려면 "git add <파일>..."을 사용하십시오)
 
    src/hba.c
 
커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)
[bylee@bylee5 pgbouncer]$ git add *
[bylee@bylee5 pgbouncer]$ git status
현재 브랜치 1.7
커밋할 변경 사항:
  (스테이지 해제하려면 "git reset HEAD <파일>..."을 사용하십시오)
 
    수정함:        src/admin.c
    수정함:        src/client.c
    새 파일:       src/hba.c
    수정함:        src/loader.c
    수정함:        src/main.c
    수정함:        src/pktbuf.c
    수정함:        src/pooler.c
    수정함:        src/proto.c
    수정함:        src/sbuf.c
    수정함:        src/server.c
    수정함:        src/system.c
 
[bylee@bylee5 pgbouncer]$ git commit -m "1.7"
[bylee@bylee5 pgbouncer]$ git branch -a
  1.5
  1.6
* 1.7
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/stable-1.5
  remotes/origin/stable-1.6
[bylee@bylee5 pgbouncer]$ find  src -name '*.[hcly]' | xargs git diff 1.6 | grep ^+ | wc -l
1565
[bylee@bylee5 pgbouncer]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs git diff 1.6 | grep ^+ | wc -l; done
admin.c
21
client.c
155
dnslookup.c
0
hba.c
738
janitor.c
0
loader.c
2
main.c
64
objects.c
0
pktbuf.c
6
pooler.c
4
proto.c
12
sbuf.c
447
server.c
95
stats.c
0
system.c
21
takeover.c
0
util.c
0
varcache.c
0
 
 
 
 
 
 
--1.8 수정량 확인
[bylee@bylee5 pgbouncer]$ git checkout -b 1.8
새로 만든 '1.8' 브랜치로 전환합니다
[bylee@bylee5 pgbouncer]$ cd ..
[bylee@bylee5 install]$ diff -Naur pgbouncer/src pgbouncer-pgbouncer_1_8/src > 1_8.patch
[bylee@bylee5 install]$ cd pgbouncer
[bylee@bylee5 pgbouncer]$ patch -p1 < ../1_8.patch
patching file src/admin.c
patching file src/client.c
patching file src/hba.c
patching file src/janitor.c
patching file src/loader.c
patching file src/main.c
patching file src/objects.c
patching file src/pam.c
patching file src/pktbuf.c
patching file src/sbuf.c
patching file src/server.c
patching file src/stats.c
patching file src/takeover.c
patching file src/util.c
patching file src/varcache.c
[bylee@bylee5 pgbouncer]$ git status
현재 브랜치 1.8
커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (작업 폴더의 변경 사항을 버리려면 "git checkout -- <파일>..."을 사용하십시오)
 
    수정함:        src/admin.c
    수정함:        src/client.c
    수정함:        src/hba.c
    수정함:        src/janitor.c
    수정함:        src/loader.c
    수정함:        src/main.c
    수정함:        src/objects.c
    수정함:        src/pktbuf.c
    수정함:        src/sbuf.c
    수정함:        src/server.c
    수정함:        src/stats.c
    수정함:        src/takeover.c
    수정함:        src/util.c
    수정함:        src/varcache.c
 
추적하지 않는 파일:
  (커밋할 사항에 포함하려면 "git add <파일>..."을 사용하십시오)
 
    src/pam.c
 
커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)
[bylee@bylee5 pgbouncer]$ git add *
[bylee@bylee5 pgbouncer]$ git commit -m "1.8"
[1.8 5b26c8b] 1.8
 15 files changed, 1033 insertions(+), 124 deletions(-)
 create mode 100644 src/pam.c
[bylee@bylee5 pgbouncer]$ find  src -name '*.[hcly]' | xargs git diff 1.7 | grep ^+ | wc -l
1048
[bylee@bylee5 pgbouncer]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs git diff 1.7 | grep ^+ | wc -l; done
admin.c
60
client.c
54
dnslookup.c
0
hba.c
12
janitor.c
6
loader.c
15
main.c
105
objects.c
94
pam.c
428
pktbuf.c
9
pooler.c
0
proto.c
0
sbuf.c
24
server.c
21
stats.c
197
system.c
0
takeover.c
13
util.c
3
varcache.c
7
 
 
--1.9 수정량 확인
[bylee@bylee5 pgbouncer]$ git checkout -b 1.9
새로 만든 '1.9' 브랜치로 전환합니다
[bylee@bylee5 pgbouncer]$ cd ..
[bylee@bylee5 install]$ diff -Naur pgbouncer/src pgbouncer-1.9.0/src > 1_9.patch
[bylee@bylee5 install]$ cd pgbouncer
[bylee@bylee5 pgbouncer]$ patch -p1 < ../1_9.patch
patching file src/admin.c
patching file src/client.c
patching file src/dnslookup.c
patching file src/hba.c
patching file src/janitor.c
patching file src/loader.c
patching file src/main.c
patching file src/objects.c
patching file src/pam.c
patching file src/pktbuf.c
patching file src/pooler.c
patching file src/proto.c
patching file src/sbuf.c
patching file src/server.c
patching file src/stats.c
patching file src/system.c
patching file src/takeover.c
patching file src/util.c
patching file src/varcache.c
[bylee@bylee5 pgbouncer]$ git status
현재 브랜치 1.9
커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (작업 폴더의 변경 사항을 버리려면 "git checkout -- <파일>..."을 사용하십시오)
 
    수정함:        src/admin.c
    수정함:        src/client.c
    수정함:        src/dnslookup.c
    수정함:        src/hba.c
    수정함:        src/janitor.c
    수정함:        src/loader.c
    수정함:        src/main.c
    수정함:        src/objects.c
    수정함:        src/pam.c
    수정함:        src/pktbuf.c
    수정함:        src/pooler.c
    수정함:        src/proto.c
    수정함:        src/sbuf.c
    수정함:        src/server.c
    수정함:        src/stats.c
    수정함:        src/system.c
    수정함:        src/takeover.c
    수정함:        src/util.c
    수정함:        src/varcache.c
 
커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)
[bylee@bylee5 pgbouncer]$ git add *
[bylee@bylee5 pgbouncer]$ git commit -m "1.9"
[1.9 efad1cf] 1.9
 19 files changed, 282 insertions(+), 130 deletions(-)
[bylee@bylee5 pgbouncer]$ find  src -name '*.[hcly]' | xargs git diff 1.8 | grep ^+ | wc -l
301
[bylee@bylee5 pgbouncer]$ for d in `ls src`; do echo $d; find src/$d -name '*.[hcly]' | xargs git diff 1.8 | grep ^+ | wc -l; done
admin.c
108
client.c
16
dnslookup.c
2
hba.c
5
janitor.c
64
loader.c
4
main.c
21
objects.c
7
pam.c
7
pktbuf.c
7
pooler.c
6
proto.c
5
sbuf.c
12
server.c
8
stats.c
6
system.c
6
takeover.c
7
util.c
6
varcache.c
4
[bylee@bylee5 pgbouncer]$ cd ..
[bylee@bylee5 install]$ diff -Naur pgbouncer/src pgbouncer-1.9.0/src
[bylee@bylee5 install]$