בחלק של chechout נדרש להיעזר במידע של status בשביל לוודא שלא דורסים קובץ חדש. הבעיה שלי שהרצה של status מייצרת פלט למשתמש באופן אוטומטי ואני רוצה לבטל את זה כאן.
האם יש דרך?
חלוקה לפונקציות תעזור לך כך שהפונקציות שאתה קורא להן ב-status תקרא להן גם ב-checkout ותשתמש במידע שאתה צריך
הכל מחולק אצלי לפונקציות וקבצים אבל עדיין החלק של ההדפסה הוא מובנה אצלי ב status שזה בערך כל מה שהיא עושה אצלי אנסה לפרק עוד יותר את הפעולות. תודה.
אפשר גם לעשות MODES שונים לפונקציה, כמו שיש לopen
הארכיטקטורה שאני מציע במקרה הזה היא שיהיה פונקציה שמייצרת מילון, ופונקציה אחרת שתדפיס את המילון בצורה יפה. יש דוגמה לזה בלייב של אתמול
נניח ואני אכן משתמשת במילון במקרה של status. איך אני יכולה לשמור על המילון כך שיתאפס רק כאשר מתבצע commit?
הרי כל פעם שאני קוראת לפונקציה מהcommand היא מתחילה מחדש.
האם אפשר להשתמש המודולים שעושים את זה?
מה ההיגיון בזה? המטרה היא לקבל מידע עדכני לפני שדורסים קבצים אז אין שום ערך למילון שנשמר מהפעם האחרונה שהרצנו commit
ההיפך. אני רוצה לשמור מידע עד הקומיט
אני ממליץ לג’נרט את המידע הזה ברילטיים, ולא בצורה aggragated
אם תתחילי לשמור state עבור המצב הזה את תצטרכי לעדכן אותו בכל פעולה, וזה יהפוך להיות סבוך עם הרבה באגים
זה בדיוק מה שחשבתי לעשות. השאלה אם הוספתי קובץ ולמעשה הוא כבר היה בstaging. אפילו ללא שינוי, האם הוא צריך להופיע בסטטוס?
עבור כל קובץ בתיקייה המקורית:
- אם הוא שונה מה־commit האחרון וזהה למה שמופיע ב־staging_area, צריך להופיע תחת הכותרת
Changes to be committed:
. - אם הוא שונה מה־staging_area, הוא צריך להופיע תחת הכותרת
Changes not staged for commit:
. - אם הוא לא ב־staging_area בכלל, הוא צריך להופיע תחת הכותרת
Untracked files:
.
אני הבנתי את זה קצת אחרת…
- קבצים שמופיעים בstaging, אבל לא מופעים בקומיט האחרון
- תוכן של קבצים ששונה בין ה-staging לתיקייה המקורית (ללא קשר לקומיט)
- קבצים שיש בתיקייה המקורית ולא נכללים ב-staging
מקווה שאספיק לתקן את זה לפני מועד הגשה אחרונה
שאלה בנוגע לchanges not staged for commit:
כשרשום לבדוק האם שונה קובץ ב״תיקייה המקורית״ הכוונה בתיקיה (או תיקיות) שאיתה עשיתי add?
ואם כן, זה אומר שאני צריך לשמור איכשהו את הנתיב ממנו עשיתי add…
ככל ששואלים יותר שאלות חידוד יש יותר מקום לבלבול לצערי. :X
הסיבה היא שניסוח של חוקים כאלו הוא סופר מורכב, וכל פעם שאני אנסה לנסח מחדש לטובת חידוד ההבנה יש סיכוי גדול שאמעד באיזה מקרה קצה ולא אבהיר אותו כמו שצריך.
אני מנסה לעזור, אבל יש מקום לקחת הודעות שלי שלא מופיעות בתרגיל המקורי עם גרגר מלח.
לא שהם לא מופיעים בקומיט, אלא ששונו ועשו להם add.
זה יכול להיות גם קבצים שלא היו קיימים ב־commit האחרון ונוספו עכשיו,
אבל זה צריך לכלול גם קבצים שפשוט שונו מאז ה־commit האחרון ועשו לו add.
נכון
נכון
קראת את פוסט התיקון וההרחבה על add שפורסם ביום 1?