"MQL5 Algo Forge'u Kullanmaya Başlama" makalesi için tartışma - sayfa 2

 
Fernando Carreiro #:

Hayır! "Çatal" ve "klon" aynı şey değildir. Lütfen iki kavramı birbirine karıştırmayın

Bunlar farklı kavramlar, ancak ben hala başkasının deposuyla çalışma becerisi elde etmek için önerilen mekanizmanın olanaklarını tam olarak anlamadığınızı düşünüyorum. Ancak önce pratikte test etmek istediğim için henüz kesin bir şey söyleyemem.
 
@Yuriy Bykov # Bunlar farklı kavramlar, ancak ben hala başkasının deposuyla çalışma becerisi elde etmek için önerilen mekanizmanın olanaklarını tam olarak anlamadığınızı düşünüyorum. Ancak önce pratikte test etmek istediğim için henüz kesin bir şey söyleyemem.

Çok iyi anlıyorum!

"Çatal" yerine "klon" kullanmak istememin nedeni değil Çünkü kendi türev çalışmalarımla üzerinde değişiklik yapmak ya da çalışmak istiyorum. Çünkü orijinal çalışmayı ve gelecekte yapılacak güncellemeleri "takip etmek" ve daha sonra "çekmem" gereken yeni "taahhütler" olduğunda haberdar olmak istiyorum. "Klon" adı verilen işlevselliğin var olma nedeni budur.

MetaQuotes'un bir "çatal "ı desteklememesi ve ardından "klon" ile onu çekmemesi gerektiği açıklanmıştır. Bu bir "çatal" ve ardından bir "çekme" olmalıdır, "klon" değil. Farklı işlevleri birbirine karıştırıyorlar.

EDIT: MetaQuotes "sakatlanmış" bir Git çözümü uygulamakta ısrar ederse ve bunu bir "özellik" olarak adlandırırsa, önceki SVN yönteminden daha kötü sonuçlanacaktır.

 

Demek istediğim, yerel makinede bir deponun git klonu yapıldığında, orijinal depodan klonlama ile yeni bir çataldan klonlama arasında (dosya bileşimi ve commit geçmişi açısından) hiçbir fark olmadığıdır.

Git dokümantasyonu, orijinal depodaki güncellemeleri bu deponun çatalının bir klonuna nasıl alabileceğinizi açıklar.Bu, bir komut satırı arayüzü aracılığıyla en azından temel depo becerileri gerektirir. Yani, aslında, yerel bir kod klonunu güncelleme yeteneği aslında var. Ancak, bu yerel klonu yalnızca MetaEditor kullanarak oluşturmak için, kullanıcı profilinizde orijinal deponun bir çatalını oluşturmanız gerekir. Sadece çatal oluşturulduktan sonra, adı MetaEditor'daki Paylaşılan Projeler listesinde görünecektir.

Genel olarak, bu yaklaşımı gerçekten sevmiyorum. Sonuçta, başka birinin deposunda düzenleme yapmayı planlamıyorsak, bir çatala ihtiyacımız yoktur, orijinal deponun bir klonu yeterlidir. Bu durumda bir çatal, depolarımızın listesinde ek bir "ekstra" öğedir. Anladığım kadarıyla, orijinal depodan alınan kod üzerinde aktif olarak değişiklik yapmayı planladığımızda bir çatal oluşturuyoruz ve bu değişikliklerin çatalımızdan orijinal depoya aktarılmasını beklemiyoruz (Pull Request aracılığıyla böyle bir olasılık olsa da).

Kendimizi MetaQuotes geliştiricilerinin yerine koyarak, örneğin, diğer depoların klonları için "Diğer Paylaşılan Projeler" gibi sabit bir adla ayrı bir klasör ekleyebiliriz. Ancak bu seçeneğin kendi dezavantajları var, bu yüzden muhtemelen mevcut çözümden daha da kötü. Şu anda aklıma daha iyi bir seçenek gelmiyor. Belki MetaEditor işlevselliği gelecekte genişletilecek ve bize başka bir çözüm sunulacak.

Güncellemenin işlevselliğini test etmek istiyorum. Bu yüzden FMIC deponuzun bir çatalını yaptım, izleme listeme ve favorilerime ekledim. Çatalı güncellemeyi deneyebilmek için nasıl öğrenebileceğimi görmek için bir sonraki işleminizi bekleyeceğim.

Fork a repository - GitHub Docs
Fork a repository - GitHub Docs
  • docs.github.com
A fork is a new repository that shares code and visibility settings with the original “upstream” repository.
 
@Yuriy Bykov # Güncellemenin işlevselliğini test etmek istiyorum. Bu yüzden FMIC deponuzun bir çatalını oluşturdum, izleme listeme ve favorilerime ekledim. Çatalı güncellemeyi deneyebilmek için nasıl öğrenebileceğimi görmek için bir sonraki işleminizi bekleyeceğim.

Bir test olarak, Heikin Ashi yayınının bir açıklamasını Markdown README dosyası olarak ekledim ve depoya işledim.

Lütfen değişiklikten haberdar olup olmadığınıza ve çatalı güncelleyip güncelleyemeyeceğinize bakın.

Added a description of the Heikin Ashi publication, as a Markdown README file. · a302233fbc
Added a description of the Heikin Ashi publication, as a Markdown README file. · a302233fbc
  • fmic
  • forge.mql5.io
FMIC - MQL5 & MQL4 CodeBase publications by Fernando Carreiro (FMIC)
 
@Yuriy Bykov # Kendimizi MetaQuotes geliştiricilerinin yerine koyarak, örneğin, diğer depoların klonları için "Diğer Paylaşılan Projeler" gibi sabit bir ada sahip ayrı bir klasör ekleyebiliriz. Ancak bu seçeneğin kendi dezavantajları var, bu yüzden muhtemelen mevcut çözümden daha da kötü. Şu anda aklıma daha iyi bir seçenek gelmiyor. Belki de MetaEditor işlevselliği gelecekte genişletilecek ve bize başka bir çözüm sunulacak.

MetaEditor ayrıca JPG resim dosyalarını veya "tanınmaz" olarak gördüğü diğer dosya türlerini işleyemiyor, ancak bunları harici bir Git istemcisi kullanarak işleyebiliyorum.

NOT! AlgoForge açık kaynak kodlu ForgeJo yazılımına dayanmaktadır.

 
Fernando Carreiro #:

Bir test olarak, Heikin Ashi yayınının açıklamasını Markdown formatında bir README dosyası olarak ekledim ve depoya iş ledim.

Lütfen bu değişiklikle ilgili bildirim alıp almadığınızı ve çatalı güncelleyip güncelleyemeyeceğinizi kontrol edin.

Bunu depo web arayüzünde gördüm:

Çatalı daha sonra güncellemeye çalışacağım

 
Fernando Carreiro #:

Bir test olarak, Heikin Ashi yayınının açıklamasını Markdown formatında bir README dosyası olarak ekledim ve depoya iş ledim.

Lütfen bu değişiklikle ilgili bildirim alıp almadığınızı ve çatalı güncelleyip güncelleyemeyeceğinizi kontrol edin.

Öncelikle, yerel çatal klonum henüz en son commit'e sahip değil:


Git belgelerine göre orijinal depoya bağlanıyor:

Çatalın web arayüzüne gidiyorum ve bunu görüyorum:


"Sync" düğmesine tıklıyorum ve ardından MetaEditor'da bir Pull yapıyorum:


Gördüğünüz gibi, tüm taahhütleriniz güvenli bir şekilde çatalda ve ardından yerel bilgisayarımdaki çatalın klonunda Pull'dan sonra.

Bu dokümantasyon sayfasında konsol komutlarını kullanarak senkronize etmenin başka yolları da var, ancak tüm komutlar zaten senkronize olduğu için bunları test etmedim.

MetaEditor'daki Commit ve Push komutunun çatal için nasıl davranacağını görmek için daha sonra daha fazla deneme yapacağım. Acaba düzenlemeleri orijinal depoya da göndermeye çalışacak mı?

Syncing a fork - GitHub Docs
Syncing a fork - GitHub Docs
  • docs.github.com
Sync a fork of a repository to keep it up-to-date with the upstream repository.
 
@Yuriy Bykov #:

İlk olarak, yerel çatal klonum henüz en son işleme sahip değil:

Git belgelerine göre orijinal depoyu bağlama:

Çatalın web arayüzüne gidiyorum ve şunu görüyorum:

"Eşitle" düğmesine tıklıyorum ve ardından MetaEditor'da bir Çekme işlemi yapıyorum:

Gördüğünüz gibi, tüm taahhütleriniz güvenli bir şekilde çatalda ve ardından Pull'dan sonra yerel bilgisayarımdaki çatalın klonundaydı.

Belgelerin bu sayfasında konsol komutlarını kullanarak senkronize etmenin başka yolları da var, ancak bunları test etmedim çünkü tüm komutlar zaten senkronize edilmiş durumda.

Bunların hepsi güzel, ancak "Klon" ve "Çatal "ın aynı şey olmadığını ve MetaQuotes'un benimsediği yöntemin sadece projeyi senkronize edebilmek için MetaEditor dışında ekstra müdahale gerektirdiğini kanıtladınız.

Bir "klon" ekstra depolama alanı veya ekstra adım gerektirmezken, "çatallar" için AlgoForge sunucularında ekstra depolama alanı gerektirdiğinden bahsetmiyorum bile.

MetaQuotes uygulamalarının etkili kullanım için çok "kusurlu" olduğunu düşünüyorum ve harici bir Git istemcisi kullanmaya veya VSCode kullanmaya devam edeceğim (AlgoForge ile sorunsuz çalışıyor).

 
Fernando Carreiro #:
MetaQuotes uygulamalarının etkili kullanım için çok "kusurlu" olduğunu düşünüyorum ve harici bir Git istemcisi kullanmaya veya VSCode kullanmaya devam edeceğim (AlgoForge ile sorunsuz çalışıyor).

Sizi harici Git istemcileri kullanıcıları topluluğumuza davet etmekten mutluluk duyuyoruz!😁

 
Fernando Carreiro #:

MetaQuotes uygulamasını etkili bir şekilde kullanmak için çok "kusurlu" buluyorum ve harici bir Git istemcisi veya VSCode kullanmaya devam edeceğim (AlgoForge ile sorunsuz çalışıyor).

Maalesef şimdilik durum gerçekten de böyle. Ben de şimdilik harici bir istemci kullanmayı tercih ediyorum. Ancak son 5 ayda MetaEditor'a eklenenleri karşılaştırırsanız, gözle görülür bir ilerleme olduğunu görürsünüz. Sadece daha önce yeni depo ile çalışmak için hiçbir araç yoktu ve şimdi en azından bu kadar azaltılmış bir sürüm var.