Language Selection

English French German Italian Portuguese Spanish

Git v2.33.0

Filed under
New contributors whose contributions weren't in v2.32.0 are as follows.
Welcome to the Git development community!

  Anders Höckersten, Andrew Berry, Andy AO, Beshr Kayali,
  dorgon.chang, edef, Fabian Stelzer, Fabian Wermelinger, Gregory
  Anders, Greg Pflaum, Hu Jialun, Jason Hatton, Julian Verdurmen,
  Matthew Hughes, Michael Schindler, Reuven Y, Stephen Manz,
  Tao Klerks, and Teng Long.

Returning contributors who helped this release are as follows.
Thanks for your continued support.

  Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie,
  Anders Kaseorg, Andrei Rybak, Andrzej Hunt, Atharva Raykar,
  Bagas Sanjaya, brian m. carlson, Carlo Marcelo Arenas Belón,
  Christian Couder, Christopher Diaz Riveros, Daniel Santos,
  Dennis Ameling, Denton Liu, Derrick Stolee, Đoàn Trần Công
  Danh, Elijah Newren, Emily Shaffer, Emir Sarı, Eric Sunshine,
  Eric Wong, Fangyi Zhou, Felipe Contreras, Han-Wen Nienhuys,
  Jean-Noël Avila, Jeff King, Jiang Xin, Johannes Schindelin,
  Jonathan Nieder, Jonathan Tan, Jordi Mas, Josh Steadmon, Junio C
  Hamano, Kaartic Sivaraam, Martin Ågren, Matheus Tavares, Matthew
  Rogers, Matthias Aßhauer, Nicolas Pitre, Patrick Steinhardt,
  Peter Krefting, Philippe Blain, Ralf Thielow, René Scharfe,
  Sergey Organov, Shourya Shukla, Taylor Blau, Thomas Bétous,
  Thomas Braun, Trần Ngọc Quân, Wolfgang Müller, Yi-Jyun Pan,
  ZheNing Hu, and 依云.

[*] We are counting not just the authorship contribution but issue
    reporting, mentoring, helping and reviewing that are recorded in
    the commit trailers.

Read more

Also: Git 2.33 Released With New "merge-ort" Merging For 500~9000x Speed-Up

Git 2.33.0 released

  • Git 2.33.0 released

    Version 2.33.0 of the Git source-code management system has been released.

Git 2.33 released with new optional merge process...

  • Git 2.33 released with new optional merge process likely to become the default: It's 'over 9,000' times faster

    Git 2.33 has been released, including a new optional merge process called merge-ort, which the team hopes will become the default in the next version.

    Git releases are relatively frequent. Git 2.31 was released in March and Git 2.32 in June. According to the release announcement, version 2.33 "does not have many end-user facing changes and new features" aside from fixes and internal improvements – but there is one major change, described as a "new merge strategy backend."

    The strategy in question is merge-ort, where ort stands for "Ostensibly Recursive's Twin," according to its creator Elijah Newren.

    A merge strategy is the mechanism used to combine code from multiple versions of the same codebase. Merging is a critical feature of distributed version control systems since it avoids the need for locking a main version when a checked-out copy is being edited. Merge mechanisms work by comparing the contents of a file with the contents of its ancestor, to identify changed sections, and then comparing the changed sections of one file with those of another.

Git 2.33 Released with New Optional Merge Strategy...

  • Git 2.33 Released with New Optional Merge Strategy Named ‘merge-ort’

    Git 2.33 has been released. It mainly dealt with bug fixes and a new strategy for carrying out merges. For those unfamiliar, a merge strategy is the mechanism used to combine code from multiple versions of the same codebase.

    To merge two branches, Git currently uses the command, which was first written as an external Python script and then rewritten in C – merge-recursive. Git 2.33 brings a new merge strategy called merge-ort.

    Preparation work for a new merge strategy backend is now on its final stretch. Merge-ort is pitched as a complete re-write of the currently used recursive approach, that is meant to fix issues in areas like correctness, and performance. It has been rewritten from scratch with the same concepts of recursion and rename-detection.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

Security Leftovers

today's howtos

  • How To Install Cinnamon on Debian 11 - idroot

    In this tutorial, we will show you how to install Cinnamon on Debian 11. For those of you who didn’t know, Cinnamon is the default desktop environment of the Linux Mint distribution which offers advanced features and a traditional user experience. Cinnamon is also available as an optional desktop for other Linux distributions like Ubuntu, Fedora, Arch Linux, OpenSUSE, etc. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step-by-step installation of the Cinnamon desktop environment on a Debian 11 (Bullseye).

  • Run Nexus Repository Behind Nginx Reverse Proxy -

    In this tutorial, you will learn how to run Nexus repository behind Nginx reverse proxy. Nginx can be configure to proxy HTTP requests. In this setup, Nginx receives requests and passes it onto specified proxied server, fetches the response, and sends it back to the client.

  • Linux Foundation to introduce new DevOps Bootcamp
  • SUSE documentation survey 2021 – some results
  • How to install Friday Night Funkin: Neo on a Chromebook

    Today we are looking at how to install Friday Night Funkin: Neo on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • How to use the Buttercup password manager on Linux

    Buttercup is an advanced, open-source password vault. It encrypts your passwords with AES 256bit cryptography to keep them safe. If you’re tired of proprietary password solutions on Linux and want something open-source, you’ll love this guide. In this tutorial, we’ll go over how to install Buttercup on Linux. We’ll also show you how to set up your password vault and generate a secure password. Note: Buttercup is also available for iOS and Android in their respective app stores.

  • How to use YouTube Music on the Linux desktop

    YouTube Music is an excellent service. But, sadly, there is no official client for Linux users to enjoy the service. Thankfully, the community has taken it upon itself to create an unofficial YouTube Music app. Here’s how to use it on your system.

  • How to use the AuthPass password manager on Linux

    AuthPass is an open-source password manager for Android, iOS, Linux, Mac OS, and Windows. It is secure and a great way to save your passwords and sensitive information. In this guide, we’ll show you how to set up AuthPass on Linux and how to use it too.

  • How to install Zoom on Elementary OS 6.0 - Invidious

    In this video, we are looking at how to install Zoom on Elementary OS 6.0.

  • How to Install and Configure RabbitMQ on Debian 11

    RabbitMQ is a free, open-source and one of the most popular message broker software. It supports multiple messaging protocols and uses plugins to communicate with popular messaging solutions like MQTT. A message broker is an application that stores messages for an application. Whenever an application wants to send data to another application, the app publishes the message onto the message broker. RabbitMQ can be deployed in distributed configurations to meet high-scale, high-availability requirements. In this post, we will show you how to install and configure RabbitMQ message broker software on Debian 11.

  • How to Create an Amazon Machine Image (AMI) and use it on AWS

    An Amazon Machine Image (AMI) provides the information required to launch an instance. An EC2 instance can not be launched without an AMI. We can create as many instances as we want from a single AMI when we need multiple instances with the same configuration. To create an instance we can use readily available AMI or we can create our own AMI. To create a custom AMI we need to first launch an instance using one of the available AMIs, make the required configuration on the instance and then use that instance to create an AMI. Instances launched from this new custom AMI include the customizations that we made when we created the AMI. We can create AMIs from either running or stopped instances. Once we create an AMI, we can either keep it private so that only we can use it, or we can share it with a specified list of AWS accounts. We can also make our custom AMI public so that the community can use it.

New bash programming articles

  • How to use bash aliases

    Most of the users like to use shortcuts for running commands. There are many commands in Ubuntu that we need to execute regularly. It will be very helpful for us if we can run those common commands by typing shortcut commands. Using bash aliases, Ubuntu users can easily create shortcut commands of the large commands those are used frequently. Bash aliases not only make the task easier but also save the time of the users. The user can declare alias temporary or permanently. The temporary aliases can be used as long as the session of the user exists. If the user wants to use shortcut commands every time the session starts, then he or she has to create permanent alias by using ~/.bashrc and ~/.bash_profile files. This tutorial shows how you can create and use bash aliases in Ubuntu by using some examples.

  • Bash Arithmetic Operation

    Using bash aliases, Ubuntu users can easily create shortcut commands of the large commands those are used frequently. Bash aliases not only make the task easier but also save the time of the users. The user can declare alias temporary or permanently. How to use bash aliases is explained in this article.

  • How to use arrays in Bash

    When you want to use multiple data using a single variable in any programming language, you have to use array variables. The list of data can be assigned and used using an array variable. Bash is a weakly typed language that does not require defining any data type for declaring the variable. Array declaration in bash is a little bit different from other standard programming languages. Two types of the array can be declared in bash. Numeric array and associative array. If the index of an array is numeric, then it is called a numeric array, and if the index of an array is a string, it is called an associative array. How you can declare a numeric array, associative array, and iterate elements of the array using for loop are described with examples in this tutorial.

  • Bash Head and Tail Command

    Many types of commands are available in bash to show the content of a file. Most commonly used commands are ‘cat’, ‘more’, ‘less’, ‘head’ and ‘tail‘ commands. To read the entire file, ‘cat’, ‘more’, and ‘less‘ commands are used. But when the specific part of the file is required to read then ‘head‘ and ‘tail‘ commands are used to do that task. ‘head‘ command is used to read the file from the beginning and the ‘tail‘ command is used to read the file from the ending. How you can use ‘head‘ and ‘tail‘ commands with different options to read the particular portion of a file is shown in this tutorial. You can use any existing file or create any new file to test the functions of ‘head‘ and ‘tail‘ commands. Create two text files named products.txt and employee.txt with the following content to show the use of ‘head‘ and ‘tail‘ commands.

  • Bash Range

    You can iterate the sequence of numbers in bash in two ways. One is by using the seq command, and another is by specifying the range in for loop. In the seq command, the sequence starts from one, the number increments by one in each step, and print each number in each line up to the upper limit by default. If the number starts from the upper limit, then it decrements by one in each step. Normally, all numbers are interpreted as a floating-point, but if the sequence starts from an integer, the decimal integers will print. If the seq command can execute successfully, then it returns 0; otherwise, it returns any non-zero number. You can also iterate the sequence of numbers using for loop with range. Both seq command and for loop with range are shown in this tutorial by using examples.

  • Bash Script User Input

    In the seq command, the sequence starts from one, the number increments by one in each step, and print each number in each line up to the upper limit by default. If the seq command can execute successfully, then it returns 0; otherwise, it returns any non-zero number. Two ways to generate the sequence of numbers are shown with examples in this article.

  • BASH while loop examples

    Three types of loops are used in bash programming. While loop is one of them. Like other loops, a while loop is used to do repetitive tasks. This article shows how you can use a while loop in a bash script by using different examples.

Mark Text is a Minimal Open Source Markdown Editor

Markdown is developers’ favorite text writing language. It is so clean, simple and minimal and allows developers to focus only on the writing process itself, rather than the writing syntax or other trivial issues. That’s why, it is essential that you use a minimal, distraction-free and clean markdown editor to write or edit your markdown files, so that you can find comfort in your long writing sessions (E.g for documentation or similar). Luckily, many open source markdown editors exist for all types of users and their use cases. Today we’ll be seeing Mark Text; a minimal open source application for writing markdown documents. Read more