7 Punkte von xguru 2022-01-21 | 3 Kommentare | Auf WhatsApp teilen
  • Basiert auf der Patch-Theorie und ist dabei schnell und skalierbar

  • Commutation

→ Einzelne Änderungen können unabhängig von ihrer Reihenfolge angewendet werden, ohne dass sich die Versions-ID ändert

→ Ein deutlich einfacherer Workflow als bei git rebase oder hg transplant

→ Es gibt zwar die channels-Funktion, die Branches ähnelt, sie ist aber nicht so wichtig wie in anderen Systemen. Ein Feature-Branch ist in Pijul zum Beispiel einfach nur eine Änderung

→ Das saubere Halten der Historie ist die Standardeinstellung

  • Merge correctness

→ Pijul garantiert beim Mergen mehrere Dinge

→ Am wichtigsten ist, dass die Reihenfolge der Zeilen immer erhalten bleibt. Anders als bei 3-Wege-Merges, bei denen Zeilen gelegentlich durcheinandergeraten

→ Wenn die Reihenfolge nicht bestimmt werden kann, etwa bei gleichzeitigen Bearbeitungen, entsteht ein Konflikt. Das unterscheidet sich von Systemen, die dies als "automatisch" oder "kein Konflikt" behandeln

  • First-class conflicts

→ In Pijul sind Konflikte nicht als "Merge-Fehler", sondern als Standardfall modelliert

→ Insbesondere wird ein Konflikt zwischen zwei Änderungen durch eine einzige Änderung aufgelöst

  • Partial Clones

→ Mit Commutation lässt sich nur ein kleiner Teilbereich eines Repositorys klonen. Tatsächlich ist es auch möglich, nur Änderungen auf diesen Teilbereich anzuwenden

→ Arbeiten mit Partial Clones erzeugen Changes, die sich leicht an große Repositorys senden lassen

3 Kommentare

 
maxn0d3 2022-12-05

Git ist zwar ehrlich gesagt im Arbeitsalltag der Standard, aber ziemlich unbequem -- Es ist Zeit, nach und nach auf das Rust-basierte Pijul umzusteigen

 
galadbran 2022-01-21

Der größte Unterschied zwischen svn und git ist – wenn man einmal davon absieht, dass es sich um ein verteiltes Repository handelt –, dass svn Diffs verwaltet, während git Snapshots verwaltet. Da hier von Patch-Theorie die Rede ist, habe ich irgendwie den Eindruck, dass es eher in Richtung der Verwaltung von Diffs geht.

 
xguru 2022-01-21

Die Patch-Theorie (Theory of Patches) können Sie sich im verteilten Versionsverwaltungssystem Darcs ansehen.

Beim Vergleich von Darcs und Git wird das so erklärt.

A set of changes that you record in Git is called a “commit”, while in Darcs it is called a “patch”.