Le terme "hunk" n'est en effet pas spécifique à Git, et vient de l'anglais "hunk". Format Gnu diffutil . Plus succinctement encore :
Chaque morceau montre un domaine dans lequel les dossiers diffèrent.
Mais le défi pour Git est de déterminer la bonne façon de procéder. limites pour un gros morceau.
Le reste de la réponse permet d'illustrer ce à quoi ressemble un hunk dans Git :
Après diverses heuristiques (comme le compactage un qui a disparu dans Git 2.12), les responsables de Git ont opté pour l'indentation, qui a été introduite dans Sept. 2016 avec Git 2.11, commit 433860f .
Certains groupes d'ajouts/suppressions parce que les lignes en bordure du groupe ne sont pas uniques.
Le choix de bonnes équipes pour de tels groupes n'est pas une question de correction, mais a certainement un effet important sur l'esthétique. .
Par exemple, considérons les deux différences suivantes.
La première concerne les émissions de la norme Git :
--- a/9c572b21dd090a1e5c5bb397053bf8043ffe7fb4:git-send-email.perl
+++ b/6dcfa306f2b67b733a7eb2d7ded1bc9987809edb:git-send-email.perl
@@ -231,6 +231,9 @@ if (!defined $initial_reply_to && $prompting) {
}
if (!$smtp_server) {
+ $smtp_server = $repo->config('sendemail.smtpserver');
+}
+if (!$smtp_server) {
foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
if (-x $_) {
$smtp_server = $_;
La diff suivante est équivalente, mais elle est o d'un point de vue esthétique :
--- a/9c572b21dd090a1e5c5bb397053bf8043ffe7fb4:git-send-email.perl
+++ b/6dcfa306f2b67b733a7eb2d7ded1bc9987809edb:git-send-email.perl
@@ -230,6 +230,9 @@ if (!defined $initial_reply_to && $prompting) {
$initial_reply_to =~ s/(^\s+|\s+$)//g;
}
+if (!$smtp_server) {
+ $smtp_server = $repo->config('sendemail.smtpserver');
+}
if (!$smtp_server) {
foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
if (-x $_) {
Ce patch apprend à Git à choisir de meilleures positions pour ces "curseurs de diff" en utilisant une heuristique qui prend la position des lignes vierges proches a l'indentation des lignes voisines .
Avec Git 2.14 (Q3 2017), cette heuristique d'indentation sera la valeur par défaut !
Véase commit 1fa8a66 (08 mai 2017) par Jeff King ( peff
) .
Voir commit 33de716 (08 mai 2017) par Stefan Beller ( stefanbeller
) .
Voir commit 37590ce , commit cf5e772 (08 mai 2017) par Marc Branchaud.
(fusionné par Junio C Hamano -- gitster
-- en commit 53083f8 , 05 Jun 2017)
diff : activation de l'heuristique d'indentation par défaut
La fonctionnalité a été incluse dans la v2.11 (sortie le 2016-11-29) et nous n'avons reçu aucun négatif. Bien au contraire, tous les retours que nous avons eus étaient positifs.
L'activer par défaut. Les utilisateurs qui n'aiment pas cette fonction peuvent la désactiver. en paramétrant diff.indentHeuristic
.