SlideShare a Scribd company logo
Branch Management
in Git Fusion
Joel Kovisto
Technical Account Manager
2
Helix Branches vs. Git Branches
1. Compare Helix and Git data models
2. Changing branch mappings
3. Lightweight and Fully-populated branches
4. Ghost changelists
3
Helix Branch Data Model
• Branches of depot hierarchy
• Set of files and the changes made to each file over time
• Tracks integration history between branches for each file
4
Git Concepts not in Helix
• Commit hierarchy
• Branch references
• Common history across branches
• Anonymous branches
“Master Git,” said the historian, “what is the
nature of history?”
“History is immutable. To rewrite it later is to
tamper with the very fabric of existence.”
- Only the Gods, Git Koans, Steve Losh
6
Anatomy of a Commit
• Comment
• Author
• Committer
• Tree
• Parent(s)
“I have a historical record of a merge commit with two
parents. How can I find out which branch each parent
was originally made on?”
“History is ephemeral,” replied Master Git,“the knowledge
you seek can be answered only by the gods.”
- Only the Gods, Git Koans, Steve Losh
8
Git Branches
• A branch is simply a pointer to a commit
• History is a stream or series of workspace snapshots
9
Helix Concepts not in Git
• Depot hierarchy
• Client view mapping
• File actions
• Individual file revisions are not tracked
• File integration history
• Branch on which a commit was made
What will it mean if I
change branch mappings?
11
Changing Branch Mappings
• Adding a new branch
• Removing a branch or depot path
• Adding a depot path to existing branch mapping
• Adding a branch mapping with pre-existing history
12
Branch Mapping in Git Fusion
[projx1-master]
git-branch-name = master
view = //depot/projx/main/src/... ...
[projx1-stage]
git-branch-name = stage
view = //depot/projx/stage/src/... ...
stream = //Projx/mainline #stream example
13
Add A New Branch Mapping
1. Create the branch in Helix
2. Add mapping to the repo config
3. git pull
14
Add A New Branch Mapping
New branch in Git you want to push to a depot path
1. Add mapping to repo config
2. git push origin branch-name
15
Removing a Branch
or Depot Path
Can I add a depot path to an
existing branch mapping?
17
New Depot Path on Existing Mapping
18
New Depot Path on Existing Mapping
[projx1-master]
git-branch-name = master
view = //depot/projx/main/src/... ...
19
New Depot Path on Existing Mapping
Changes to docs not included
20
New Depot Path on Existing Mapping
[projx1-master]
git-branch-name = master
view = //depot/projx/main/src/... ...
//depot/projx/main/doc/... doc/...
21
New Depot Path on Existing Mapping
22
New Depot Path on Existing Mapping
23
New Depot Path on Existing Mapping
24
New Depot Path on Existing Mapping
What if I add a new branch
mapping with old history?
26
New Branch with Pre-Existing History
[projx1-master]
git-branch-name = master
view = //depot/projx/main/src/... ...
-//depot/projx/main/src/doc/... doc/...
//depot/projx/main/doc/... doc/...
[projx1-stage]
git-branch-name = stage
view = //depot/projx/stage/src/... ...
-//depot/projx/stage/src/doc/... doc/...
//depot/projx/stage/doc/... doc/...
27
Both Branches Always Mapped
28
New Branch with Pre-Existing History
29
Changing Branch Mappings
• Fabric of space and time remains intact
• Cannot affect history
• Best if you get it right the first time
30
Lightweight vs. Fully Populated Branches
• Lightweight branches
• Fully-populated brances
31
Lightweight Branches
32
Fully-Populated Branches
• Fully-populated branches reflect the Git workspace
• Mapped branches are fully-populated branches
• Create fully-populated depot path on the fly
33
Fully-Populated Branches
depot-branch-creation-enable
no : Unmapped branches are lightweight
all : Unmapped branches are fully-populated
explicit : Hybrid
depot-branch-creation-depot-path: {repo} {git_branch_name} {user}
depot-branch-creation-p4group
34
Fully-Populated Branches
[@repo]
description = Projx1 repo
depot-branch-creation-enable = explicit
depot-branch-creation-depot-path = //depot/{repo}/{user}/{git_branch_name}
$ git push origin mytask:depot-branch/mytask
//depot/projx1/jkovisto/mytask/...
35
Who’s Afraid Of Ghosts?
Ghost changelists make Helix history
reflect Git History
• One-to-one mapping between Git and
Perforce file actions
• Diffing against previous revision
36
What Manifests a Ghost?
• Pushing to a new fully-populated depot path
• Pushing to a commit to a new lightweight branch
• Push that must make the depot reflect a commit’s parent
37
Identifying Ghost Changes
Change 14378 by git-fusion-user@git-fusion--temp-1-jk-centos-64-projx1
on 2016/02/23 14:02:16
Git Fusion branch management
Imported from Git
ghost-of-change-num: 14360
ghost-of-sha1: 709b0d2dd013dfe86022197633e528cc9db8c3f1
ghost-precedes-sha1: bff18f1bfb9e63a3a6e773deee946579457b210
parent-branch: None@14360
push-state: incomplete
38
Branch Management Planning
• Anticipate branch mapping needs
• New fully-populated branches in real time
• Recognize ghosts
Q&A
Thank you
Meet me at the Helix Hive
jkovisto@perforce.com
Ad

More Related Content

What's hot (20)

Day 2 General Session Presentations RedisConf
Day 2 General Session Presentations RedisConfDay 2 General Session Presentations RedisConf
Day 2 General Session Presentations RedisConf
Redis Labs
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
Edward Goikhman
 
Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209
mffiedler
 
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Red Hat Summit 2017:  Wicked Fast PaaS: Performance Tuning of OpenShift and D...Red Hat Summit 2017:  Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Jeremy Eder
 
Escalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y RecomendacionesEscalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y Recomendaciones
Manuel Vargas
 
Improvements in Bitsy 1.5
Improvements in Bitsy 1.5Improvements in Bitsy 1.5
Improvements in Bitsy 1.5
LambdaZen LLC
 
Spark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri SimsaSpark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri Simsa
Spark Summit
 
eBPF - Observability In Deep
eBPF - Observability In DeepeBPF - Observability In Deep
eBPF - Observability In Deep
Mydbops
 
OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repository
Jukka Zitting
 
Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
GABeech
 
Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...
Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...
Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...
Ceph Community
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
Randal Schwartz
 
Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?
Paradigma Digital
 
Git vs. Mercurial
Git vs. MercurialGit vs. Mercurial
Git vs. Mercurial
Marian Marinov
 
Speed up large-scale ML/DL offline inference job with Alluxio
Speed up large-scale ML/DL offline inference job with AlluxioSpeed up large-scale ML/DL offline inference job with Alluxio
Speed up large-scale ML/DL offline inference job with Alluxio
Alluxio, Inc.
 
Build a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift Origin
Steven Pousty
 
Repository performance tuning
Repository performance tuningRepository performance tuning
Repository performance tuning
Jukka Zitting
 
[Tel aviv merge world tour] Perforce Server Update
[Tel aviv merge world tour] Perforce Server Update[Tel aviv merge world tour] Perforce Server Update
[Tel aviv merge world tour] Perforce Server Update
Perforce
 
K8s best practices from the field!
K8s best practices from the field!K8s best practices from the field!
K8s best practices from the field!
DoiT International
 
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
KubeCon NA, Seattle, 2016:  Performance and Scalability Tuning Kubernetes for...KubeCon NA, Seattle, 2016:  Performance and Scalability Tuning Kubernetes for...
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
Jeremy Eder
 
Day 2 General Session Presentations RedisConf
Day 2 General Session Presentations RedisConfDay 2 General Session Presentations RedisConf
Day 2 General Session Presentations RedisConf
Redis Labs
 
Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209
mffiedler
 
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Red Hat Summit 2017:  Wicked Fast PaaS: Performance Tuning of OpenShift and D...Red Hat Summit 2017:  Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Jeremy Eder
 
Escalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y RecomendacionesEscalando Foursquare basado en Checkins y Recomendaciones
Escalando Foursquare basado en Checkins y Recomendaciones
Manuel Vargas
 
Improvements in Bitsy 1.5
Improvements in Bitsy 1.5Improvements in Bitsy 1.5
Improvements in Bitsy 1.5
LambdaZen LLC
 
Spark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri SimsaSpark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri Simsa
Spark Summit
 
eBPF - Observability In Deep
eBPF - Observability In DeepeBPF - Observability In Deep
eBPF - Observability In Deep
Mydbops
 
OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repository
Jukka Zitting
 
Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
GABeech
 
Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...
Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...
Petabyte Scale Object Storage Service Using Ceph in A Private Cloud - Varada ...
Ceph Community
 
Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?
Paradigma Digital
 
Speed up large-scale ML/DL offline inference job with Alluxio
Speed up large-scale ML/DL offline inference job with AlluxioSpeed up large-scale ML/DL offline inference job with Alluxio
Speed up large-scale ML/DL offline inference job with Alluxio
Alluxio, Inc.
 
Build a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift Origin
Steven Pousty
 
Repository performance tuning
Repository performance tuningRepository performance tuning
Repository performance tuning
Jukka Zitting
 
[Tel aviv merge world tour] Perforce Server Update
[Tel aviv merge world tour] Perforce Server Update[Tel aviv merge world tour] Perforce Server Update
[Tel aviv merge world tour] Perforce Server Update
Perforce
 
K8s best practices from the field!
K8s best practices from the field!K8s best practices from the field!
K8s best practices from the field!
DoiT International
 
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
KubeCon NA, Seattle, 2016:  Performance and Scalability Tuning Kubernetes for...KubeCon NA, Seattle, 2016:  Performance and Scalability Tuning Kubernetes for...
KubeCon NA, Seattle, 2016: Performance and Scalability Tuning Kubernetes for...
Jeremy Eder
 

Similar to Branch Management in Git Fusion (20)

Git Is A State Of Mind - The path to becoming a Master of the mystic art of Git
Git Is A State Of Mind - The path to becoming a Master of the mystic art of GitGit Is A State Of Mind - The path to becoming a Master of the mystic art of Git
Git Is A State Of Mind - The path to becoming a Master of the mystic art of Git
Nicola Costantino
 
Git more done
Git more doneGit more done
Git more done
Kwen Peterson
 
Gitlikeapro 2019
Gitlikeapro 2019Gitlikeapro 2019
Gitlikeapro 2019
Jesús Miguel Benito Calzada
 
Git.From thorns to the stars
Git.From thorns to the starsGit.From thorns to the stars
Git.From thorns to the stars
Strannik_2013
 
The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHub
BigBlueHat
 
Intro to Git and Github
Intro to Git and GithubIntro to Git and Github
Intro to Git and Github
Andrew Babiec
 
Git: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commandsGit: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commands
th507
 
MakingGitWorkForYou
MakingGitWorkForYouMakingGitWorkForYou
MakingGitWorkForYou
Kwen Peterson
 
Git 101
Git 101Git 101
Git 101
Sachet Mittal
 
Fundamentals and basics of Git and commands
Fundamentals and basics of Git and commandsFundamentals and basics of Git and commands
Fundamentals and basics of Git and commands
DivyanshGupta922023
 
Introduction to Git (part 1)
Introduction to Git (part 1)Introduction to Git (part 1)
Introduction to Git (part 1)
Salvatore Cordiano
 
390a gitintro 12au
390a gitintro 12au390a gitintro 12au
390a gitintro 12au
Nguyen Van Hung
 
Essential git for developers
Essential git for developersEssential git for developers
Essential git for developers
Aidan Casey
 
Git_new.pptx
Git_new.pptxGit_new.pptx
Git_new.pptx
BruceLee275640
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
Max Claus Nunes
 
git.ppt.pdf
git.ppt.pdfgit.ppt.pdf
git.ppt.pdf
Roniel Lopez Alvarez
 
sample.pptx
sample.pptxsample.pptx
sample.pptx
UshaSuray
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
Bioinformatics and Computational Biosciences Branch
 
The Best of Both Worlds: Hybrid Clustering with Delta Lake
The Best of Both Worlds: Hybrid Clustering with Delta LakeThe Best of Both Worlds: Hybrid Clustering with Delta Lake
The Best of Both Worlds: Hybrid Clustering with Delta Lake
carlyakerly1
 
Git Is A State Of Mind - The path to becoming a Master of the mystic art of Git
Git Is A State Of Mind - The path to becoming a Master of the mystic art of GitGit Is A State Of Mind - The path to becoming a Master of the mystic art of Git
Git Is A State Of Mind - The path to becoming a Master of the mystic art of Git
Nicola Costantino
 
Git.From thorns to the stars
Git.From thorns to the starsGit.From thorns to the stars
Git.From thorns to the stars
Strannik_2013
 
The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHub
BigBlueHat
 
Intro to Git and Github
Intro to Git and GithubIntro to Git and Github
Intro to Git and Github
Andrew Babiec
 
Git: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commandsGit: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commands
th507
 
Fundamentals and basics of Git and commands
Fundamentals and basics of Git and commandsFundamentals and basics of Git and commands
Fundamentals and basics of Git and commands
DivyanshGupta922023
 
Essential git for developers
Essential git for developersEssential git for developers
Essential git for developers
Aidan Casey
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
Max Claus Nunes
 
The Best of Both Worlds: Hybrid Clustering with Delta Lake
The Best of Both Worlds: Hybrid Clustering with Delta LakeThe Best of Both Worlds: Hybrid Clustering with Delta Lake
The Best of Both Worlds: Hybrid Clustering with Delta Lake
carlyakerly1
 
Ad

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
Perforce
 
How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
Perforce
 
Ad

Recently uploaded (20)

Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 

Branch Management in Git Fusion

  • 1. Branch Management in Git Fusion Joel Kovisto Technical Account Manager
  • 2. 2 Helix Branches vs. Git Branches 1. Compare Helix and Git data models 2. Changing branch mappings 3. Lightweight and Fully-populated branches 4. Ghost changelists
  • 3. 3 Helix Branch Data Model • Branches of depot hierarchy • Set of files and the changes made to each file over time • Tracks integration history between branches for each file
  • 4. 4 Git Concepts not in Helix • Commit hierarchy • Branch references • Common history across branches • Anonymous branches
  • 5. “Master Git,” said the historian, “what is the nature of history?” “History is immutable. To rewrite it later is to tamper with the very fabric of existence.” - Only the Gods, Git Koans, Steve Losh
  • 6. 6 Anatomy of a Commit • Comment • Author • Committer • Tree • Parent(s)
  • 7. “I have a historical record of a merge commit with two parents. How can I find out which branch each parent was originally made on?” “History is ephemeral,” replied Master Git,“the knowledge you seek can be answered only by the gods.” - Only the Gods, Git Koans, Steve Losh
  • 8. 8 Git Branches • A branch is simply a pointer to a commit • History is a stream or series of workspace snapshots
  • 9. 9 Helix Concepts not in Git • Depot hierarchy • Client view mapping • File actions • Individual file revisions are not tracked • File integration history • Branch on which a commit was made
  • 10. What will it mean if I change branch mappings?
  • 11. 11 Changing Branch Mappings • Adding a new branch • Removing a branch or depot path • Adding a depot path to existing branch mapping • Adding a branch mapping with pre-existing history
  • 12. 12 Branch Mapping in Git Fusion [projx1-master] git-branch-name = master view = //depot/projx/main/src/... ... [projx1-stage] git-branch-name = stage view = //depot/projx/stage/src/... ... stream = //Projx/mainline #stream example
  • 13. 13 Add A New Branch Mapping 1. Create the branch in Helix 2. Add mapping to the repo config 3. git pull
  • 14. 14 Add A New Branch Mapping New branch in Git you want to push to a depot path 1. Add mapping to repo config 2. git push origin branch-name
  • 16. Can I add a depot path to an existing branch mapping?
  • 17. 17 New Depot Path on Existing Mapping
  • 18. 18 New Depot Path on Existing Mapping [projx1-master] git-branch-name = master view = //depot/projx/main/src/... ...
  • 19. 19 New Depot Path on Existing Mapping Changes to docs not included
  • 20. 20 New Depot Path on Existing Mapping [projx1-master] git-branch-name = master view = //depot/projx/main/src/... ... //depot/projx/main/doc/... doc/...
  • 21. 21 New Depot Path on Existing Mapping
  • 22. 22 New Depot Path on Existing Mapping
  • 23. 23 New Depot Path on Existing Mapping
  • 24. 24 New Depot Path on Existing Mapping
  • 25. What if I add a new branch mapping with old history?
  • 26. 26 New Branch with Pre-Existing History [projx1-master] git-branch-name = master view = //depot/projx/main/src/... ... -//depot/projx/main/src/doc/... doc/... //depot/projx/main/doc/... doc/... [projx1-stage] git-branch-name = stage view = //depot/projx/stage/src/... ... -//depot/projx/stage/src/doc/... doc/... //depot/projx/stage/doc/... doc/...
  • 28. 28 New Branch with Pre-Existing History
  • 29. 29 Changing Branch Mappings • Fabric of space and time remains intact • Cannot affect history • Best if you get it right the first time
  • 30. 30 Lightweight vs. Fully Populated Branches • Lightweight branches • Fully-populated brances
  • 32. 32 Fully-Populated Branches • Fully-populated branches reflect the Git workspace • Mapped branches are fully-populated branches • Create fully-populated depot path on the fly
  • 33. 33 Fully-Populated Branches depot-branch-creation-enable no : Unmapped branches are lightweight all : Unmapped branches are fully-populated explicit : Hybrid depot-branch-creation-depot-path: {repo} {git_branch_name} {user} depot-branch-creation-p4group
  • 34. 34 Fully-Populated Branches [@repo] description = Projx1 repo depot-branch-creation-enable = explicit depot-branch-creation-depot-path = //depot/{repo}/{user}/{git_branch_name} $ git push origin mytask:depot-branch/mytask //depot/projx1/jkovisto/mytask/...
  • 35. 35 Who’s Afraid Of Ghosts? Ghost changelists make Helix history reflect Git History • One-to-one mapping between Git and Perforce file actions • Diffing against previous revision
  • 36. 36 What Manifests a Ghost? • Pushing to a new fully-populated depot path • Pushing to a commit to a new lightweight branch • Push that must make the depot reflect a commit’s parent
  • 37. 37 Identifying Ghost Changes Change 14378 by git-fusion-user@git-fusion--temp-1-jk-centos-64-projx1 on 2016/02/23 14:02:16 Git Fusion branch management Imported from Git ghost-of-change-num: 14360 ghost-of-sha1: 709b0d2dd013dfe86022197633e528cc9db8c3f1 ghost-precedes-sha1: bff18f1bfb9e63a3a6e773deee946579457b210 parent-branch: None@14360 push-state: incomplete
  • 38. 38 Branch Management Planning • Anticipate branch mapping needs • New fully-populated branches in real time • Recognize ghosts
  • 39. Q&A

Editor's Notes

  • #2: - Already have, or are considering adding, one of our Git solutions. - Recognize benefits of - narrow cloning or the ability to slice and dice your depot into any manner of Git repo - File-level protections - Perforce Helix as single source of truth - Security benefits and the ability to comply with some industry’s regulations
  • #3: - Discuss core functionality of our Git solutions - reconciling Perforce Helix branches and Git branches. Two very different models. - Consider the two data models, and what branches mean in the two systems - Look at how these branches are mapped between the systems and what it means to change those mappings - LW vs FP - Lastly, purpose ghost change lists
  • #4: Essential characteristics of Helix branches: - Helix branches depict hierarchy - branches of depot hierarchy - Changes to files tracked individually over time - Integration history between file revisions is tracked. Resolve decisions (accept yours, theirs, merge? conflict resolved?) Each decision recorded
  • #5: • commit hierarchy: Each Git commit has one or more parents. Can’t say the changelist that came before this changelist is its parent • branch references: Git branch references point to specific commits within the commit hierarchy. • common history across branches: Git history often shares the same sequence of commits across several branches. * anonymous branches: Git branch references can be deleted, or just not included with a git push. The result is that many sub-paths through Git commit history have no branch name.
  • #6: Now let’s look at the Git data model. The first aspect of Git history to consider is its immutability. Actually, you can rewrite history, but you’ll probably tick your colleagues off if you do so.
  • #7: Anatomy of a Commit Core objects in Git are blobs, which are files, trees, which are snapshots of files and directories, and commits. Commits make are what make sense of it all, and are analogous to change lists. Each object gets a SHA1 calculation Commit message Author of the commit Committer - usually the same as the author Tree Parent(s) - The SHA1 of one or more parent commits. All part of SH A1 calc Did you notice what was not in the commit?
  • #8: Git does not store branch info in its core data model. While immutable, much of Git history is unknowable.
  • #9: Git history is just a series of of workspace snapshots, identified by its commits A branch is simply a lightweight movable pointer to a commit.
  • #10: Git lacks helix concepts Depot hierarchy - Git’s hierarchy is only the workspace tree, or workspace hierarchy, and commit hierarchy Client view mapping - With no hierarchy, there is nothing to map File actions - whether the file was added, edited, deleted, or moved, is not recorded. The action can only be inferred when comparing commits Can’t refer to individual file revisions File integration history - without file actions, per-file integration history is another step removed On what branch was this commit made? not tracked
  • #11: - Git history immutable - Changing anything in a commit causes a cascading effect - Commit and changelist become bound Early days Support had admonitions not to do anything that would “break history” “Rebuild” if feasible
  • #12: Let’s consider the effects of making various changes to branch mappings, including… Adding a new branch to the repo Removing a branch or depot path Adding a new depot path to an existing branch mapping Adding branch mapping with pre-existing history
  • #13: Describe branch mapping example
  • #14: Adding a mapping for a new branch has always been expected behavior To go from Helix to Git: Create the branch in Helix with p4 integ or p4 populate Add the new branch mapping to your repo configuration Pull it into your repo
  • #15: Same thing from the other side. Say you have a git branch you want mapped to a fully-populated branch in Helix Add the mapping to the repo config Push it to Git Fusion or GitSwarm
  • #16: - Core functionality rebuild a repo from Helix - recovery or new instance - Stores commit and tree objects, blobs stored as file revisions - Process commit, tree refers to blob that is no longer part of the repo’s view. Breakage
  • #18: 4 changelists. 2 in src directory and the other 2 in a doc folder
  • #19: Map src only
  • #20: Expected Git history
  • #21: Wish you had included doc
  • #22: Another look at Helix history Note change 14323 with “start doc”.
  • #23: Only 2nd commit in doc included. Earlier history not touched, did not break history
  • #24: If doc included from beginning…
  • #25: By adding the doc depot path late, you don’t break anything. But it’s not perfect – what if the git user was trying find when a bug was introduced? She’d find the first commit available for this path, but the change that actually introduced it might have come before.
  • #26: Next we’ll consider adding a new branch mapping.
  • #27: Describe mapping for 2 branches
  • #28: note “merge foo” - merge commit, 2 parents - “comment foo” and “explain foo”
  • #29: - “merge foo” still there, but only one parent - time of commit was processes, only 1 parent was known - stage branch did not exist for this repo - content same - new history will capture merge commits
  • #30: When making most changes to branch mappings, just know: You can’t break Git history Git Fusion protects To most accurately reflect Helix history, think about what is needed
  • #31: Next we look at lightweight and fully populated branches, the differences between the two and the options you have for using them.
  • #32: - 2013.1 - unmapped branches were LW - LW branches only capture what has changed - Since creating integration history is a bit heavy, this reduced work We had a way to accommodate any Git history But paths are jarring to P4 users – describe path Customers wanted predictable depot paths on the fly
  • #33: Enter the fully-populated branch. Fully populated - target depot view reflects the state of the Git workspace for that branch. (To be clear) All mapped branches are fully populated. In 2014.2, we made it possible for Git users to create fully-populated Helix branches on the fly. No longer need update config file manually!
  • #34: Describe slide
  • #35: Describe slide Our Git solutions generally put no onus on the end user. Git services look like regular git remotes “explicit” setting is an exception.
  • #36: Make Helix history reflect Git history Helix needs to branch a file into existence before you can delete it or easily compare a new revision to the previous revision Diffing a new commit on new branch in git is the same as if it was on the same branch Describe branch for delete It’s this conceptual mismatch that led to the need for ghost changelists
  • #37: New FP depot path Same for JIT on LW Describe branch reuse - “task1” don’t forget deleting branch locally after first use Create task1 Do some work, push Merge into master, push1 Delete the local branch ref, and push 1 month later reuse task1 Do some work, push task1 – totally new basis, from a new parent
  • #38: Describe slide – identifying features
  • #39: Hopefully you better understand ramifications of making changes to repo branch mappings - You recognize how projects are structured in Helix and how Git users will use the repo, and how the repo will likely evolve, will help you define your repos from the beginning You have better idea whether to use FP branches on demand See a ghost, don’t panic, you can figure out how it came about