ביטול הדפסה של STATUS

תגיות:

בחלק של chechout נדרש להיעזר במידע של status בשביל לוודא שלא דורסים קובץ חדש. הבעיה שלי שהרצה של status מייצרת פלט למשתמש באופן אוטומטי ואני רוצה לבטל את זה כאן.
האם יש דרך?

חלוקה לפונקציות תעזור לך כך שהפונקציות שאתה קורא להן ב-status תקרא להן גם ב-checkout ותשתמש במידע שאתה צריך

לייק 1

הכל מחולק אצלי לפונקציות וקבצים אבל עדיין החלק של ההדפסה הוא מובנה אצלי ב status שזה בערך כל מה שהיא עושה אצלי :slight_smile: אנסה לפרק עוד יותר את הפעולות. תודה.

אפשר גם לעשות MODES שונים לפונקציה, כמו שיש לopen

לייק 1

הארכיטקטורה שאני מציע במקרה הזה היא שיהיה פונקציה שמייצרת מילון, ופונקציה אחרת שתדפיס את המילון בצורה יפה. יש דוגמה לזה בלייב של אתמול

2 לייקים

נניח ואני אכן משתמשת במילון במקרה של status. איך אני יכולה לשמור על המילון כך שיתאפס רק כאשר מתבצע commit?
הרי כל פעם שאני קוראת לפונקציה מהcommand היא מתחילה מחדש.
האם אפשר להשתמש המודולים שעושים את זה?

מה ההיגיון בזה? המטרה היא לקבל מידע עדכני לפני שדורסים קבצים אז אין שום ערך למילון שנשמר מהפעם האחרונה שהרצנו commit

לייק 1

ההיפך. אני רוצה לשמור מידע עד הקומיט

אני ממליץ לג’נרט את המידע הזה ברילטיים, ולא בצורה aggragated :slight_smile:
אם תתחילי לשמור state עבור המצב הזה את תצטרכי לעדכן אותו בכל פעולה, וזה יהפוך להיות סבוך עם הרבה באגים

זה בדיוק מה שחשבתי לעשות. השאלה אם הוספתי קובץ ולמעשה הוא כבר היה בstaging. אפילו ללא שינוי, האם הוא צריך להופיע בסטטוס?

עבור כל קובץ בתיקייה המקורית:

  1. אם הוא שונה מה־commit האחרון וזהה למה שמופיע ב־staging_area, צריך להופיע תחת הכותרת Changes to be committed:.
  2. אם הוא שונה מה־staging_area, הוא צריך להופיע תחת הכותרת Changes not staged for commit:.
  3. אם הוא לא ב־staging_area בכלל, הוא צריך להופיע תחת הכותרת Untracked files:.
לייק 1

אני הבנתי את זה קצת אחרת…

  1. קבצים שמופיעים בstaging, אבל לא מופעים בקומיט האחרון
  2. תוכן של קבצים ששונה בין ה-staging לתיקייה המקורית (ללא קשר לקומיט)
  3. קבצים שיש בתיקייה המקורית ולא נכללים ב-staging
    מקווה שאספיק לתקן את זה לפני מועד הגשה אחרונה :frowning:

שאלה בנוגע לchanges not staged for commit:
כשרשום לבדוק האם שונה קובץ ב״תיקייה המקורית״ הכוונה בתיקיה (או תיקיות) שאיתה עשיתי add?
ואם כן, זה אומר שאני צריך לשמור איכשהו את הנתיב ממנו עשיתי add…

ככל ששואלים יותר שאלות חידוד יש יותר מקום לבלבול לצערי. :X
הסיבה היא שניסוח של חוקים כאלו הוא סופר מורכב, וכל פעם שאני אנסה לנסח מחדש לטובת חידוד ההבנה יש סיכוי גדול שאמעד באיזה מקרה קצה ולא אבהיר אותו כמו שצריך.
אני מנסה לעזור, אבל יש מקום לקחת הודעות שלי שלא מופיעות בתרגיל המקורי עם גרגר מלח.

לא שהם לא מופיעים בקומיט, אלא ששונו ועשו להם add.
זה יכול להיות גם קבצים שלא היו קיימים ב־commit האחרון ונוספו עכשיו,
אבל זה צריך לכלול גם קבצים שפשוט שונו מאז ה־commit האחרון ועשו לו add.

נכון

נכון

קראת את פוסט התיקון וההרחבה על add שפורסם ביום 1? :slight_smile: