Chromium Chronicle מס' 22: הכלים הדרושים (Depot)

פרק 22: מאת אדוארד לסמס בסן פרנסיסקו, קליפורניה (יוני 2021)
פרקים קודמים

Depot Tools הוא אוסף של כלים שמבוססים על Git כדי לפשט את תהליך העבודה של מפתחים שתורמים ל-codebase של Chromium ולפרויקטים קשורים. הוא כולל כלים להורדת הקוד, להעלאת שינויים לבדיקה, לעדכון דף התשלום ועוד!

קבל את הקוד

מריצים את הפקודה fetch chromium בספרייה ריקה. אפשר להשתמש בפקודה fetch גם כדי לקבל קוד למאגרים אחרים, כמו v8 או webrtc. הרשימה המלאה מפורטת ב-fetch help.

העלאת שינוי לבדיקה

כל CL תואם להסתעפות אחת ב-Git, לכן כדאי להתחיל בהרצת git new-branch <branch_name> כדי ליצור הסתעפות חדשה. כדאי לבצע כמה שינויים שרוצים בהסתעפות הזו, ולהריץ את git cl upload כשהיא תהיה מוכנה לבדיקה.

git cl issue יציין לאיזה CL הסניף שלך משויך. אפשר לשנות אותו באמצעות git cl issue <issue>.

מוודאים שתהליך התשלום מעודכן

מדי פעם מריצים את git rebase-update כדי לסנכרן הסתעפות מקומית עם ה-upstream ואת gclient sync כדי לעדכן את המאגרים third_party ולהריץ קטעי הוק (hooks) מראש.

ניהול של כמה רשימות CL

  • ב-git cl status יוצגו CLs המשויכים לסניפים מקומיים והסטטוס שלהם (שלא נשלחו, lgtm, סגור וכו').
  • git freeze ו-git thaw פועלים כמו git stash, אבל עוקבים אחרי ההסתעפות שמשויכת לשינויים ששמורים במאגר.
  • git map יציג את ההיסטוריה של כל הסניפים, ו-git map-branches יציג את היחסים ברמת ה-upstream בין כל הסניפים.
  • git new-branch --upstream_current <branch_name> יוצר הסתעפות חדשה על גבי הסתעפות קיימת. שימוש ב-git rebase-update כדי לבצע rebase להסתעפות תלויה אחרי שמבצעים שינויים בהסתעפות הבסיסית.

המשך העבודה על CL במכשיר אחר

מריצים את הפקודה git cl patch <issue_url> כדי לבחור CL (CL) קיים מעל ההסתעפות הנוכחית. שימו לב שהוא ישייך את ההסתעפות הנוכחית ל-CL המתוקן. באמצעות git cl patch <issue_url> --reapply אפשר לבטל את השינויים המקומיים ולהגיש בקשה חוזרת לבעיה.

ועוד

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