how to work efficiently in a hybrid git-perforce environment
DESCRIPTION
Many companies face the challenge of supporting Git and Perforce together in their company. This presentation will describe the challenges Trend Micro faced and how they enabled a hybrid Git-Perforce environment. Additionally, learn three practices in using Perforce which make their work more efficient.TRANSCRIPT
#
Nathan Tran / Brenda LiTrend Micro Inc.
How to Work Efficiently in a Hybrid Git-Perforce Environment
#
• Introductions• Perforce and Git at Trend Micro • Hybrid VCS with Git Fusion• Helping Users Work Efficiently in a Hybrid Git-
Perforce Environment• Conclusion
Agenda
#
Brenda LiSCM EngineerTrend Micro Inc.
Brenda Li is a SCM Engineer at Trend Micro’s China Development Center located in Nanjing, China. She is responsible for Perforce Administration and Build and Release Management.
Nathan TranSupervisorTrend Micro Inc.
Nathan Tran is the Supervisor for Engineering Tools and Services at Trend Micro. He is responsible for providing technical leadership and helping his team create a productive environment for Trend Micro to develop quality solutions for our customers.
#
Trend Micro• Founded in 1988, we have become the largest security-
focused company worldwide• Headquartered in Japan, 57 offices on 6 continents• Over 5200 Employees, with over 1800 engineers
globally• Customers include 48 of top 50 global corporations• 500,000 commercial customers, protecting more than
155 million endpoints
500,000 commercial customers155 Million Endpoints
#
1st LAN Server
Security
1st Gateway Security
1st Threat
Management Solution
1st In Netbook
Security
1st Integrated
Virtualization Security
1st Cloud
Computing Security
1st Comprehensive
Mobile App. Reputation Technology
Continual Innovation
1995 2013
#
Perforce and Git at Trend Micro
#
Changes in Version Control Systems
VS.
Centralized VCS (Perforce in Trend Micro)
Distributed VCS (Git)
#
Challenge for Version Control Management (VCM)
ProductivityVS.
#
Git Users Requirements Collaborate with team members that use Perforce
Freely create branches in local Git repos while merging specified branches to Perforce
Enjoy advanced services that only supported on Perforce, such as build services, code-scanning, testing, etc.
Push important repos to Perforce for back up
Solution for above requirements
PERFORCE GIT FUSION
✔
✔
✔
✔
#
Here Comes – Git Fusion
Bridge between Perforce and Git
Git user can continue as normal while enjoying advanced services on Perforce
Company can ensure Intellectual Property governance and security requirements
#
Hybrid VCS with Git Fusion
#
Hybrid VCS
Perforce Server
Git Fusion ServerP4 Users
Build
Line Of Code(LOC)
Code Scanning
Code Review
Git UsersPerforce Users
VCS Environment
Development Environment
Perforce Proxies
Perforce Users Perforce Users
#
Q: How do we use Git Fusion?
#
Hybrid VCS Practices
Method Ⅰ Method Ⅱ
Implement on Git at the projects early stages.Migrate to Perforce when codes are mature
Using Git as the Perforce Client throughout the project’s life cycle
#
Codeline Management
How do we manage these different kinds of Git branches in Perforce?
Next
#
Codeline Management
Branching Model for Perforce
Strategy for Mapping Git Branches to Perforce
Next
#
Codeline Management
Perforce MAIN Git trunk
Perforce PRD Git production
Git Fusion
trunk
feature A
production
hotfix
MAIN
PRD
Git
Perforce
git c
lone
git push git p
ull git push
DEV
#
Helping Users Work Efficiently
#
Perforce Ecosystem
Perforce
Build System
Project Management
Testing System
Defect Tracking
#
Defect Tracking System Integration
#
Parallelizing Development and Localization (L10N) Processes
Before• English release first
• L10N release comes late
Improve• English/L10N release
same time
• RD need to put files to L10N folder by themselves
Now• English/L10N release
same time
• Auto sync files between L10n folder and dev folder
If the project has 10 language release, this will reduce the project’s life cycle in half.
#
Conclusion• Use Git Fusion• Establish Codeline Management with Git to
Perforce Branch Mapping• Show users the benefits of a centralized VCS
by integrating tools that help them work more efficiently
##
Thank you!Brenda Li
Nathan Tran