SlideShare a Scribd company logo
News from Git in Eclipse
Matthias Sohn (SAP)
merge strategy
extension point
JGit 4.0, EGit 4.1
● enables external merge strategy
● used by EMF Compare to
provide model merge (Neon)
EMF Compare provides model merge strategy
Computes the logical model for each version
Compares / merges complete logical model
e4 smart
project import
wizard
EGit
● clone repository
● invoke e4 smart project import
● auto-detects projects and their
types
● Since Neon it's the default
wiki e4 smart import
e4 smart project import
Staging View
EGit
● better support non-workspace
files (4.2)
● enable sorting files by status (4.3)
● "Commit" opens staging view (4.3)
● auto-switch to vertical layout (4.3)
Better support non-workspace files
Sorting files by status
"Commit" opens Staging View
Auto-switch to vertical layout
History View
EGit
● auto-select branch (4.2)
● new search widget (4.5)
Auto-select branch
New search widget
Usability
Improvements
EGit
● dirty decorator in repositories view
● most git actions enabled on
working sets
● configure date format
● view stash in commit viewer (4.4)
dirty decorator in repositories view
enable most
git actions on
working sets
configure date format
View Stash in Commit Viewer
Gerrit
integration
EGit 4.3
● auto-configure repository cloned from
Gerrit
● auto-fill "Fetch from Gerrit" wizard from
clipboard
● "Commit and push" opens "Push to
Gerrit" wizard
● Set topic on push for review (4.4)
Misc
Improvements
EGit
● improved support for submodules /
nested repositories (4.3)
● configurable pull options (4.3)
● rebase modes (4.6)
● check for running launches before
modifying the workspace (4.5)
● auto-gc (4.6)
● Oomph setup for contributors (4.5)
hooks
support
JGit
● pre-push (4.2)
● post-commit (4.5)
.gitattributes
JGit 4.3
fixed most wanted JGit bug (108 votes)
● filter attributes (4.2)
● text attributes
● eol attributes
● macros
LFS
Large File
Storage
JGit, EGit
client
● integrate git-lfs extension in client (4.2)
● built-in JGit LFS extension (4.6)
server
● basic JGit LFS server (4.3)
○ file system or S3 storage
● Gerrit lfs plugin (Gerrit 2.13)
Versioning large binaries in Git
large binary files can't be packed by Git efficiently
➔ Git repository growing quickly
➔ gc more expensive and less efficient
➔ slows down transport
➔ Git server load grows
.gitattributes
slides.pdf
X.java
Large File Storage (LFS) extension
.git
-- objects
-- lfs
git server
lfs server
git
git-lfs
.gitattributes
slides.pdf
X.java
LFS configuration
.gitattributes
*.pdf filter=lfs diff=lfs merge=lfs -text
.gitconfig
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
which files to store in LFS ?
lfs clean filter intercepts add
lfs smudge filter intercepts checkout
.git
-- config
-- objects
-- lfs
.gitattributes
slides.pdf
X.java
git add slides.pdf
version git-lfs/spec/v1
id sha256:5891b5b522...
size 6
store meta data in objects
store big file in lfs objects
lfs clean filter
slides.pdf
.git
-- objects
-- lfs
.gitattributes
slides.pdf
X.java
git push origin
git server
lfs server
pre-push hook
version git-lfs/spec/v1
id sha256:5891b5b522...
size 6
push
slides.pdf
.git
-- objects
-- lfs
.gitattributes
slides.pdf
X.java
git fetch/clone, git checkout
git server
lfs server
version git-lfs/spec/v1
id sha256:5891b5b522...
size 6
fetch
checkout
downloads large
object lazily
slides.pdf
lfs smudge
filter
.git
-- objects
-- lfs
EGit
Gerrit
.gitattributes
slides.pdf
X.java
LFS server with JGit filesystem/S3 storage
JGit
JGit LFS
client
Gerrit plugin
LFS storage
(filesystem
/ S3)
.git
-- objects
JGit LFS server
.git
-- objects
-- lfs
The quest for
distributed JGit
JGit
RefTree (4.2)
● version refs as git objects
● repository state described by RefTree
commit containing ref updates
● enables atomic push
Ketch (4.3)
● distributed transaction log based on
RefTree
● Raft distributed consensus for leader
election
● basis for distributed JGit server
RefTree: Versioning branches in git
store refs in git tree objects
push can update many refs -> stored in one RefTree commit
-> enable transactional ref updates when receiving a pack
-> compare single SHA1 to compare repository states
jgit
clone with worktree
standard refs
jgit.git
bare repository
refs stored in RefTree
bootstrap branch symlinked
objects linked via alternates
commit,
push
bootstrap
branch
bootstrap branch
RefTree
Versions
symlink
objects alternates
objects
spy
empty, used for
introspection
Ketch: multi-master git repository
● leader election (Raft)
leader
Ketch: multi-master git repository
● leader election (Raft)
● push arrives on any server
push
leader
Ketch: multi-master git repository
● leader election (Raft)
● push arrives on any server
● queue proposal to leader
● leader creates new RefTree
describing target state
push
queue proposal
RefTree
leader
Ketch: multi-master git repository
● leader election (Raft)
● push arrives on any server
● queue proposal to leader
● leader creates new RefTree
describing target state
● replicate objects and RefTree
to majority of serverspush
queue proposal
RefTree
RefTree
leader
Ketch: multi-master git repository
● leader election (Raft)
● push arrives on any server
● queue proposal to leader
● leader creates new RefTree
describing target state
● replicate objects and RefTree
to majority of serverspush
queue proposal
RefTree
RefTree
RefTree
leader
Ketch: multi-master git repository
● leader election (Raft)
● push arrives on any server
● queue proposal to leader
● leader creates new RefTree
describing target state
● replicate objects and RefTree
to majority of servers
● commit transaction
ack
ack
RefTree
RefTree
RefTree
leader
Questions & Answers
Evaluate the Sessions
Sign in and vote at eclipsecon.org
- 1 + 10

More Related Content

PPT
Understanding and Using Git at Eclipse
PPTX
Introduction to Git and Github
PDF
Git journey from mars to neon EclipseCon North America - 2016-03-08
PPTX
Git & git hub
PPTX
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
PDF
Brief tutorial on Git
PDF
Git and GitHub
PPT
Git Introduction
Understanding and Using Git at Eclipse
Introduction to Git and Github
Git journey from mars to neon EclipseCon North America - 2016-03-08
Git & git hub
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Brief tutorial on Git
Git and GitHub
Git Introduction

What's hot (20)

PDF
Introduction to Git and Github
KEY
Introduction to Git
PDF
Starting with Git & GitHub
PDF
A Practical Introduction to git
PDF
Introduction to Git, DrupalCamp LA 2015
PPTX
Workflows using Git GitHub | Edureka
PPTX
Github
PDF
Git - The Incomplete Introduction
PDF
Version Control with Git
PDF
Introduction to Git
PPTX
Introduction to git and github
PPTX
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
PDF
Introducing Git and git flow
PPTX
Git commands
PDF
Git tutorial
PPTX
Git n git hub
PPTX
Hacking Git and GitHub
PPTX
Git and Github Session
PDF
Version Control & Git
Introduction to Git and Github
Introduction to Git
Starting with Git & GitHub
A Practical Introduction to git
Introduction to Git, DrupalCamp LA 2015
Workflows using Git GitHub | Edureka
Github
Git - The Incomplete Introduction
Version Control with Git
Introduction to Git
Introduction to git and github
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Introducing Git and git flow
Git commands
Git tutorial
Git n git hub
Hacking Git and GitHub
Git and Github Session
Version Control & Git
Ad

Similar to News from Git in Eclipse - EclipseCon EU - 2016-10-26 (20)

PDF
News from Git in Eclipse - EclipseCon 2015 Europe
PPTX
Git missiontomars 2015-03-10
PPTX
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
PDF
News from Git in Java Land
PPTX
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
PDF
EGit 3.0 and beyond
PDF
EclipseCon 2010 talk: Towards contributors heaven
PDF
Embedding JGit
PPTX
Git.From thorns to the stars
PDF
EGit - Eclipse plug-in for git
KEY
Helios in Action: Git at Eclipse
PDF
What the git? - SAP Inside Track Munich 2016
PPTX
Ultimate Git Workflow - Seoul 2015
PPTX
Git workshop 33degree 2011 krakow
PDF
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
PDF
Getting Git Right
PDF
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
ODP
ESE 2010: Using Git in Eclipse
News from Git in Eclipse - EclipseCon 2015 Europe
Git missiontomars 2015-03-10
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from Git in Java Land
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
EGit 3.0 and beyond
EclipseCon 2010 talk: Towards contributors heaven
Embedding JGit
Git.From thorns to the stars
EGit - Eclipse plug-in for git
Helios in Action: Git at Eclipse
What the git? - SAP Inside Track Munich 2016
Ultimate Git Workflow - Seoul 2015
Git workshop 33degree 2011 krakow
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
Getting Git Right
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
ESE 2010: Using Git in Eclipse
Ad

More from msohn (20)

PPTX
Project Gardener - EclipseCon Europe - 2018-10-23
PDF
Versioning large binary files with JGit, EGit and Gerrit
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
PDF
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a feature
PDF
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
PPTX
Interactive Rebase with EGit
Project Gardener - EclipseCon Europe - 2018-10-23
Versioning large binary files with JGit, EGit and Gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 03 - work on branches in p...
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
Git Tutorial EclipseCon France 2014 - Git Exercise 02 - develop a feature
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Interactive Rebase with EGit

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Transform Your Business with a Software ERP System
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
top salesforce developer skills in 2025.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Transform Your Business with a Software ERP System
Reimagine Home Health with the Power of Agentic AI​
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Navsoft: AI-Powered Business Solutions & Custom Software Development
VVF-Customer-Presentation2025-Ver1.9.pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Odoo Companies in India – Driving Business Transformation.pdf
Digital Strategies for Manufacturing Companies
Design an Analysis of Algorithms II-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
How Creative Agencies Leverage Project Management Software.pdf
Nekopoi APK 2025 free lastest update
top salesforce developer skills in 2025.pdf

News from Git in Eclipse - EclipseCon EU - 2016-10-26