Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SVNとGitを同期した話~Subgit~
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Skycat
September 20, 2017
Technology
1.9k
1
Share
SVNとGitを同期した話~Subgit~
GitLab Meetup Fukuoka #1 でLTをさせていただいたときの資料です。
https://gitlab-jp.connpass.com/event/64349/
Skycat
September 20, 2017
More Decks by Skycat
See All by Skycat
秒速でFlutterプロジェクトのCI/CD環境を構築した話
skycat_me
2
4.4k
未経験からの挑戦!超速ネイティブアプリ開発
skycat_me
0
1.7k
Other Decks in Technology
See All in Technology
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
910
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
0
160
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
600
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
230
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
78k
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
180
[最強DB講義]推薦システム | 基礎編
recsyslab
PRO
1
170
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
240
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
210
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
350
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
370
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
330
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
150
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
So, you think you're a good person
axbom
PRO
2
2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
How to Talk to Developers About Accessibility
jct
2
180
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
520
Producing Creativity
orderedlist
PRO
348
40k
Transcript
SVNͱGITΛಉظͨ͠ ʙ Subgit ʙ 2017/09/19
ࣗݾհ দຊ ▸ גࣜձࣾϋγΰ ▸ αʔόʔαΠυΤϯδχΞ ▸ Twitter: skycat_me
▸ Facebook: takuya.matsumoto.cat
ϓϩδΣΫτ ▸ SVNཧ ▸ ίʔυϨϏϡʔͭΒ͍ ▸ hook͕͑ͳ͍ʢେਓͷࣄ
ͳʹΑΓ Git ͰΓ͍ͨ GitlabͰιʔεϨϏϡʔΓ͍ͨ… GitlabCIͰࣗಈςετΓ͍ͨ… GitlabͷWebhookͰChatOpsతͳͷΓ͍ͨ…
ͰେਓͷࣄͰ શҠߦͰ͖ͳ͍
Subgit͕ͬͯͭΑͦ͞͏ʂ
શಉظʂ Subversion <=> Git
ίετ… খنͳνʔϜͳΒແྉʢSubgitࣗମͷ
ָͪΜಋೖ ▸ JavaͳͷͰJava͕ඞਢͰ͢ʂʂ ▸ vagrantbox ubuntu/trusty64ڥ # java8 install $
sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer # Subgit install $ wget https://subgit.com/download/subgit_3.2.4_all.deb $ sudo dpkg -i subgit_3.2.4_all.deb $ sudo apt-get install -f
ָͪΜಋೖ ▸ GitRepositoryΛੜͯ͠SubgitίϚϯυΛଧ͚ͭͩʂ $ subgit configure {svn_repository_url} {git_repository} # sugitσΟϨΫτϦ͕ੜ͞ΕΔʂ
# SVNͱGitͷϢʔβϚοϐϯάઃఆ $ vim {git_repository}/subgit/authors.txt matsumoto_takuya = skycat <
[email protected]
> # SVNಉظઃఆʢྫͩͱSVNͷtrunk͕GitͷmasterʹͳΓ·͢) $ vim {git_repository}/subgit/config trunk = :refs/heads/master branches = branches/*:refs/heads/feature/* # SVNΞΫηεใ sshKeyFile = svn private Key userName =UserName
ࡉ͔͍ઃఆ # SVNಉظઃఆʢྫͩͱSVNͷtrunk͕GitͷmasterʹͳΓ·͢) $ vim {git_repository}/subgit/config minimalRevision=630000 SVNͷϦϙδτϦ͕ංେԽͯ͠͠·͍ͬͯΔ߹ɺ ಛఆͷϦϏδϣϯ͔Βಉظ͢Δ͜ͱ͕Մೳʂ Revision630000Ҏ͔߱Βಉظʂ
Քಇʂ # SVNΠϯετʔϧ $ subgit install {git_repository}/subgit/config SVNͷϦϙδτϦ͕ංେԽͯ͠͠·͍ͬͯΔ߹ɺ ಛఆͷϦϏδϣϯ͔Βಉظ͢Δ͜ͱ͕Մೳʂ ޭͨ͠ΒDaemonىಈͯ͠ಉظ͠·͢ʂ
෭࢈͕ͨ͘͞Μʂ ▸ GitlabCEΛཱͯͯίʔυϨϏϡʔ(๑•̀ŷ•́)و✧ ▸ GitlabCIͰࣗಈςετ(๑•̀ŷ•́)و✧ ▸ WebhookͰChatOps(๑•̀ŷ•́)و✧ ▸ Gitͷڭ(๑•̀ŷ•́)و✧
ͨͩɺ͋Δʂ ▸ Subgit͕݁ߏϝϞϦΛ৯͏ʀɻʀ ▸ ϓϩδΣΫτͷ߹্ɺݱࡏ12ݸͷRepositoryΛಉظத ▸ ݱࡏɺGitlabʹRAMΛ8.5GׂΓ͋ͯͯΔ USER PID %CPU
%MEM VSZ RSS git 1628 0.2 2.0 4115984 176568 ? Ssl Aug03 140:12 git 2402 0.5 4.8 4121252 423556 ? Ssl Aug14 294:30 git 12876 0.2 2.6 4118180 232660 ? Ssl Aug03 149:18 git 19817 0.2 2.2 4118304 199232 ? Ssl Aug03 146:00 git 23842 0.2 2.6 4115984 229092 ? Ssl Aug03 145:12 git 24513 0.2 2.7 4115984 238928 ? Ssl Aug03 148:40 git 25977 0.2 3.1 4115984 274436 ? Ssl Aug03 145:21 git 26915 0.5 5.4 4121116 476892 ? Ssl Aug09 308:55 git 27631 0.6 6.9 4118032 603960 ? Ssl Sep15 34:56 git 31213 0.2 2.6 4115984 233760 ? Ssl Aug03 150:43 git 31714 0.6 4.9 4121408 432184 ? Ssl Aug14 326:45 git 32111 0.2 1.9 4115984 172748 ? Ssl Aug03 152:39
ͨͩɺ͋Δʂ ▸ SubgitͷDaemon͕ϝϞϦෆͰ͓ͳ͘ͳΓʹ ▸ ࢹͯ͠ࢮΜͰͨΒੜ͖ฦ͢Α͏ʹ͢Δ ▸ subgit install —recover {git_repository}
▸ ͍ͨͩͭ݁͜ߏ͕͔͔࣌ؒΔʀ ▸ ͦͷؒɺಉظ͕ࢭ·ͬͯ͠·͏ͷͰGitlabͰϚʔδ͕Ͱ ͖ͳ͘ͳͬͨΓɺPushΠϕϯτ͕͜ͳ͘ͳΔ ▸ ݱঢ়ϝϞϦageageͰઓͬͯΔ͚ͲɺͲ͏ʹ͔͍ͨ͠ƅ ƅ´ωAƅ ƅŇűƅŖ
ಋೖͯ͠Α͔ͬͨ͜ͱʂ ▸ Gitܦݧ͕ͳ͔ͬͨϝϯόʔ͕Gitʹ৮ΕΔ͍͍ػձ͕Ͱ͖ͨ ▸ શҠߦͰͳ͘ಉظͳͷͰɺಋೖίετ͕ͱͯগͳ͍ ▸ GitlabͰLGTMը૾ͰΈΜͳϫΠϫΠͬͯͯ࠷ߴʂ ▸ ΤϯδχΞͷίϛϡχέʔγϣϯ͕׆ൃʹʂ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠