CihatAltiparmak / A-BASIC-AUTOUPDATER-MECHANISM

A basic autoupdater mechanism that use github platform
4 stars 0 forks source link

Version.json konusunda bir tavsiye #1

Open reo6 opened 3 years ago

reo6 commented 3 years ago

Merhaba;

Surum guncel mi diye teyit etmek icin version.json da kullanilabilir ama bence otomatik bir sey daha iyi olur, oteki turlu her committe version.json degistirilmeli. Bununla ugrasmak yerine butun git repolarinda bulunan .git folderina bakilabilir. Mesela bu dizindeki bloblari tutan dosyalarin hash degerleri karsilastirilir. Eger farkliysa versiyon farkli demektir, bu durumda main branch'tan update edilir local repo.

https://openclassrooms.com/en/courses/5671626-manage-your-code-project-with-git-github/6152251-explore-gits-file-structure

Burasi isini gorur diye dusunuyorum. Kolay gelsin.

CihatAltiparmak commented 3 years ago

Merhaba, dediklerini araştıracağım. Teşekkür ederim. Linux için haklı olabilirsin. Ama mesela böyle yapılacak bir uygulamanın exe ye çevrildiğini düşün. Son kullanıcı, git in ne olduğunu bilemeyebilir. Kuramayabilir. Github'daki repo, bir şekilde zip olarak indirilebilir. Ama clone'lanması (clonelanmasa bile commitlenmesi için git yazılımına ihtiyaç var)

Ayrıca bir repoyu clonelamak, indirmekten daha fazla sürüyor. Bir de şöyle düşündüm, eğer yapılan güncelleme yanlışsa eski sürüme geri dönme seçeneği de sağlamış olurum benimkinde (senin önerinde de oluyor yanılmıyorsam)

Bir de şu hash işini daha önce düşündüm de, onu kullanabileceğim bir yer şimdilik bulamadım. Ama hash dediğin gibi mantıklı 👍 Ama dediklerin düşünmeye değer şeyler, dediğim gibi bunu araştırayım müsait bir vakitte.

reo6 commented 3 years ago

Iste bu yuzden bir sey yapacagim zaman Windows'u hesaba katmiyorum.

Ama sunu da soyleyeyim eger repo klonlama isi git'siz yapilabiliyorsa git kurulmasina gerek yok. Cunku tek isimiz .git diziniyle. Icindeki bazi dosyalarin hash degeri karsilastirilacak sadece. Lokaldeki repoda commit yapilmaya ihtiyac yok ama, sadece gelistiricilerde git olmasi yeterli. (Ki Github'dan indirilen zip dosyalarinda .git dizini dahil ediliyor diye hatirliyorum)

Guncelleme yanlis yapilmis da olabilir, dogru. Ama zaten main branch stable kod icermeli diye dusunuyorum. Development icin ayri branch acilir, bu branchta development isleri yurutulur daha sonra stable update main branch'a aktarilir. Bu guncelleme sistemi de sadece stable olan branch'tan guncelleme almali diye dusunuyorum. (Yine de yapilmis guncellemeyi geri alma olayi bunda da var olabilir evet.)

CihatAltiparmak commented 3 years ago

Haklısın, ben neden git yazılımı kurulmak zorunda diye düşündüm bilmiyorum. Bu iş için github'ın kendi api si kullanılabilir. release lerin sha ı curl https://api.github.com/repos/Decentra-Network/Decentra-Network/git/refs/tag gibi bir şeyle çekilebiliyor. Ama ben senin dediğin fikri ayrı bir branch açarak ugulamak istiyorum. main branch' inde güncelleme mekanizmasını genel olarak anlattım. github kullanıyoruz evet ama github yerine kendi sunucularını kullanan insanlar var. Yani kısacası reponun açıklamasını değiştirdim, bu reponun sadece yazbel forumundaki sorunun cevabı olarak değil, genel bir konu anlatımı gibi düşünülmesini istiyorum şimdi ;)