Ten years ago, only Linux kernel committers and other early adopters used Git. Almost everyone else used Subversion. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now? And what features would YOU want from your version control software in 2032? No history rewrites? Faster? No merge conflicts ever?
In this talk I'll discuss a few post-Git products, including Fossil, Plastic and Pijul, and their support for the features we so dearly desire. I'll also try to predict which one will be 'the top dog' in 2032.
So attend this session if you're excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first. 😀
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
"Will Git Be Around Forever? A List of Possible Successors" from Devoxx 2022
1. #Devoxx #SuccessorOfGit @hannotify
Will Git Be Around
Will Git Be Around
Forever?
Forever?
Forever?
Forever?
Forever?
Forever?
Forever?
Forever?
Forever?
Forever?
Forever?
Forever?
A List Of Possible Successors
A List Of Possible Successors
Hanno Embregts @hannotify
2. #Devoxx #SuccessorOfGit @hannotify
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
Teaching a
course on Git
course on Git
course on Git
course on Git
course on Git
course on Git
course on Git
course on Git
course on Git
course on Git
course on Git
course on Git
https://pxhere.com/en/photo/652221
4. #Devoxx #SuccessorOfGit @hannotify
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
Why did Git
become so
become so
become so
become so
become so
become so
become so
become so
become so
become so
become so
become so
popular?
popular?
popular?
popular?
popular?
popular?
popular?
popular?
popular?
popular?
popular?
popular?
https://pxhere.com/en/photo/652221
8. #Devoxx #SuccessorOfGit @hannotify
Putting the graph data
Putting the graph data
into a table
into a table
2010 2021
Subversion 44% 8%
Git 25% 74%
Mercurial 19% 12%
TFVC 7% 6%
CVS 5% <1%
9. #Devoxx #SuccessorOfGit @hannotify
Don't forget!
Don't forget!
Include some new products!
https://www.pexels.com/photo/man-in-black-shirt-and-gray-denim-pants-sitting-on-gray-padded-bench-1134204
11. #Devoxx #SuccessorOfGit @hannotify
Features that Fossil
Features that Fossil
promises
promises
distributed version control
integrated bug tracking, wiki, forum and technotes
built-in web interface
both autosync and manual merge mode
show descendants of a check-in
supports operations on multiple repositories
(fossil all) https://www.fossil-scm.org
12. #Devoxx #SuccessorOfGit @hannotify
Quick facts
Quick facts
Written in C and SQL
Is the VCS of choice for the SQLite project
Free code hosting at:
Chisel - http://chiselapp.com/
Or simply host it yourself using an SQLite database
and a web server
13. #Devoxx #SuccessorOfGit @hannotify
Uses a relational
Uses a relational
database
database
a repository is stored in a single SQLite database
file
contains relations between check-ins to be able to
produce both ancestors and descendants of a
check-in
17. #Devoxx #SuccessorOfGit @hannotify
pi · jul
pi · jul
pi · jul
pi · jul
pi · jul
or crotophaga sulcirostris, a bird
known to do collaborative nest
building.
https://commons.wikimedia.org/wiki/File:Museo_de_la_Naturaleza_de_Cantabria_(208).jpg
18. #Devoxx #SuccessorOfGit @hannotify
Features that Pijul
Features that Pijul
promises
promises
distributed version control
simple, because of its basis on a sound theory of
patches
fast, because it aims to fix the Darcs performance
issues
interactive recording
20. #Devoxx #SuccessorOfGit @hannotify
Patch-oriented design
Patch-oriented design
A patch is an intuitive atomic unit of work.
It focuses on changes, instead of differences
between snapshots (i.e. Git commits).
Applying or unapplying a patch doesn't change its
identity.
The end result of applying several patches is always
the same, regardless of the order in which they
22. #Devoxx #SuccessorOfGit @hannotify
If commits were bank
If commits were bank
transactions
transactions
snapshot patch
initial balance 100 +100
salary 400 +300
heating 0 -400
26. #Devoxx #SuccessorOfGit @hannotify
Prediction variables
Prediction variables
Killer features.
Hosting platform support.
Open-source community support.
The handicap of a head start.
32. #Devoxx #SuccessorOfGit @hannotify
"Beyond Git" (by Paweł Świątkowski)
"Fossil vs. Git" (by the Fossil team)
"Merging, patches and Pijul" (by Joe Neeman)
http://katafrakt.me/2017/05/27/beyond-git/
https://www.fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki
https://jneem.github.io/pijul/
33. #Devoxx #SuccessorOfGit @hannotify
Now what?
Now what?
A lot of projects are nothing like the Linux kernel.
So try Fossil for a change!
Git's snapshotting might be too technical for the
average user. So try Pijul for a change!