heptapod - fosdem · gitlab a well-known, fully integrated forge git centric, with merge requests...

42
+ = Georges Racinet Octobus, https://octobus.net Heptapod FOSDEM 2020, Sunday lightning talks Slides: https://fosdem.org/2020/schedule/event/heptapod_mercurial/ Project site: https://heptapod.net

Upload: others

Post on 04-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

+ =

Georges RacinetOctobus, https://octobus.net

Heptapod

FOSDEM 2020, Sunday lightning talks

Slides: https://fosdem.org/2020/schedule/event/heptapod_mercurial/

Project site: https://heptapod.net

Page 2: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

GitLabA well-known, fully integrated forge

Git centric, with Merge Requests and issues

Built-in Continuous Integration and Deployment (CI/CD)

Many, many other built-ins and external service integrations

Open Core: Community Edition (CE) is Open Source

In use by some major Free projects (Debian, Gnome. . . )

Commercial offers (online and on-premises)

Georges Racinet Heptapod

Page 3: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

GitLabA well-known, fully integrated forge

Git centric, with Merge Requests and issues

Built-in Continuous Integration and Deployment (CI/CD)

Many, many other built-ins and external service integrations

Open Core: Community Edition (CE) is Open Source

In use by some major Free projects (Debian, Gnome. . . )

Commercial offers (online and on-premises)

Georges Racinet Heptapod

Page 4: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

GitLabA well-known, fully integrated forge

Git centric, with Merge Requests and issues

Built-in Continuous Integration and Deployment (CI/CD)

Many, many other built-ins and external service integrations

Open Core: Community Edition (CE) is Open Source

In use by some major Free projects (Debian, Gnome. . . )

Commercial offers (online and on-premises)

Georges Racinet Heptapod

Page 5: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

What is Mercurial?

A distributed Version Control System (DVCS)Command Line Interface: hg

Same generation as Git, same intended use cases

Python + C + (recently) Rust

Customizable with extensions

Historical online provider: Bitbucket

Georges Racinet Heptapod

Page 6: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

What is Mercurial?

A distributed Version Control System (DVCS)Command Line Interface: hg

Same generation as Git, same intended use cases

Python + C + (recently) Rust

Customizable with extensions

Historical online provider: Bitbucket

Georges Racinet Heptapod

Page 7: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

What is Mercurial?

A distributed Version Control System (DVCS)Command Line Interface: hg

Same generation as Git, same intended use cases

Python + C + (recently) Rust

Customizable with extensions

Historical online provider: Bitbucket

Georges Racinet Heptapod

Page 8: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

What is Mercurial?

A distributed Version Control System (DVCS)Command Line Interface: hg

Same generation as Git, same intended use cases

Python + C + (recently) Rust

Customizable with extensions

Historical online provider: Bitbucket

Georges Racinet Heptapod

Page 9: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

What is Mercurial?

A distributed Version Control System (DVCS)Command Line Interface: hg

Same generation as Git, same intended use cases

Python + C + (recently) Rust

Customizable with extensions

Historical online provider: Bitbucket

Georges Racinet Heptapod

Page 10: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Bitbucket ”sunsetting” Mercurial supportA nice word for a harsh reality

Announced on 2019-08-20. . .

http://www.photo-paysage.com (CC By NC ND 4.0 int)

Georges Racinet Heptapod

Page 11: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Bitbucket ”sunsetting” Mercurial supportA nice word for a harsh reality

Announced on 2019-08-20. . .

http://www.photo-paysage.com (CC By NC ND 4.0 int)

Georges Racinet Heptapod

Page 12: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Bitbucket ”sunsetting” Mercurial supportA nice word for a harsh reality

What’s happening:

2020-02-01: Bitbucket disables Mercurial repository creation

2020-06-01: removal of all Mercurial repositories

Georges Racinet Heptapod

Page 13: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Bitbucket ”sunsetting” Mercurial supportA nice word for a harsh reality

What’s happening:

2020-02-01: Bitbucket disables Mercurial repository creation

2020-06-01: removal of all Mercurial repositories

Georges Racinet Heptapod

Page 14: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Bitbucket ”sunsetting” Mercurial supportA nice word for a harsh reality

What’s happening:

2020-02-01: Bitbucket disables Mercurial repository creation

2020-06-01: removal of all Mercurial repositories

Georges Racinet Heptapod

Page 15: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Bitbucket ”sunsetting” Mercurial supportA nice word for a harsh reality

Thomas Bresson (via Wikimedia Commons) CC By 4.0

Georges Racinet Heptapod

Page 16: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

HeptapodHeptapod = GitLab + Mercurial

Adding Mercurial support to GitLab

A friendly fork of GitLab Community Edition

2 years old (demo to GitLab devs at FOSDEM)

Available as Docker image and source install

Georges Racinet Heptapod

Page 17: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

HeptapodHeptapod = GitLab + Mercurial

Adding Mercurial support to GitLab

A friendly fork of GitLab Community Edition

2 years old (demo to GitLab devs at FOSDEM)

Available as Docker image and source install

Georges Racinet Heptapod

Page 18: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

HeptapodHeptapod = GitLab + Mercurial

Adding Mercurial support to GitLab

A friendly fork of GitLab Community Edition

2 years old (demo to GitLab devs at FOSDEM)

Available as Docker image and source install

Georges Racinet Heptapod

Page 19: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

HeptapodHeptapod = GitLab + Mercurial

Adding Mercurial support to GitLab

A friendly fork of GitLab Community Edition

2 years old (demo to GitLab devs at FOSDEM)

Available as Docker image and source install

Georges Racinet Heptapod

Page 20: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Free Heptapod hosting for FOSS projectsIt’s just started

https://foss.heptapod.net

Ready to welcome FOSS projects fleeing Bitbucket

Set up and sponsored by Clever Cloud and Octobus

Community managed

Some reasonable restrictions and priority rules.

Commercial service coming soon

Georges Racinet Heptapod

Page 21: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Free Heptapod hosting for FOSS projectsIt’s just started

https://foss.heptapod.net

Ready to welcome FOSS projects fleeing Bitbucket

Set up and sponsored by Clever Cloud and Octobus

Community managed

Some reasonable restrictions and priority rules.

Commercial service coming soon

Georges Racinet Heptapod

Page 22: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Free Heptapod hosting for FOSS projectsIt’s just started

https://foss.heptapod.net

Ready to welcome FOSS projects fleeing Bitbucket

Set up and sponsored by Clever Cloud and Octobus

Community managed

Some reasonable restrictions and priority rules.

Commercial service coming soon

Georges Racinet Heptapod

Page 23: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Free Heptapod hosting for FOSS projectsIt’s just started

https://foss.heptapod.net

Ready to welcome FOSS projects fleeing Bitbucket

Set up and sponsored by Clever Cloud and Octobus

Community managed

Some reasonable restrictions and priority rules.

Commercial service coming soon

Georges Racinet Heptapod

Page 24: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Free Heptapod hosting for FOSS projectsIt’s just started

https://foss.heptapod.net

Ready to welcome FOSS projects fleeing Bitbucket

Set up and sponsored by Clever Cloud and Octobus

Community managed

Some reasonable restrictions and priority rules.

Commercial service coming soon

Georges Racinet Heptapod

Page 25: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Free Heptapod hosting for FOSS projectsIt’s just started

https://foss.heptapod.net

Ready to welcome FOSS projects fleeing Bitbucket

Set up and sponsored by Clever Cloud and Octobus

Community managed

Some reasonable restrictions and priority rules.

Commercial service coming soon

Georges Racinet Heptapod

Page 26: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

How is that even possible?After all, it’s called GitLab!

Git and Mercurial have lots in common

commits identified by hashes,

exposed to end users,

looks like this:

Branches? – Heptapod has a mapping

Georges Racinet Heptapod

Page 27: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

How is that even possible?After all, it’s called GitLab!

Git and Mercurial have lots in common

commits identified by hashes,

exposed to end users,

looks like this:

Branches? – Heptapod has a mapping

Georges Racinet Heptapod

Page 28: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

How is that even possible?After all, it’s called GitLab!

Git and Mercurial have lots in common

commits identified by hashes,

exposed to end users,

looks like this:

Branches? – Heptapod has a mapping

Georges Racinet Heptapod

Page 29: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

How is that even possible?After all, it’s called GitLab!

Git and Mercurial have lots in common

commits identified by hashes,

exposed to end users,

looks like this:

Branches? – Heptapod has a mapping

Georges Racinet Heptapod

Page 30: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

How is that even possible?After all, it’s called GitLab!

Also, doesn’t impact so much of the whole

Georges Racinet Heptapod

Page 31: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Call for contributors

There’s a vast variety of work to be done in a very rich landscape:

Languages: Ruby, Go, Python, Javascript, maybe Rust

Data: PostgreSQL, Redis, Mercurial, Git

Protocols: gRPC, HTTP/2

Inner configuration manager: Chef

Can be complex, but helping fellow developers is rewarding

Lots of easier issues to get started

Georges Racinet Heptapod

Page 32: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Call for contributors

There’s a vast variety of work to be done in a very rich landscape:

Languages: Ruby, Go, Python, Javascript, maybe Rust

Data: PostgreSQL, Redis, Mercurial, Git

Protocols: gRPC, HTTP/2

Inner configuration manager: Chef

Can be complex, but helping fellow developers is rewarding

Lots of easier issues to get started

Georges Racinet Heptapod

Page 33: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Call for contributors

There’s a vast variety of work to be done in a very rich landscape:

Languages: Ruby, Go, Python, Javascript, maybe Rust

Data: PostgreSQL, Redis, Mercurial, Git

Protocols: gRPC, HTTP/2

Inner configuration manager: Chef

Can be complex, but helping fellow developers is rewarding

Lots of easier issues to get started

Georges Racinet Heptapod

Page 34: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Call for contributors

There’s a vast variety of work to be done in a very rich landscape:

Languages: Ruby, Go, Python, Javascript, maybe Rust

Data: PostgreSQL, Redis, Mercurial, Git

Protocols: gRPC, HTTP/2

Inner configuration manager: Chef

Can be complex, but helping fellow developers is rewarding

Lots of easier issues to get started

Georges Racinet Heptapod

Page 35: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Why use Mercurial in 2020Hasn’t Git simply won?

Here are some Mercurial strong points:

Easy to learn, especially for beginners

Flexible, thanks to extensions written in Python

Excellent scalability

Powerful query language (revsets)

Innovative non-destructive and shareable history editing(amend, rebase, absorb. . . )

Georges Racinet Heptapod

Page 36: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Why use Mercurial in 2020Hasn’t Git simply won?

Here are some Mercurial strong points:

Easy to learn, especially for beginners

Flexible, thanks to extensions written in Python

Excellent scalability

Powerful query language (revsets)

Innovative non-destructive and shareable history editing(amend, rebase, absorb. . . )

Georges Racinet Heptapod

Page 37: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Why use Mercurial in 2020Hasn’t Git simply won?

Here are some Mercurial strong points:

Easy to learn, especially for beginners

Flexible, thanks to extensions written in Python

Excellent scalability

Powerful query language (revsets)

Innovative non-destructive and shareable history editing(amend, rebase, absorb. . . )

Georges Racinet Heptapod

Page 38: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Why use Mercurial in 2020Hasn’t Git simply won?

Here are some Mercurial strong points:

Easy to learn, especially for beginners

Flexible, thanks to extensions written in Python

Excellent scalability

Powerful query language (revsets)

Innovative non-destructive and shareable history editing(amend, rebase, absorb. . . )

Georges Racinet Heptapod

Page 39: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Why use Mercurial in 2020Hasn’t Git simply won?

Here are some Mercurial strong points:

Easy to learn, especially for beginners

Flexible, thanks to extensions written in Python

Excellent scalability

Powerful query language (revsets)

Innovative non-destructive and shareable history editing(amend, rebase, absorb. . . )

Georges Racinet Heptapod

Page 40: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Why use Mercurial in 2020Hasn’t Git simply won?

Here are some Mercurial strong points:

Easy to learn, especially for beginners

Flexible, thanks to extensions written in Python

Excellent scalability

Powerful query language (revsets)

Innovative non-destructive and shareable history editing(amend, rebase, absorb. . . )

Georges Racinet Heptapod

Page 41: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Current sponsors

Octobus

Notile

Logilab https://logilab.fr

Pythonian https://pythonian.fr

Clever Cloud

Georges Racinet Heptapod

Page 42: Heptapod - FOSDEM · GitLab A well-known, fully integrated forge Git centric, with Merge Requests and issues Built-in Continuous Integration and Deployment (CI/CD) Many, many other

Thank you for your attention

Any questions?

These slides are on the FOSDEM site:https://fosdem.org/2020/schedule/event/heptapod_mercurial/

Heptapod Web site: https://heptapod.net

Docker: https://hub.docker.com/r/octobus/heptapod

Sources: https://foss.heptapod.net/heptapod

Georges Racinet Heptapod