[Perforce] Git Fusion

Post on 22-Oct-2014

599 views 1 download

Tags:

description

Git has moved beyond open source projects into the enterprise software developer's toolbox. Git solves some old problems in unique ways, but introduces new challenges for developers, software architects, release engineers, and managers. See how Perforce Git Fusion overcomes these challenges while still taking advantage of everything Git has to offer.

Transcript of [Perforce] Git Fusion

1  

Git Fusion Enterprise 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/Push Replicate 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