7 poin oleh xguru 2022-01-21 | 3 komentar | Bagikan ke WhatsApp
  • Berbasis teori patch, namun tetap cepat dan skalabel

  • Commutation

→ Setiap perubahan dapat diterapkan tanpa bergantung pada urutan, tanpa mengubah version id

→ Alur kerja yang jauh lebih sederhana dibanding git rebase atau hg transplant

→ Ada fitur channels yang mirip dengan branch, tetapi tidak sepenting di sistem lain. Misalnya, feature branch di Pijul hanyalah sebuah perubahan

→ Menjaga riwayat tetap rapi adalah pengaturan bawaan

  • Merge correctness

→ Pijul menjamin beberapa hal saat melakukan merge

→ Yang paling penting adalah urutan baris selalu dipertahankan. Berbeda dari merge 3-way yang kadang mencampur urutan baris

→ Jika urutan tidak dapat ditentukan (seperti pada pengeditan simultan), hasilnya menjadi conflict, berbeda dari sistem yang menyebutnya "Automatic" atau "No Conflict"

  • First-class conflicts

→ Di Pijul, conflict bukanlah "kegagalan merge", melainkan dimodelkan sebagai kasus standar

→ Secara khusus, conflict yang terjadi antara dua perubahan diselesaikan sebagai satu perubahan tersendiri

  • Partial Clones

→ Dengan memanfaatkan Commutation, hanya subset kecil dari repositori yang bisa dikloning. Bahkan perubahan hanya untuk subset tersebut juga bisa diterapkan

→ Pekerjaan pada Partial Clone menghasilkan changes yang dapat dengan mudah dikirim ke repositori berskala besar

3 komentar

 
maxn0d3 2022-12-05

Sejujurnya Git memang dipakai karena sudah jadi standar di dunia kerja, tapi sangat tidak nyaman -- Sudah waktunya pelan-pelan beralih ke Pijul berbasis Rust

 
galadbran 2022-01-21

Perbedaan terbesar antara svn dan git (selain fakta bahwa git adalah repositori terdistribusi) adalah svn mengelola diff, sedangkan git mengelola snapshot. Jadi karena disebut teori patch, entah kenapa saya merasa ini sepertinya akan lebih ke arah yang mengelola diff.

 
xguru 2022-01-21

Teori patch (Theory of Patches) bisa Anda lihat di Darcs, yaitu sistem manajemen versi terdistribusi.

Saat membandingkan Darcs dan Git, hal ini dijelaskan seperti berikut.

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