GitHub Desktp שהרבה מעמיתי עובדים עימו, נכשל לעבוד עם מאגר שעבר clone.
אדם היה בוחר תיקייה , התוכנה מראה את תוכן המאגר והכל נראה תקין, אבל אם סוגרים את ה GitHub Desktop , התוכנה הייתה מקבלת את פניך עם השגיאה :
לחיצה על locate מחזירה למקום וזה היה נראה שהכל עובד, אבל אתחול של התוכנה היה מחזיר את התוכנה למצב בו היתה מבקשת ממך לאתר את ה repository.
Can't locate repository last seen at ...
לחיצה על locate מחזירה למקום וזה היה נראה שהכל עובד, אבל אתחול של התוכנה היה מחזיר את התוכנה למצב בו היתה מבקשת ממך לאתר את ה repository.
חיפוש זריז בלוגים גילה שיש באג בתוכנה שאם הפלט של git status מעל 19.0734 מ"ב , התוכנה היתה נכשלת אבל לא מציגה את המידע למשתמש. כן אפילו בימי ה type script העליזים חזרנו לבעיות של הקצאת זכרון לתוכנה.
הפתרון ?
שימוש ב .gitignore שיכיל כל אחת מהתיקיות אותן git status מדווח כ untracked(במקום לבטל קבצים בודדים).
אז למה אני לא מדווח את הבאג ב issues של התוכנה ולא שולח תיקון ל GitHub Desktop ?
כי זה לא באמת תוכנה ברישיון MIT ויש לזה אפילו EULA.
למי שמאמין בטענה כי מדובר בתוכנה ברישיון MIT צריך לקרוא את ה Readme שלהם או לבקר באתר. קוד המקור אולי (?) באמת מופץ ברישיון MIT , אבל הבינארי לא (לפי מה שכתוב באתר שלהם) , וגם אי אפשר לפתוח באגים (כי יש עוד רישיון בשביל לפתוח באגים).
אני ממש לא עורך דין , אבל אני לא מאמין שתוכנה יכולה להיות גם מצד אחד ברישיון MIT וגם מצד שני להכיל הסכם EULA שמגביל את אופן השימוש בתוכנה (שזה אחד הסעיפים ב רישיון MIT).
לצד הטכני יותר :
קיימת תיקיית לוגים במיקום :
%APPDATA%\Github Desktop\logs\
ושם אני מגלה את היופי הבא:
2020-09-23T19:29:15.843Z - error: [ui] 'git status' emitted 43812700 bytes, which is beyond the supported threshold of 20000000 bytes
השאלה שבאמת צריכים לשאול למה שגיאה כזאת , לא מוצגת למשתמש באמת ,כי הוא חושב שזה תוכנה שלא מצליחה לעבוד ומחפש פתרונות.
ולפני שאנשים באים ואומרים זה המשתמשים שלא משתמשים כנון ב gitignore והם היו צריכים לחשוב על זה אני אומר שיש די הרבה כלים שלא היו מתנהגים ככה , ואלו שלא מסוגלים לתמוך לפחות מזהירים אותך מזה.