List the new version of Git 2.25.0, know its improvements and changes

git2.25

The release of the new version of the control system "Git 2.25.0", which is one of the most popular version control systems, Reliable, high-performance, providing flexible non-linear development tools based on version branching and merging. To ensure history integrity and resistance to changes "retroactively", an implicit hash of all previous history is used in each commit, it is also possible to digitally sign individual commit and tag developers.

Compared to the previous release, the new version adopted 583 prepared changes with the participation of 84 developers, of which 32 participated in the development for the first time.

What's new in Git 2.25.0?

In this new version stands out in the ad, the possibility of partial cloning, which is already close to being stabilized. This allows transferring only a part of the data and working with an incomplete copy of the repository.

Partial cloning is intended to be an improvement over normal cloning in which all data is copied from the repository, including each version of each file in the change history. For very large repositories, copying data leads to a significant increase in traffic and disk space, even if the developer is only interested in a subset of files.

To simplify obtaining only part of the tree of work origin, la new version offers the experimental command meager checking and the new option.

git clone --filter=blob:none --no-checkout /your/repository/here

Specify --filter- Lets you tell the server that you are cloning from the objects of your choice. (In our example, we asked the server to avoid sending us blobs, but you can use multiple possible qualifiers). 

Next we have to tell Git that it can skip checking the repository after getting a response from the server with --no-checkout (As Git tries to verify the content, it will notice that you are missing objects and try to request them from the server. 

Also the new command is also included git sparse-checkout qwhich significantly simplifies work and reduces the organization process of the job with an incomplete repository.

The command sparse-checkout set the route list, without manually configuring as well as displaying the current route list and enabling or disabling partial checkout.

To optimize work with very large repositories and template lists, it is proposed the configuration "git config core.sparseCheckoutCone", which restricts valid templates (instead of arbitrary .gitignore templates, you can specify all paths and whether to extract all files in a given subdirectory).

For example, if the large repository has the directory "A / B / C" and all the work is concentrated in the subdirectory "C", when the mode sparseCheckoutCone is activated, the command «git sparse-checkout set A/B/C»Will extract completely the contents of« C », but from« A »and« B »it will extract only the parts necessary to work with« C ».

En "git add", "git commit", "git reset"  other commands, a new option is added: --pathspec-from-file", what allows loading a list of routes from a file or input stream, instead of listing them on the command line.

An initial implementation of the redesigned command has been proposed git add -i, which allows you to add modified content interactively, rewritten from Perl to C. A similar revision of the command git add -p is underway.

The command "git log --graph» was refactored, forming an ASCII image of the graph with the history of changes in the repository. The processing allowed us to significantly improve and simplify the output without distorting the structure of the story, which, for example, solved the problem of pulling the image out of the line width of the terminal.

While to improve the readability of patched messages sent to mailing lists, the option «git format-patch --cover-from-description subject«, When specifying what, as the cover letter subject for the patch set, the first paragraph of branch descriptive text is used.

Si you want to know more about this launch, you can check the official announcement in the following link 


Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.