[관련 게시물]
2021.04.22 - [미디어위키/미디어위키 설치 및 관리] - 미디어위키(Mediawiki) 1.35 의 주요 특징과 설치 조건
2021.04.24 - [미디어위키/미디어위키 설치 및 관리] - 미디어위키(Mediawiki) 1.35 설치 위한 사전 준비 작업
2021.04.28 - [미디어위키/미디어위키 설치 및 관리] - 미디어위키(Mediawiki) 1.35 LTS 설치 - 터미널 환경(CLI)
2021.04.30 - [미디어위키/미디어위키 설치 및 관리] - Git으로 미디어위키(Mediawiki) 1.35 LTS 설치 - 특정 안정 브랜치(예시 : 1.35.2)
2021.05.05 - [미디어위키/미디어위키 설치 및 관리] - Git으로 미디어위키(Mediawiki) 1.35 LTS 설치 - 전체 브랜치(버전 관리 가능)
2021.05.07 - [미디어위키/미디어위키 설치 및 관리] - Git으로 미디어위키(Mediawiki) 1.35 LTS 설치 - 익스텐션 및 스킨 설치
2021.05.30 - [미디어위키/미디어위키 설치 및 관리] - Git으로 미디어위키(Mediawiki) 1.35 LTS 설치 - 최신 브랜치로 업데이트
2021.05.11 - [미디어위키/미디어위키 설치 및 관리] - 미디어위키(Mediawiki) 1.35 LTS 설치 - 웹브라우저(GUI) 환경 01
2021.05.13 - [미디어위키/미디어위키 설치 및 관리] - 미디어위키(Mediawiki) 1.35 LTS 설치 - 웹브라우저(GUI) 환경 02
안녕하세요. 씨실과 날실입니다.
3회에 걸쳐 Git을 이용해 미디어위키를 설치하고 버전 관리하는 방법에 대해 연재했었습니다. 그러나 개인적으로는 위키 관리자가 전문 개발자가 아니라면 Git을 통한 미디어위키 관리는 그다지 권하지 않는 편입니다.
그 이유는 Git을 어느 정도 다룰 줄 아는 분이라면 Git이 가져다 주는 버전 관리의 용이성때문에 미디어위키도 Git으로 관리하고자 할 것입니다만 만약 위키 관리자가 Git을 다루기 위한 필요 개념과 기술이 부족하면 버전이 꼬이는 등 여러 문제에 부딪치게 될 수 있기 때문입니다.
게다가 조금 번거롭기만 할 뿐 리눅스 미디어위키 공식 사이트에서 배포하는 Tarball 파일 등 압축 아카이브 파일을 가지고 리눅스 기본 명령과 DB 콘솔의 기본 명령만으로 얼마든지 버전을 관리할 수 있고 또한 이 압축 아카이브를 통한 설치는 각 버전이 각기 독립되어 있기 때문에 문제 발생시 초보자라도 손쉽게 복구할 수 있습니다.
그러나 Git을 통한은 버전은 각 버전이 연계되어 있고 Git 사용법을 숙지하고 있지 않으면 버전 관리가 오히려 어려울 수도 있습니다.
그래서 저는 Git을 이용한 미디어위키 버전 관리를 Git 초심자 눈높이에서 미디어위키 버전 관리에 필요한 최소한의 필수 명령만으로 버전 관리하는 방법을 연재했었습니다. 그러나 그것들은 미디어위키가 관리하는 Git 브랜치들 중 어느 정도 안정성을 확인하여 태그를 부여받은 버전들 간 전환을 주로 다룬것이었습니다.
그러나 위키 관리자들 중에는 현재 개발 중인 최신 기술이 적용된 미디어위키를 사용해보거나 사용자들에게 빠르게 선보이고 싶은 분들도 있을 수 있습니다. 만약 기능이 불안정하여 치명적인 문제를 야기하면 Git으로 버전을 되돌리면 문제가 쉽게 해결되므로 위험부담도 덜한 편입니다. 실제로 위키백과 등도 그러 식으로 운영되고 있고 말입니다.
그래서 이번에는 아직 태그가 정식으로 부여되지 않은, 현재 개발 중인 wmf-N 브랜치로 업그레이드하는 방법에 대해 적도록 하겠습니다.
본문으로 들어가기에 앞서 미디어위키를 실제 서비스로 운영하고자 하는 분들 중 Git을 다룰 줄 모르는 비개발자 분들은 가능하면 버전 관리를 Git이 아닌 공식 배포 Tarball 파일 등을 이용하실 것을 권장드립니다.
리눅스 및 미디어위키 초심자, 비개발자에게는 미디어위키 설치 권장 순서는 아래와 같습니다.
1. 미디어위키 공식 사이트에서 배포하는 최신 LTS 버전의 Tarball 압축 파일
2. 미디어위키 공식 사이트에서 배포하는 최신 Stable 버전의 Tarball 압축 파일
3. Git을 이용한 최신 LTS 버전 태그 브랜치 Clone
4. Git을 이용한 최신 Stable 버전 태그 브랜치 Clone
5. Git을 이용한 최신 태그 브랜치 Clone
6. Git을 이용한 비태크 개발 브랜치(wmf-N) Clone
미디어위키 설치 디렉터리 이동
study@study-VirtualBox:~$ cd /var/www/html/w
study@study-VirtualBox:/var/www/html/w
미디어위키가 설치된 디렉터리 이동합니다. 물론 Git으로 설치된 미디어위키이어야 합니다.
시스템에 기록된 미디어위키 태그 확인
study@study-VirtualBox:/var/www/html/w$ git tag -l | sort -V
1.1.0
1.2.0
1.2.0rc1
1.2.0rc2
1.2.0rc3
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.2.6
1.3.0
1.3.0beta1
1.3.0beta2
1.3.0beta3
1.3.0beta4
1.3.0beta4a
1.3.0beta5
1.3.0beta6
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.3.6
1.3.7
1.3.8
1.3.9
1.3.10
1.3.11
1.3.12
1.3.13
1.3.14
1.3.15
1.3.16
1.3.17
1.3.18
1.4.0
1.4.0beta
1.4.0beta1
1.4.0beta2
1.4.0beta4
1.4.0beta5
1.4.0beta6
1.4.0rc1
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.4.6
1.4.7
1.4.8
1.4.9
1.4.10
1.4.11
1.4.12
1.4.13
1.4.14
1.4.15
1.5.0
1.5.0alpha1
1.5.0alpha2
1.5.0beta1
1.5.0beta2
1.5.0beta3
1.5.0beta4
1.5.0rc1
1.5.0rc2
1.5.1
1.5.2
1.5.3
1.5.4
1.5.5
1.5.6
1.5.7
1.5.8
1.6.0
1.6.1
1.6.2
1.6.3
1.6.4
1.6.5
1.6.6
1.6.7
1.6.8
1.6.9
1.6.10
1.6.11
1.6.12
1.7.0
1.7.1
1.7.2
1.7.3
1.8.0
1.8.1
1.8.2
1.8.3
1.8.4
1.8.5
1.9.0
1.9.0rc1
1.9.0rc2
1.9.1
1.9.2
1.9.3
1.9.4
1.9.5
1.9.6
1.10.0
1.10.0rc1
1.10.0rc2
1.10.1
1.10.2
1.10.3
1.10.4
1.11.0
1.11.0rc1
1.11.1
1.11.2
1.12.0
1.12.0rc1
1.12.1
1.12.2
1.12.3
1.12.4
1.13.0
1.13.0rc1
1.13.0rc2
1.13.1
1.13.2
1.13.3
1.13.4
1.13.5
1.14.0
1.14.0rc1
1.14.1
1.15.0
1.15.0rc1
1.15.1
1.15.2
1.15.3
1.15.4
1.15.5
1.16.0
1.16.0beta1
1.16.0beta2
1.16.0beta3
1.16.1
1.16.2
1.16.3
1.16.4
1.16.5
1.17.0
1.17.0beta1
1.17.0rc1
1.17.1
1.17.2
1.17.3
1.17.4
1.17.5
1.18.0
1.18.0beta1
1.18.0rc1
1.18.1
1.18.2
1.18.3
1.18.4
1.18.5
1.18.6
1.19.0
1.19.0beta1
1.19.0beta2
1.19.0rc1
1.19.1
1.19.2
1.19.3
1.19.4
1.19.5
1.19.6
1.19.7
1.19.8
1.19.9
1.19.10
1.19.11
1.19.12
1.19.13
1.19.14
1.19.15
1.19.16
1.19.17
1.19.18
1.19.19
1.19.20
1.19.21
1.19.22
1.19.23
1.19.24
1.20.0
1.20.0rc1
1.20.0rc2
1.20.1
1.20.2
1.20.3
1.20.4
1.20.5
1.20.6
1.20.7
1.20.8
1.21.0
1.21.1
1.21.2
1.21.3
1.21.4
1.21.5
1.21.6
1.21.7
1.21.8
1.21.9
1.21.10
1.21.11
1.22.0
1.22.0rc0
1.22.0rc1
1.22.0rc2
1.22.0rc3
1.22.0rc-FINAL
1.22.1
1.22.2
1.22.3
1.22.4
1.22.5
1.22.6
1.22.7
1.22.8
1.22.9
1.22.10
1.22.11
1.22.12
1.22.13
1.22.14
1.22.15
1.23.0
1.23.0rc0
1.23.0-rc.1
1.23.0-rc.2
1.23.0-rc.3
1.23.1
1.23.2
1.23.3
1.23.4
1.23.5
1.23.6
1.23.7
1.23.8
1.23.9
1.23.10
1.23.11
1.23.12
1.23.13
1.23.14
1.23.15
1.23.16
1.23.17
1.24.0
1.24.0-rc.0
1.24.0-rc.1
1.24.0-rc.2
1.24.0-rc.3
1.24.1
1.24.2
1.24.3
1.24.4
1.24.5
1.24.6
1.25.0
1.25.0-rc.0
1.25.1
1.25.2
1.25.3
1.25.4
1.25.5
1.25.6
1.26.0
1.26.1
1.26.2
1.26.3
1.26.4
1.27.0
1.27.0-rc.0
1.27.0-rc.1
1.27.1
1.27.2
1.27.3
1.27.4
1.27.5
1.27.6
1.27.7
1.28.0
1.28.0-rc.0
1.28.0-rc.1
1.28.1
1.28.2
1.28.3
1.29.0
1.29.0-rc.0
1.29.0-rc.1
1.29.1
1.29.2
1.29.3
1.30.0
1.30.0-rc.0
1.30.1
1.30.2
1.31.0
1.31.0-rc.0
1.31.0-rc.1
1.31.0-rc.2
1.31.1
1.31.2
1.31.3
1.31.4
1.31.5
1.31.6
1.31.7
1.31.8
1.31.9
1.31.10
1.31.11
1.31.12
1.31.13
1.31.14
1.32.0
1.32.0-rc.0
1.32.0-rc.1
1.32.0-rc.2
1.32.1
1.32.2
1.32.3
1.32.4
1.32.5
1.32.6
1.33.0
1.33.0-rc.0
1.33.1
1.33.2
1.33.3
1.33.4
1.34.0
1.34.0-rc.0
1.34.0-rc.1
1.34.1
1.34.2
1.34.3
1.34.4
1.35.0
1.35.0-rc.0
1.35.0-rc.1
1.35.0-rc.2
1.35.0-rc.3
1.35.1
1.35.2
1.36.0-rc.0
wmf-1.36.0-wmf.31-testing
study@study-VirtualBox:/var/www/html/w$
Git으로 미디어위키를 설치 한 후 미디어위키 개발 브랜치들 중 지금까지 사용된 태그들 목록입니다.
위에서 보듯 정말 많은 태그들을 확인할 수 있습니다. 이것만 보더라도 미디어위키 개발의 장구한 역사를 엿볼 수 있습니다. 그러나 실제로 사용자가 이용할 수 있는 태그는 얼마 되지 않습니다.
미디어위키 로컬 저장소에서 사용 가능한 브랜치 확인
study@study-VirtualBox:/var/www/html/w$ git branch -r
origin/HEAD -> origin/master
origin/REL1_23
origin/REL1_25
origin/REL1_26
origin/REL1_27
origin/REL1_28
origin/REL1_29
origin/REL1_30
origin/REL1_31
origin/REL1_32
origin/REL1_33
origin/REL1_34
origin/REL1_35
origin/REL1_36
origin/fundraising/REL1_27
origin/fundraising/REL1_31
origin/fundraising/REL1_35
origin/master
origin/wmf/1.36.0-wmf.31
origin/wmf/1.36.0-wmf.32
origin/wmf/1.36.0-wmf.33
origin/wmf/1.36.0-wmf.34
origin/wmf/1.36.0-wmf.35
origin/wmf/1.36.0-wmf.36
origin/wmf/1.36.0-wmf.37
origin/wmf/1.36.0-wmf.38
origin/wmf/1.37.0-wmf.1
origin/wmf/1.37.0-wmf.2
origin/wmf/1.37.0-wmf.3
study@study-VirtualBox:/var/www/html/w$
미디어위키 로컬 저장소는 Git으로 미디어위키가 설치된디렉터리를 말합니다. 시스템에서 사용할 수 있는 브랜치를 확인할 수 있습니다.
미디어위키 Git 저장소 최신 변경사항 가져와 병합하기
study@study-VirtualBox:/var/www/html/w$ sudo git pull
[sudo] study의 암호:
remote: Counting objects: 2599, done
remote: Finding sources: 100% (6025/6025)
remote: Getting sizes: 100% (845/845)
remote: Compressing objects: 100% (2705984/2705984)
remote: Total 6025 (delta 4484), reused 5622 (delta 4256)
오브젝트를 받는 중: 100% (6025/6025), 6.47 MiB | 4.17 MiB/s, 완료.
델타를 알아내는 중: 100% (4484/4484), 로컬 오브젝트 818개 마침.
https://gerrit.wikimedia.org/r/mediawiki/core URL에서
7b0ec17625..a3d2726bfd REL1_31 -> origin/REL1_31
37d6652145..9aa9950256 REL1_35 -> origin/REL1_35
589fa3c5ba..19912dad7f REL1_36 -> origin/REL1_36
70ea526e9e..4b33035dd7 fundraising/REL1_31 -> origin/fundraising/REL1_31
d449599540..8d4342c9da fundraising/REL1_35 -> origin/fundraising/REL1_35
3e71293b80..4444264dfe master -> origin/master
e18b40c705..0d3c383b78 wmf/1.37.0-wmf.3 -> origin/wmf/1.37.0-wmf.3
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
* [새로운 태그] 1.36.0 -> 1.36.0
Fetching submodule extensions/CategoryTree
https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryTree URL에서
6933f5b..dc1a8bd REL1_31 -> origin/REL1_31
6a69f1a..67d9b60 REL1_35 -> origin/REL1_35
7dbedfd..03489fc REL1_36 -> origin/REL1_36
9db8af8..be05304 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/Cite
https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite URL에서
db249bae..ad2fabcc REL1_31 -> origin/REL1_31
bc16b052..edba6489 REL1_35 -> origin/REL1_35
d8504ae7..19564400 REL1_36 -> origin/REL1_36
9fa1a9cb..d65b9a62 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/CiteThisPage
https://gerrit.wikimedia.org/r/mediawiki/extensions/CiteThisPage URL에서
1b8edf2..2344516 REL1_31 -> origin/REL1_31
8726d12..879a02b REL1_35 -> origin/REL1_35
0206f42..9787e8b REL1_36 -> origin/REL1_36
066bfd2..49368ee master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/CodeEditor
https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeEditor URL에서
4203f2b..f042563 REL1_31 -> origin/REL1_31
1fafe27..e5e6e92 REL1_35 -> origin/REL1_35
fbce328..5eda98c REL1_36 -> origin/REL1_36
c93bb53..669c6a8 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/ConfirmEdit
https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmEdit URL에서
65f3476..c840001 REL1_31 -> origin/REL1_31
2c4f3dd..a9b47a6 REL1_35 -> origin/REL1_35
7850e41..a0ff82b REL1_36 -> origin/REL1_36
59c0ede..90f63d8 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/Gadgets
https://gerrit.wikimedia.org/r/mediawiki/extensions/Gadgets URL에서
7ab92a1..24eef4a REL1_31 -> origin/REL1_31
1e54c80..8f6007d REL1_35 -> origin/REL1_35
169f4ec..d3f83b9 REL1_36 -> origin/REL1_36
d26b18a..70579af master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/ImageMap
https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageMap URL에서
4a45ba4..ccffa6d REL1_31 -> origin/REL1_31
c3d5c10..f67149a REL1_35 -> origin/REL1_35
5232151..966287e REL1_36 -> origin/REL1_36
09017c0..a75210b master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/InputBox
https://gerrit.wikimedia.org/r/mediawiki/extensions/InputBox URL에서
2ab0a14..2ea4d29 REL1_31 -> origin/REL1_31
68d995b..7a55253 REL1_35 -> origin/REL1_35
267a78f..162ad25 REL1_36 -> origin/REL1_36
31db12d..64ffd94 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/Interwiki
https://gerrit.wikimedia.org/r/mediawiki/extensions/Interwiki URL에서
718e96a..a97dff0 REL1_31 -> origin/REL1_31
224d4be..cb13bbd REL1_35 -> origin/REL1_35
88dc5ec..38ddf24 REL1_36 -> origin/REL1_36
ba2da4c..0a6062d master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/LocalisationUpdate
https://gerrit.wikimedia.org/r/mediawiki/extensions/LocalisationUpdate URL에서
ac299fe..2e60a93 REL1_31 -> origin/REL1_31
49cb280..a485c7a REL1_35 -> origin/REL1_35
7fc5f07..e2554a4 REL1_36 -> origin/REL1_36
ceecb0a..1de74e1 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/MultimediaViewer
https://gerrit.wikimedia.org/r/mediawiki/extensions/MultimediaViewer URL에서
69713623..4b9eeba7 REL1_31 -> origin/REL1_31
4b3219b6..f0de2f8a REL1_35 -> origin/REL1_35
4aa866ae..1186602d REL1_36 -> origin/REL1_36
9c4f4cc4..2eafded6 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/Nuke
https://gerrit.wikimedia.org/r/mediawiki/extensions/Nuke URL에서
5147db3..e1050d7 REL1_31 -> origin/REL1_31
3de3b0f..41d816e REL1_35 -> origin/REL1_35
e79b52e..36ff776 REL1_36 -> origin/REL1_36
94cd013..e664bfe master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/OATHAuth
https://gerrit.wikimedia.org/r/mediawiki/extensions/OATHAuth URL에서
b11fea3..f65e5f9 REL1_31 -> origin/REL1_31
2479f52..72fb823 REL1_35 -> origin/REL1_35
9bb97a9..fbba3db REL1_36 -> origin/REL1_36
9e83c73..b569d0a master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/PageImages
https://gerrit.wikimedia.org/r/mediawiki/extensions/PageImages URL에서
08fef09..3a02c20 REL1_31 -> origin/REL1_31
9a2f95e..ee6dbda REL1_35 -> origin/REL1_35
36d64ba..d67d2e8 REL1_36 -> origin/REL1_36
3bb61ff..742d4fb master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/ParserFunctions
https://gerrit.wikimedia.org/r/mediawiki/extensions/ParserFunctions URL에서
9541d89..d78dbdc REL1_31 -> origin/REL1_31
59a9135..bb4c9d2 REL1_35 -> origin/REL1_35
4e072b2..d999660 REL1_36 -> origin/REL1_36
e2d601f..7d1c0ea master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/PdfHandler
https://gerrit.wikimedia.org/r/mediawiki/extensions/PdfHandler URL에서
491f057..151d887 REL1_31 -> origin/REL1_31
8b39cdd..113dc8b REL1_35 -> origin/REL1_35
42afa92..c9705a8 REL1_36 -> origin/REL1_36
a748147..5073f57 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/Poem
https://gerrit.wikimedia.org/r/mediawiki/extensions/Poem URL에서
48f4b1d..a8e452f REL1_31 -> origin/REL1_31
447d8b7..6d76cdd REL1_35 -> origin/REL1_35
69e0951..1f53edb REL1_36 -> origin/REL1_36
9d4e2b7..f7b1d02 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/Renameuser
https://gerrit.wikimedia.org/r/mediawiki/extensions/Renameuser URL에서
e92f315..567baf4 REL1_31 -> origin/REL1_31
2860556..fe4e1fc REL1_35 -> origin/REL1_35
0e223b3..2ec2de9 REL1_36 -> origin/REL1_36
3e194a0..f555edd master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/ReplaceText
https://gerrit.wikimedia.org/r/mediawiki/extensions/ReplaceText URL에서
be197b8..e59e331 REL1_31 -> origin/REL1_31
feb8a9c..7c4fbd1 REL1_35 -> origin/REL1_35
d078860..98a317e REL1_36 -> origin/REL1_36
84c803f..88f82c9 master -> origin/master
Fetching submodule extensions/Scribunto
https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto URL에서
2b2a2c9..15f6ad9 REL1_31 -> origin/REL1_31
d21b655..8119592 REL1_35 -> origin/REL1_35
695f2cd..4044520 REL1_36 -> origin/REL1_36
ca2c778..57a5e5c master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/SecureLinkFixer
https://gerrit.wikimedia.org/r/mediawiki/extensions/SecureLinkFixer URL에서
47f1267..e03db2a REL1_35 -> origin/REL1_35
33f71ca..b7c00c2 REL1_36 -> origin/REL1_36
377aed0..da1cce8 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/SpamBlacklist
https://gerrit.wikimedia.org/r/mediawiki/extensions/SpamBlacklist URL에서
793c8f1..cd0ae6b REL1_31 -> origin/REL1_31
8985313..b2e16d6 REL1_35 -> origin/REL1_35
7b1d5ed..cc5b10a REL1_36 -> origin/REL1_36
b0d900e..2133946 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/SyntaxHighlight_GeSHi
https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi URL에서
f0dca73..c760872 REL1_31 -> origin/REL1_31
0e4cce6..33d7b70 REL1_35 -> origin/REL1_35
37379a2..17c2d64 REL1_36 -> origin/REL1_36
9497613..d3267c4 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/TemplateData
https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateData URL에서
0bf2ec0..6d21a36 REL1_31 -> origin/REL1_31
ba41c7d..6e64a36 REL1_35 -> origin/REL1_35
fef102d..48fa7e1 REL1_36 -> origin/REL1_36
5761506..56f9d8d master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/TextExtracts
https://gerrit.wikimedia.org/r/mediawiki/extensions/TextExtracts URL에서
7ee366d..1d1e2c5 REL1_31 -> origin/REL1_31
4a617d3..b97d859 REL1_35 -> origin/REL1_35
d7f93f5..f079431 REL1_36 -> origin/REL1_36
ee5427f..7a3af1d master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/TitleBlacklist
https://gerrit.wikimedia.org/r/mediawiki/extensions/TitleBlacklist URL에서
a3124b6..dea6e69 REL1_31 -> origin/REL1_31
c8a0844..6c7c0ef REL1_35 -> origin/REL1_35
42dcaca..67533b2 REL1_36 -> origin/REL1_36
b4ceaba..5bccd20 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/VisualEditor
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor URL에서
93dbd12a6..9fa4f9f8c REL1_31 -> origin/REL1_31
c16410ff6..11eeeba20 REL1_35 -> origin/REL1_35
09aed3b20..64b7bb319 REL1_36 -> origin/REL1_36
887857069..243701a52 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/VisualEditor/lib/ve
https://gerrit.wikimedia.org/r/VisualEditor/VisualEditor URL에서
504e7d258..5695586df REL1_35 -> origin/REL1_35
5866b762f..4a5ebddd8 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule extensions/WikiEditor
https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiEditor URL에서
b5647a7..eb26cb3 REL1_31 -> origin/REL1_31
9bc2d0b..028ffe6 REL1_35 -> origin/REL1_35
f2f0c57..ad0cde1 REL1_36 -> origin/REL1_36
c2d73ba..1fc35f7 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule skins/MonoBook
https://gerrit.wikimedia.org/r/mediawiki/skins/MonoBook URL에서
c3f80c4..d74a5d0 REL1_31 -> origin/REL1_31
3a638f6..a667b25 REL1_35 -> origin/REL1_35
2f2b16b..ee4c89a REL1_36 -> origin/REL1_36
7597397..7a0634c master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule skins/Timeless
https://gerrit.wikimedia.org/r/mediawiki/skins/Timeless URL에서
f902346..3f20042 REL1_31 -> origin/REL1_31
c2b39e7..fe0cdbd REL1_35 -> origin/REL1_35
7651929..daaaade REL1_36 -> origin/REL1_36
26cd919..f957776 master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule skins/Vector
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector URL에서
06292be..299cdce REL1_31 -> origin/REL1_31
37d7761..1b03baf REL1_35 -> origin/REL1_35
14e9de9..58c4c8c REL1_36 -> origin/REL1_36
70e61db..cf7657c master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
Fetching submodule vendor
https://gerrit.wikimedia.org/r/mediawiki/vendor URL에서
8705df6f..091e8c9e REL1_36 -> origin/REL1_36
1a095ef4..6a9c0641 fundraising/REL1_35 -> origin/fundraising/REL1_35
1e54795a..55ebbeac master -> origin/master
* [새로운 브랜치] wmf/1.37.0-wmf.4 -> origin/wmf/1.37.0-wmf.4
* [새로운 브랜치] wmf/1.37.0-wmf.5 -> origin/wmf/1.37.0-wmf.5
* [새로운 브랜치] wmf/1.37.0-wmf.6 -> origin/wmf/1.37.0-wmf.6
* [새로운 브랜치] wmf/1.37.0-wmf.7 -> origin/wmf/1.37.0-wmf.7
현재 어떤 브랜치 위에도 있지 않습니다.
어떤 브랜치를 대상으로 병합할지 지정하십시오.
자세한 정보는 git-pull(1) 페이지를 참고하십시오.
git pull <리모트> <브랜치>
study@study-VirtualBox:/var/www/html/w$
Git으로 시스템에 미디어위키를 설치한 이후의 미디어위키 원격 Git 저장소 최신 데이터 즉 변경 사항을 git pull 명령을 사용해 끌어와 병합합니다. pull은 fetch와 merge 명령이 함께 이루어집니다.
여기서 현재 1.37.0-wmf.7 브랜치까지 나왔음을 확인할 수 있습니다.
시스템에서 사용 가능한 태그 재확인
study@study-VirtualBox:/var/www/html/w$ git tag -l | sort -V
1.1.0
1.2.0
- 중략 -
1.35.1
1.35.2
1.36.0
1.36.0-rc.0
wmf-1.36.0-wmf.31-testing
study@study-VirtualBox:/var/www/html/w$
아까 확인 했던 태극 목록과 비교하여 없었던 1.36.0 태그가 추가된 것을 확인할 수 있습니다. rc.N 접미사가 붙이 않은 것을 보아 미디어위키 1.36.0 버전이 공식으로 출시된 것임을 알 수 있습니다. 실제로 미디어위키 공식 사이트에 들어가보면 2021년 5월 28일에 1.36.0 버전이 출시되었음을 확인할 수 있습니다.
이에 대한 보다 자세한 내용은 아래 링클르 참고하시기 바랍니다.
최신 개발 브랜치로 체크아웃
study@study-VirtualBox:/var/www/html/w$ sudo git checkout origin/wmf/1.37.0-wmf.7
warning: unable to rmdir 'extensions/ReplaceText': 디렉터리가 비어있지 않음
파일을 갱신합니다: 100% (6039/6039), 완료.
M extensions/CategoryTree
M extensions/Cite
M extensions/CiteThisPage
M extensions/CodeEditor
M extensions/ConfirmEdit
M extensions/Gadgets
M extensions/ImageMap
M extensions/InputBox
M extensions/Interwiki
M extensions/LocalisationUpdate
M extensions/MultimediaViewer
M extensions/Nuke
M extensions/OATHAuth
M extensions/PageImages
M extensions/ParserFunctions
M extensions/PdfHandler
M extensions/Poem
M extensions/Renameuser
M extensions/Scribunto
M extensions/SecureLinkFixer
M extensions/SpamBlacklist
M extensions/SyntaxHighlight_GeSHi
M extensions/TemplateData
M extensions/TextExtracts
M extensions/TitleBlacklist
M extensions/VisualEditor
M extensions/WikiEditor
M skins/MonoBook
M skins/Timeless
M skins/Vector
M vendor
이전 HEAD 위치는 e5823c068a Prep 1.35.2
HEAD의 현재 위치는 a4faf21254 Update git submodules
study@study-VirtualBox:/var/www/html/w$
여기서 우리는 태그가 붙은 안정 버전 브랜치가 아니라 개발 중인 최신 브랜치로 버전을 전환하고자 하므로 아까 확인했던 최신 브랜치 경로로 체크아웃해줍니다.
warning: unable to rmdir 'extensions/ReplaceText': 디렉터리가 비어있지 않음
태그나 브랜치를 체크아웃하여 버전을 전환하다보면 위와 같이 스킨이나 익스텐션 디렉터리가 비어져 있지 않아 삭제할 수 없다는 문구가 나올 수 있습니다.
이는 전환된 버전의 브랜치에서는 앞으로 배포될 미디어위키 압축 아카이브 파일 안에 해당 스킨이나 익스텐션이 기본 제공 대상으로 선정되지 않았다는 것을 의미합니다.
물론 개발 도중이므로 개발 도중이나 정식으로 출시되었을 때는 다시 포함될 수도 있습니다.
미디어위키 하위 모듈 업데이트(체크아웃)
study@study-VirtualBox:/var/www/html/w$ sudo git submodule update --recursive
하위 모듈 경로 'extensions/CategoryTree': 'e2dfe579eb46d83bfbc38323aa57d25180a9b511' 체크아웃
하위 모듈 경로 'extensions/Cite': '3fc9a8d5830aba1d888904904e72649f359f73a3' 체크아웃
하위 모듈 경로 'extensions/CiteThisPage': 'a0502b169950d60bde18a293d4242482684fb161' 체크아웃
하위 모듈 경로 'extensions/CodeEditor': '2e60af23829173d096cfd83febd2455768059f16' 체크아웃
하위 모듈 경로 'extensions/ConfirmEdit': '2b8751a80ed38ad3a3289d4715fa0fb9c9412abc' 체크아웃
하위 모듈 경로 'extensions/Gadgets': '832dc50d6332d31d83cc9c4600f3c6e2725390f9' 체크아웃
하위 모듈 경로 'extensions/ImageMap': '133c6c4210d7a6188368acc9ad957056537a8f66' 체크아웃
하위 모듈 경로 'extensions/InputBox': 'b1decab75c93a25bb5a0902ce8ba8f57bb99223b' 체크아웃
하위 모듈 경로 'extensions/Interwiki': '0be22a84a0de2a8864e5f039db9db5df645ba11c' 체크아웃
하위 모듈 경로 'extensions/LocalisationUpdate': 'e4f5456bbdeccd2f8cc46824512c9d3bcd37738d' 체크아웃
하위 모듈 경로 'extensions/MultimediaViewer': '704b9ee1ad878dcac23e2dae30b4a928aaaa7aa5' 체크아웃
하위 모듈 경로 'extensions/Nuke': '44e88f06d7ad60656aefdc8e7ed831ab5ce59c9d' 체크아웃
하위 모듈 경로 'extensions/OATHAuth': '1e0e25283b108b1eb1fabdda29996b26d9b16565' 체크아웃
하위 모듈 경로 'extensions/PageImages': '3a44c3610d398df62267f846306c82301c408392' 체크아웃
하위 모듈 경로 'extensions/ParserFunctions': '78613a490261e6dd80d9c0f9275aeecd164e2fb8' 체크아웃
하위 모듈 경로 'extensions/PdfHandler': 'd82137564f14ce6593abc24bc3414f3e6a43f079' 체크아웃
하위 모듈 경로 'extensions/Poem': 'fb2de3fee82f4a39f5474ae786d57020ac8398b9' 체크아웃
하위 모듈 경로 'extensions/Renameuser': '70d099830e376f4e8f0f0328620b17c09b8ff233' 체크아웃
하위 모듈 경로 'extensions/Scribunto': 'a87186be139317554da5c9afcafc0ea0f5183d3c' 체크아웃
하위 모듈 경로 'extensions/SecureLinkFixer': 'c3a5665c6c4a55a8f2566252ad0149cef9945d69' 체크아웃
하위 모듈 경로 'extensions/SpamBlacklist': '7735860a7bb7f583d7448f6cbaa6a251760a5451' 체크아웃
하위 모듈 경로 'extensions/SyntaxHighlight_GeSHi': '78641cb7856624acdffc760ec827e34858902a51' 체크아웃
하위 모듈 경로 'extensions/TemplateData': '6820108ebcb8fc8c62ddfe27ce491b4db44c7b57' 체크아웃
하위 모듈 경로 'extensions/TextExtracts': 'e15f62f4c398cd2e92aef7cc4088a559501432bf' 체크아웃
하위 모듈 경로 'extensions/TitleBlacklist': 'cab0a00d5876a85d582f3b0d023809f76ac7e0d8' 체크아웃
하위 모듈 경로 'extensions/VisualEditor': '94aa05199ffcb474cb23d33259e2bc85c08d095f' 체크아웃
하위 모듈 경로 'extensions/VisualEditor/lib/ve': '63e87da8e4889baa814f4041b94e7dd4a966e973' 체크아웃
하위 모듈 경로 'extensions/WikiEditor': '5d09b63e355422bf7c811ded00e0555fa92d38c3' 체크아웃
하위 모듈 경로 'skins/MonoBook': '551fd112fb675253d1c9baf6f7ba474f1f440bec' 체크아웃
하위 모듈 경로 'skins/Timeless': '47ec3a41bfb0eb00d9a7754bb84e67d7c995397f' 체크아웃
하위 모듈 경로 'skins/Vector': 'd7e22f7f20520276fb00a77fc76509a8a07bec47' 체크아웃
하위 모듈 경로 'vendor': '55ebbeac17cb9c3c929deaaa9d33aeada71770b1' 체크아웃
study@study-VirtualBox:/var/www/html/w$
앞서 체크아웃된 브랜치에 맞춰 미디어위키의 하위 모듈들 즉, 스킨과, 익스텐션 그리고 라이브러리들을 업데이트해줍니다. 여기서 업데이트라 함은 체크아웃된 미디어위키 브랜치에 맞춰 하위모듈들도 체크아웃한다는 의미입니다.
study@study-VirtualBox:/var/www/html/w$ sudo php maintenance/update.php
MediaWiki 1.37.0-wmf.7 Updater
Your composer.lock file is up to date with current dependencies!
Going to run database updates for my_wiki-w_
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0
...collations up-to-date.
...index rc_name_type_patrolled_timestamp already set on recentchanges table.
...rev_page_id index already non-unique.
...pl_namespace, tl_namespace, il_to indices are already non-UNIQUE.
...have ct_id field in change_tag table.
...rc_ip in table recentchanges already modified by patch patch-rc_ip_modify.sql.
...have el_index_60 field in externallinks table.
...ug_user_group key doesn't exist.
...have ug_expiry field in user_groups table.
...img_media_type in table image already modified by patch patch-add-3d.sql.
...ip_changes table already exists.
...index PRIMARY already set on categorylinks table.
...index PRIMARY already set on templatelinks table.
...index PRIMARY already set on pagelinks table.
...index PRIMARY already set on text table.
...index PRIMARY already set on imagelinks table.
...index PRIMARY already set on iwlinks table.
...index PRIMARY already set on langlinks table.
...index PRIMARY already set on log_search table.
...index PRIMARY already set on module_deps table.
...index PRIMARY already set on objectcache table.
...index PRIMARY already set on querycache_info table.
...index PRIMARY already set on site_stats table.
...index PRIMARY already set on user_former_groups table.
...index PRIMARY already set on user_properties table.
...comment table already exists.
...revision_comment_temp table already exists.
...have ar_comment_id field in archive table.
...have fa_description_id field in filearchive table.
...img_description field does not exist in image table, skipping modify field patch.
...have ipb_reason_id field in ipblocks table.
...have log_comment_id field in logging table.
...have oi_description_id field in oldimage table.
...have pt_reason_id field in protected_titles table.
...have rc_comment_id field in recentchanges table.
...have img_description_id field in image table.
...index PRIMARY already set on l10n_cache table.
...bot_passwords.bp_user is already unsigned int.
...change_tag.ct_log_id is already unsigned int.
...change_tag.ct_rev_id is already unsigned int.
...page_restrictions.pr_user is already unsigned int.
...user_newtalk.user_id is already unsigned int.
...user_properties.up_user is already unsigned int.
Making change_tag.ct_rc_id into an unsigned int ...done.
...slots table already exists.
...have slot_origin field in slots table.
...content table already exists.
...slot_roles table already exists.
...content_models table already exists.
...actor table already exists.
...revision_actor_temp table already exists.
...have ar_actor field in archive table.
...have ipb_by_actor field in ipblocks table.
...have img_actor field in image table.
...have oi_actor field in oldimage table.
...have fa_actor field in filearchive table.
...have rc_actor field in recentchanges table.
...have log_actor field in logging table.
...table site_stats already modified by patch patch-site_stats-modify.sql.
...index rc_namespace_title_timestamp already set on recentchanges table.
...change_tag_def table already exists.
Removing 'externallinks.el_index_60' default value
Running maintenance/deduplicateArchiveRevId.php...
...Update 'DeduplicateArchiveRevId' already logged as completed. Use --force to run it again.
done.
...have ct_tag_id field in change_tag table.
...index ar_revid_uniq already set on archive table.
...index log_type_action already set on logging table.
...type_action key doesn't exist.
...index PRIMARY already set on interwiki table.
...index PRIMARY already set on page_props table.
...index PRIMARY already set on protected_titles table.
...index PRIMARY already set on site_identifiers table.
...index rc_this_oldid already set on recentchanges table.
...transcache doesn't exist.
Running maintenance/populateChangeTagDef.php...
...Update 'PopulateChangeTagDef' already logged as completed. Use --force to run it again.
done.
...index change_tag_rc_tag_id already set on change_tag table.
...have ipb_sitewide field in ipblocks table.
...ipblocks_restrictions table already exists.
...change_tag table does not contain ct_tag field.
...valid_tag doesn't exist.
...tag_summary doesn't exist.
...archive table does not contain ar_comment field.
...ipblocks table does not contain ipb_reason field.
...image table does not contain img_description field.
...oldimage table does not contain oi_description field.
...filearchive table does not contain fa_description field.
...recentchanges table does not contain rc_comment field.
...logging table does not contain log_comment field.
...protected_titles table does not contain pt_reason field.
...table job already modified by patch patch-job-params-mediumblob.sql.
...ar_usertext_timestamp key doesn't exist.
...usertext_timestamp key doesn't exist.
...archive table does not contain ar_user field.
...ipblocks table does not contain ip_by field.
...img_user_timestamp key doesn't exist.
...image table does not contain img_user field.
...oldimage table does not contain oi_user field.
...filearchive table does not contain fa_user field.
...recentchanges table does not contain rc_user field.
...logging table does not contain log_user field.
...index un_user_ip already set on user_newtalk table.
...watchlist_expiry table already exists.
...page_restrictions in table page already modified by patch patch-page_restrictions-null.sql.
...index ipb_address_unique already set on ipblocks table.
...have rev_actor field in revision table.
...archive table does not contain ar_text_id field.
...lc_lang is up-to-date.
...ll_lang is up-to-date.
...site_language is up-to-date.
...index ipb_address_unique on table ipblocks has no field ipb_anon_only; added.
...ipb_address_unique index up-to-date.
...actor_name in table actor already modified by patch patch-actor-actor_name-varbinary.sql.
...site_global_key in table sites already modified by patch patch-sites-site_global_key.sql.
...iwl_prefix in table iwlinks already modified by patch patch-extend-iwlinks-iwl_prefix.sql.
Modifying rd_title field of table redirect ...done.
Modifying pl_title field of table pagelinks ...done.
Modifying tl_title field of table templatelinks ...done.
Modifying il_to field of table imagelinks ...done.
Modifying ll_title field of table langlinks ...done.
Modifying iwl_title field of table iwlinks ...done.
Modifying cat_title field of table category ...done.
Modifying qc_title field of table querycache ...done.
Modifying qcc_title field of table querycachetwo ...done.
Modifying wl_title field of table watchlist ...done.
Modifying user_last_timestamp field of table user_newtalk ...done.
Modifying pt_title field of table protected_titles ...done.
Removing 'protected_titles.pt_expiry' default value
Removing 'ip_changes.ipc_rev_timestamp' default value
Removing 'revision_actor_temp.revactor_timestamp' default value
Modifying ir_type field of table ipblocks_restrictions ...done.
Renaming index namespace_title into wl_namespace_title to table watchlist ...done.
Modifying job_title field of table job ...done.
Modifying job_timestamp field of table job ...done.
Modifying job_token_timestamp field of table job ...done.
Modifying wl_notificationtimestamp field of table watchlist ...done.
Modifying role_id field of table slot_roles ...done.
Modifying model_id field of table content_models ...done.
Modifying cl_to field of table categorylinks ...done.
Modifying log_title field of table logging ...done.
Modifying us_timestamp field of table uploadstash ...done.
Renaming index user_properties_property into up_property to table user_properties ...done.
Renaming index sites_global_key into site_global_key to table sites ...done.
Renaming index type_time into log_type_time to table logging ...done.
Modifying fa_name field of table filearchive ...done.
Removing 'filearchive.fa_deleted_timestamp' default value
Removing 'filearchive.fa_timestamp' default value
Modifying oi_name field of table oldimage ...done.
Removing 'oldimage.oi_timestamp' default value
Modifying exptime field of table objectcache ...done.
Removing 'ipblocks.ipb_timestamp' default value
Removing 'ipblocks.ipb_expiry' default value
Renaming index name_title_timestamp into ar_name_title_timestamp to table archive ...done.
Modifying img_name field of table image ...done.
Removing 'image.img_timestamp' default value
Modifying img_timestamp field of table image ...done.
Renaming index site_ids_key into si_key to table site_identifiers ...done.
Modifying rc_title field of table recentchanges ...done.
Removing 'recentchanges.rc_timestamp' default value
Modifying rc_timestamp field of table recentchanges ...done.
Modifying rc_id field of table recentchanges ...done.
Renaming index new_name_timestamp into rc_new_name_timestamp to table recentchanges ...done.
Removing 'archive.ar_timestamp' default value
Modifying ar_title field of table archive ...done.
Modifying page_title field of table page ...done.
Removing 'page.page_touched' default value
Modifying user_name field of table user ...done.
Renaming index page_timestamp into rev_page_timestamp to table revision ...done.
Adding modtoken field to table objectcache ...done.
Removing 'revision.rev_timestamp' default value
...oathauth_users table already exists.
...oathauth_users table does not contain secret_reset field.
...have module field in oathauth_users table.
...oathauth_users table does not contain secret field.
...site_stats is populated...done.
...Update 'populate rev_len and ar_len' already logged as completed. Use --force to run it again.
...Update 'populate rev_sha1' already logged as completed. Use --force to run it again.
...img_sha1 column of image table already populated.
...protocol-relative URLs in externallinks table already fixed.
...fa_sha1 column of filearchive table already populated.
...*_from_namespace column of backlink tables already populated.
...Update 'FixDefaultJsonContentPages' already logged as completed. Use --force to run it again.
...Update 'cleanup empty categories' already logged as completed. Use --force to run it again.
...RFC and PMID already added to interwiki database table.
...Update 'populate pp_sortkey' already logged as completed. Use --force to run it again.
...Update 'populate ip_changes' already logged as completed. Use --force to run it again.
...externallinks table indexes up to date
Purging caches...done.
Done in 3.6 s.
study@study-VirtualBox:/var/www/html/w$
이제 미디어위키의 DB를 업데이트해줍니다.
이때 주의할 점은 혹시 있을지도 모르는오류나 사고를 대비해 DB를 반드시 백업해야 한다는 점입니다.
DB 백업은 위 링크를 참고하시기 바랍니다.
미디어위키 버전 확인
미디어위키 및 그 하위모듈의 브랜치 체크아웃 작업과 DB 업데이트 작업까지 마친 후 웹브라우저로 미디어위키에 접속하여 특수:버전 문서를 보면 위와 같이 미디어위키 버전이 바뀐 것을 확인할 수 있습니다.
이것으로 모든 작업이 무사히 끝난 것으로 생각할 수 있으나 아직 해결할 문제가 있습니다.
시각편집기(VisualEditor) 오류 해결
위키 문서를 비주얼에디터로 편집하고자 할때 아래와 같은 오류 메시지 창이 뜹니다.
Error contacting the Parsoid/RESTBase server (HTTP 404)
이 문제를 해결할 수 있는 도움말이 적혀 있는 문서가 있습니다.
위 링크 문서에서 우리가 읽어야 할 부분은 아래와 같습니다.
Error contacting the Parsoid/RESTBase server (HTTP 404)
Possible reasons for this problem:
Caused by ModSecurity (or possibly another WAF). Request your hosting service provider to whitelist the security rules that were being triggered by your site.
When the web server is Apache, AllowEncodedSlashes NoDecode must be added in the VirtualHost section of the wiki (phabricator:T261921).
Possibly Parsoid is not loaded when using default configuration (local Parsoid, no RestBase). Add to LocalSettings.php: wfLoadExtension( 'Parsoid', 'vendor/wikimedia/parsoid/extension.json' );.
위의 두 경우는 서버의 설정과 관련있습니다.
그러나 제 APM 서버 구축 및 미디어위키 관련 연재를 따라오신 분들과는 관련이 없는 문제일 겁니다.
우리와 관련 있는 것은 마지막 세 번째입니다. 브랜치를 전환하면서 Parsoid가 로드되지 않는 문제입니다.
study@study-VirtualBox:/var/www/html/w$ sudo nano LocalSettings.php
미디어위키 설정 파일인 LocalSettings.php 파일을 열어줍니다.
wfLoadExtension( 'Parsoid', 'vendor/wikimedia/parsoid/extension.json' );
그리고 위 코드를 추가해줍니다. 파일 저장 후 다시 미디어위키에서 비주얼에디터로 편집을 해보면 정상적으로 작동되는 것을 확인할 수 있습니다.
이것으로 모든 작업은 완료되었습니다.
주의할 점은 개발 브랜치는 아직 안정적이지 못하여 예기치 못한 오류가 발생할 수 있습니다.
따라서 브랜치 전환 전과 후에 반드시 DB를 백업해주어야 합니다.
이것으로 Git을 통한 미디어위키 버전 관리 연재는 마무리되었습니다.
이후 미디어위키가 판올림되더라도 Git을 이용한 미디어위키 설치 및 버전 관리 관련 연재는 Git 프로그램 자체의 사용법에 변화가 없는 한 따로 수정하거나 새로 글을 작성하지 않을 생각입니다.
미디어위키 버전이 올라가더라도 실제로 우리가 다루는 것은 Git이라는 프로그램이므로 이 프로그램의 사용법에 변화가 없다면 미디어위키 버전이 올라갈 때마다 재작성하는 것은 무의미하기 때문입니다.
만약 미디어위키 자체와 관련하여 수정할 일이 생긴다면 그것은 미디어위키 원격 Git 저장소의 주소가 바뀌는 경우 정도가 아닐까 싶네요.
제 글이 미디어위키를 다루시고자 하는 분들께 조금이나마 도우미 되기를 바랍니다.
'미디어위키 > 미디어위키 설치 및 관리' 카테고리의 다른 글
미디어위키(Mediawiki) 1.35 LTS 설치 - 웹브라우저(GUI) 환경 02 (0) | 2021.05.13 |
---|---|
미디어위키(Mediawiki) 1.35 LTS 설치 - 웹브라우저(GUI) 환경 01 (0) | 2021.05.11 |
Git으로 미디어위키(Mediawiki) 1.35 LTS 설치 - 익스텐션 및 스킨 설치 (0) | 2021.05.07 |
Git으로 미디어위키(Mediawiki) 1.35 LTS 설치 - 전체 브랜치(버전 관리 가능) (0) | 2021.05.05 |
Git으로 미디어위키(Mediawiki) 1.35 LTS 설치 - 특정 안정 브랜치(예시 : 1.35.2) (0) | 2021.04.30 |
미디어위키(Mediawiki) 1.35 LTS 설치 - 터미널 환경(CLI) (0) | 2021.04.28 |
미디어위키(Mediawiki) 1.35 설치 위한 사전 준비 작업 (0) | 2021.04.24 |
미디어위키(Mediawiki) 1.35 의 주요 특징과 설치 조건 (0) | 2021.04.22 |