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
Migration d'une base de code subversion vers git
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ubermuda
November 09, 2011
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Migration d'une base de code subversion vers git
ubermuda
November 09, 2011
More Decks by ubermuda
See All by ubermuda
La théorie des graphes appliquée à Git
ubermuda
0
430
Comment Docker révolutionne le web
ubermuda
3
730
Vers des applications twelve-factor
ubermuda
2
1.1k
Git et la théorie des graph
ubermuda
3
1.1k
Introduction à Docker
ubermuda
6
1.1k
Meetup Docker 101
ubermuda
1
240
A multi-container Symfony2 setup with Docker
ubermuda
40
12k
Docker Introduction
ubermuda
5
550
Symfony 2, un framework robuste et moderne
ubermuda
5
220
Other Decks in Technology
See All in Technology
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
190
システム思考で問題に対処する
yussak
0
210
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
170
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
150
第3回しろおびセキュリティスポンサーセッション
log0417
0
160
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.6k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
420
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
ブラウザ研修 2026
recruitengineers
PRO
5
800
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Exploring anti-patterns in Rails
aemeredith
3
460
We Are The Robots
honzajavorek
0
290
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
210
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
56k
Code Review Best Practice
trishagee
74
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Transcript
{ Migration d'une base de code subversion vers git Geoffrey
Bachelet – PMSIpilot Forum PHP 2010
{ PMSIpilot "Le groupe PMSIpilot conçoit, édite et distribue des
logiciels étudiés spécialement pour les établissements de santé."
{ PMSIpilot • 8 logiciels interdépendants • 15 développeurs •
250 000+ lignes de code • 6.5G de dépôt subversion • 24 000+ révisions • Fichiers binaires
{ Pourquoi ? • Flexibilité des branches • Gestion d'un
gros projet • Facilités de backport • Fonctionnalités « bonus »
{ Flexibilité des branches • Coût de création d'une branche
très faible • Branches locales • « feature branches »
{ Gestion d'un gros projet • Gère les sources du
noyau Linux • 17 000+ révisions • Quelques surprises quand même • Fichiers binaires volumineux
{ Facilité des backports • Une branche par version •
« git cherry-pick » • « git rebase [--interactive] »
{ Bonus • « git stash » • « git
add --interactive » • « git rebase --interactive » • « git commit --amend » • Commit en mode déconnecté
{ Migration du dépôt git-svn
{ Problèmes avec git-svn • C'est long (7h d'import) •
Gère mal les tags
{ Solutions ! • Importer un dépôt local (file:///path/to/svn) •
Convertir les « branches tags » en vrais tags • http://gitready.com/advanced/2009/02/16/convert-git-svn • http://blue-dwarf.de/wp/2008/08/30/converting-git-svn-ta • http://progit.org/book/ch8-2.html • …
{ Ne pas oublier ! git svn init --stdlayout
{ Hébergement du serveur Par un tiers ou en interne
?
{ Tiers • Pas de serveur à gérer • Services
autour du dépôt • Large choix • https://git.wiki.kernel.org/index.php/GitHosting • http://stackoverflow.com/questions/109440/best-git-repo
{ Interne • Contrôle des données • Flexibilité • Interfaçage
avec l'existant
{ Gitosis • Authentification des développeurs par clés RSA •
Gestion des droits par utilisateur et par dépôt • Lecture seulement • Lecture / écriture
{ Problème rencontré Fichiers binaires volumineux
{Fichiers binaires volumineux • Consommation mémoire lors du « repack
» • Problème connu • http://www.google.com/search?q=git+fatal+out+memory • 223 000 résultats
{ Solution ? • Avoir une version de git à
jour • « git repack -adf » • Echoue sur notre serveur (4Go de RAM, 32bits)
{ Solution ! git help repack --window --window-memory --max-pack-size
{ git filter-branch Réécrire l'histoire
{ Réécrire l'histoire git filter-branch --index-filter 'git rm bigfile' --
--all
{ Réécrire l'histoire git filter-branch –index-filter 'git rm bigfile' --
--all
{ Réécrire l'histoire • http://progit.org/book/ch9-7.html • git help filter-branch •
Beaucoup d'outils dans git • git count-objects • git rev-list • git verify-pack • etc
{ Réécrire l'histoire N'en faites pas trop quand même.
{ Les grafts Réécrire l'histoire
{ Les grafts Deux dépôts, zéro commits communs.
{ Les grafts
{ Les grafts
{ Les grafts
{ Les grafts
{ Les grafts « .git/info/grafts »
{ <commit SHA1> <parent SHA1> Les grafts
{ Les grafts dc5b6cfa
{ Les grafts 746f0b6b
{ Les grafts <commit> <parent> dc5b6cfa 746f0b6b
{ Les grafts
{ Les grafts git help filter-branch NOTE: This command honors
.git/info/grafts. If you have any grafts defined, running this command will make them permanent.
{ Les grafts « git filter-branch -- dc5b6cfa..unrelated-master »
{ Les grafts
{ Les grafts git reset –hard unrelated-master
{ Les grafts
{ BLACK MAGIC VOODOO
{ Les développeurs
{ Les développeurs • Nouveau workflow • Similaire à l'ancien
pour commencer • Nouveaux logiciels • git, gitk, gitx • Redmine • PHPStorm
{ Les développeurs • Formation interne • Réunions techniques •
Référents internes • Auto-formation
{ Auto-formation • http://progit.org/ • http://git-scm.com/documentation • http://help.github.com/ • http://gitref.org/
• etc.
{ Problème rencontré Beaucoup de nouveaux concepts
{ Nouveaux concepts • Fonctionnement en mode distribué • Confusion
entre « remote » et « branche » • Confusion entre « commit » et « push » • Confusion sur le « pull » et le « merge » • Vocabulaire différent • « revert » vs « checkout » / « reset »
{ Nouveaux concepts Oubliez tout ce que vous croyez savoir.
{ Vraiment.
{ Questions ?
{ C'est fini ! • Merci à l'AFUP • Merci
à PMSIpilot (on recrute !) • Merci à vous !