1	
  
Git FusionEnterprise Git without Compromise
Matt Attaway
Open Source
Community Manager
Randy DeFauw
Technical Marketing
Manager
Zig Zichterman
Technical Lead
2	
  
On the Radar
Git, 2005 - Present
3	
  
Open Source: Linux Kernel, 2005
dictator blessed
repository
developer
public
lieutenant lieutenant
developer
public
developer
public
4	
  
Android and the Open Handset
Alliance, 2007
§  Companies, individuals, and thousands of
paid developers
§  Global collaboration across company lines
§  Gerrit-style codeline management
§  Special tool (Repo) to manage hundreds of
related repositories
5	
  
Git Codeline Management
Innovations
§  Task branching on a massive scale
§  Code review blended with codeline
management (merge/pull requests)
§  Portability
§  Rebasing and other Git goodies
Challenges
§  Global Git deployments
§  Managing sets of repositories
§  Slow evolution of access control
6	
  
Roadmap and Vision
7	
  
Roadmap
2012.2
§  Distributed
architecture
§  SSH2
2013.1
§  Branch and merge
§  Unicode
Future
§  Streams
§  Access control
enhancements
§  Code review and
merge request
8	
  
Perforce Git Fusion
Enterprise SCM
9	
  
Enterprise SCM
Global
§  Replication
§  No data size/type
limits
Flexible
§  Any type of workflow,
team, and data
§  The way you use
your data not locked
to the way it’s stored
in the repository
Secure
§  Consistent access
control
§  IP security
10	
  
No compromises
Developers
§  Use Git without
change
§  Easy collaboration
on larger cross-
functional teams
Release managers
§  Proven branching
models for any
development and
release cycle
§  Track all assets in
Perforce
§  Flexible data model
for complex projects
Administrators
§  Security & IP
Protection
§  Availability
§  Scalability
11	
  
Building on Perforce Strengths
12	
  
Dynamic Repository Remapping
Team	
  1	
   Team	
  2	
  
Shared	
  library	
  
Main	
  
Team-­‐specific	
  
repositories	
  
Open	
  
Source	
  
Public	
  Repository	
  
Other	
  Community	
  
Members	
  
Versioning
Service
Proxy
Proxy
Replica
14	
  
Security and Compliance
§  Granular and consistent access control
§  Built-in auditing for all your assets
§  Track source code through to runtime configurations
§  Partnerships for code reuse and open source compliance
15	
  
A Better Git Experience
16	
  
Task Branching and Code Review
The Recipe for Continuous Delivery
Review, test,
merge
(Swarm)Contributors
Contributors
Test System 1
Test System 2
CI System
QA Team
Production
Revision
Release Anytime
Task container
(Git Fusion,
shelving, task
streams) for
everything that
goes into the
product
Merge
Requests
Merge
Requests
Merge
Requests
Merge
Requests
17	
  
Bringing Git into the Big Picture
All the task branches
you want…
…	
  managed	
  in	
  an	
  efficient	
  
framework	
  for	
  complex	
  projects	
  
18	
  
Long Lived Branches: Maintenance and Customization
main	
  
3.0-­‐R	
  
3.0-­‐R-­‐BigCo	
  
Sprint7	
  
Task892	
  
Task895	
  
branch
merge
promote
19	
  
Portability
Public	
  	
  
Git	
  Server	
  
Example.org	
  
IntegraTon	
  
Repository	
  (Git)	
  
Git provides a
good data
transfer tool
across otherwise
isolated networks
	
  
Git Fusion
Repository
Remapping lets
you use transfer
repos to share
changes the right
way
20	
  
A Peek under the Hood
21	
  
Git Fusion Architecture
Perforce
Commands
Local Git Repo
SSH
Clone/Pull/PushReplicate
Developer
22	
  
Installation
23	
  
Use
24	
  
Pulling
ssh
25	
  
Push
ssh
26	
  
Data Storage
Versioned files
Configuration data
Git objects
Git repos
Versioning
Service
Proxy
Proxy
Replica
28	
  
A Whole New Bag of Tricks
Use cases
29	
  
Common Development Patterns
§  Task/feature branches
§  Pre-flight code review (with Swarm)
§  Long lived branches
30	
  
Collaboration
§  Outside the firewall
§  Open source projects
31	
  
Integration
§  Make use of Git-focused tools such as Heroku,
Phabricator, and many others.
§  Take advantage of Git support in XCode
32	
  
Git at Remote Sites
§  Supporting consistent user experience
and security via replication
§  Larger teams
33	
  
Git and Security
§  Auditing
§  Access control
34	
  
Visualizing Git in Perforce
Android development in Perforce
35	
  
P4V
36	
  
Timelapse View
37	
  
Revision Graph
38	
  
Questions?
See Git Fusion in the Demo Lounge
Follow us
Randy DeFauw: rdefauw@perforce.com, @rdefauw
Matt Attaway: mattaway@perforce.com
Zig Zichterman: zzichterman@perforce.com
P4Ideax	
   Forums	
  

[Perforce] Git Fusion

  • 1.
    1   Git FusionEnterpriseGit without Compromise Matt Attaway Open Source Community Manager Randy DeFauw Technical Marketing Manager Zig Zichterman Technical Lead
  • 2.
    2   On theRadar Git, 2005 - Present
  • 3.
    3   Open Source:Linux Kernel, 2005 dictator blessed repository developer public lieutenant lieutenant developer public developer public
  • 4.
    4   Android andthe Open Handset Alliance, 2007 §  Companies, individuals, and thousands of paid developers §  Global collaboration across company lines §  Gerrit-style codeline management §  Special tool (Repo) to manage hundreds of related repositories
  • 5.
    5   Git CodelineManagement Innovations §  Task branching on a massive scale §  Code review blended with codeline management (merge/pull requests) §  Portability §  Rebasing and other Git goodies Challenges §  Global Git deployments §  Managing sets of repositories §  Slow evolution of access control
  • 6.
  • 7.
    7   Roadmap 2012.2 §  Distributed architecture § SSH2 2013.1 §  Branch and merge §  Unicode Future §  Streams §  Access control enhancements §  Code review and merge request
  • 8.
    8   Perforce GitFusion Enterprise SCM
  • 9.
    9   Enterprise SCM Global § Replication §  No data size/type limits Flexible §  Any type of workflow, team, and data §  The way you use your data not locked to the way it’s stored in the repository Secure §  Consistent access control §  IP security
  • 10.
    10   No compromises Developers § Use Git without change §  Easy collaboration on larger cross- functional teams Release managers §  Proven branching models for any development and release cycle §  Track all assets in Perforce §  Flexible data model for complex projects Administrators §  Security & IP Protection §  Availability §  Scalability
  • 11.
    11   Building onPerforce Strengths
  • 12.
    12   Dynamic RepositoryRemapping Team  1   Team  2   Shared  library   Main   Team-­‐specific   repositories   Open   Source   Public  Repository   Other  Community   Members  
  • 13.
  • 14.
    14   Security andCompliance §  Granular and consistent access control §  Built-in auditing for all your assets §  Track source code through to runtime configurations §  Partnerships for code reuse and open source compliance
  • 15.
    15   A BetterGit Experience
  • 16.
    16   Task Branchingand Code Review The Recipe for Continuous Delivery Review, test, merge (Swarm)Contributors Contributors Test System 1 Test System 2 CI System QA Team Production Revision Release Anytime Task container (Git Fusion, shelving, task streams) for everything that goes into the product Merge Requests Merge Requests Merge Requests Merge Requests
  • 17.
    17   Bringing Gitinto the Big Picture All the task branches you want… …  managed  in  an  efficient   framework  for  complex  projects  
  • 18.
    18   Long LivedBranches: Maintenance and Customization main   3.0-­‐R   3.0-­‐R-­‐BigCo   Sprint7   Task892   Task895   branch merge promote
  • 19.
    19   Portability Public     Git  Server   Example.org   IntegraTon   Repository  (Git)   Git provides a good data transfer tool across otherwise isolated networks   Git Fusion Repository Remapping lets you use transfer repos to share changes the right way
  • 20.
    20   A Peekunder the Hood
  • 21.
    21   Git FusionArchitecture Perforce Commands Local Git Repo SSH Clone/Pull/PushReplicate Developer
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    26   Data Storage Versionedfiles Configuration data Git objects Git repos
  • 27.
  • 28.
    28   A WholeNew Bag of Tricks Use cases
  • 29.
    29   Common DevelopmentPatterns §  Task/feature branches §  Pre-flight code review (with Swarm) §  Long lived branches
  • 30.
    30   Collaboration §  Outsidethe firewall §  Open source projects
  • 31.
    31   Integration §  Makeuse of Git-focused tools such as Heroku, Phabricator, and many others. §  Take advantage of Git support in XCode
  • 32.
    32   Git atRemote Sites §  Supporting consistent user experience and security via replication §  Larger teams
  • 33.
    33   Git andSecurity §  Auditing §  Access control
  • 34.
    34   Visualizing Gitin Perforce Android development in Perforce
  • 35.
  • 36.
  • 37.
  • 38.
    38   Questions? See GitFusion in the Demo Lounge Follow us Randy DeFauw: rdefauw@perforce.com, @rdefauw Matt Attaway: mattaway@perforce.com Zig Zichterman: zzichterman@perforce.com P4Ideax   Forums