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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ubermuda
November 09, 2011
Technology
130
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
420
Comment Docker révolutionne le web
ubermuda
3
720
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
210
Other Decks in Technology
See All in Technology
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
680
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
110
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
RAG を使わないという選択肢
tatsutaka
1
230
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
140
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
240
フロンティアAIのゲート化と地政学リスク
nagatsu
0
140
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
330
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
自宅LLMの話
jacopen
1
570
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
7
1.9k
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
200
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
490
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Navigating Team Friction
lara
192
16k
WCS-LA-2024
lcolladotor
0
630
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
590
Documentation Writing (for coders)
carmenintech
77
5.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
460
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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 !