Subversion/קבלת הקוד מהשרת
יצירת הקוד המקומי
[עריכה]הצעד הראשון בעבודה על מערכת Subversion (שלא אתם התקנתם) הוא יצירת עותק מקומי מהשרת. פעולה זו מבוצעת באמצעות הפקודה svn checkout.
המבנה הבסיסי של פקודת svn checkout הוא:
svn checkout url path
יש להחליף את url בכתובת ה-URL של השרת ממנו מושכים את המידע (שיכול להיות בפרוטוקול file - כקובץ מקומי במחשב, http - כשרת מרוחק, או svn+ssh - כשרת מרוחק שדורש זיהוי משתמש באמצעות פרוטוקול SSH), כולל התיקייה הדרושה (למשל, trunk). יש להחליף את path בשם התיקייה שלתוכה ייכתב המידע; אם הוא מושמט, ייעשה שימוש בתיקייה האחרונה בכתובת ה-URL.
כמו כן ניתן לכתוב כפרמטר את מספר הגרסה: -r number.
עדכון הקוד המקומי
[עריכה]בשלב מסוים נרצה לעדכן את הקוד המקורי כדי לקבל את כל העדכונים החדשים מהשרת. כדי לבצע את העדכון, נכתוב:
svn update
כעת תופיע רשימה של קבצים שעודכנו, כל אחד עם אות לפניו. משמעות האותיות:
- U - הקובץ עודכן מהשרת
- A - הקובץ נוסף מהשרת
- D - הקובץ נמחק מהשרת
- G - הקובץ כלל שינויים מקומיים וגם עודכן בשרת, אך הקובץ מוזג כך שהוא עדיין כולל הן את השינויים המקומיים והן את העדכונים
- C - הקובץ כלל שינויים מקומיים וגם עודכן בשרת, ויש התנגשות בין השינויים; הקובץ סומן כקובץ במצב "קונפליקט" והוכנס אליו מידע שיסייע לפתרון הקונפליקט
האותיות בעמודה הראשונה מייצגות את הקבצים עצמם, ואילו האותיות בעמודה השנייה - את המאפיינים (Properties) שלא נעסוק בהם בספר זה.
פתרון קונפליקטים
[עריכה]קונפליקט פירושו שהקובץ אינו יכול לעבוד כשורה, ולכן יש לפתור מצב זה בהקדם האפשרי. ניתן להיכנס לקובץ ולהשתמש במידע שבו (ובקבצים אחרים שנוצרו וכוללים את הגרסאות המלאות) כדי לבנות גרסה הממזגת את השינויים המקומיים ואת העדכונים מהשרת; וניתן להשתמש ב-svn revert (שיתואר בפרק הבא) כדי לחזור לגרסה של השרת ולהתעלם מהעדכונים המקומיים.
כדי לסמן שהקונפליקט נפתר ושניתן להשתמש בגרסה הנוכחית, יש להשתמש בפקודה הבאה:
svn resolved file
(יצוין שפקודת svn revert מסיימת גם היא את מצב הקונפליקט של הקובץ)
החלפת מיקום הקוד
[עריכה]ניתן להחליט לשנות את התיקייה בשרת שממנה נלקחים הנתונים - למשל, מתיקייה בשם branches/1.5 לתיקייה בשם trunk. (לא ניתן להחליף את השרת בשיטה זו, אלא רק את התיקייה בשרת.) כדי לעשות זאת משתמשים בפקודה הבאה:
svn switch url
ניקוי העותק המקומי
[עריכה]ייתכן שבשלב מסוים תהיה תקלה כלשהי בתהליך קבלת הקוד מהשרת או בתהליך אחר כלשהו (אם, למשל, תסגרו את התהליך עם Ctrl+C, נעילות שנוצרו לצורך התהליך לא ייסגרו), הקוד המקומי ייפגם ויתקבלו שגיאות בעת ביצוע פעולות שונות. למקרה זה קיימת הפקודה הבאה:
svn cleanup
שמתקנת את העותק המקומי כך שלא יתעוררו בעיות כאלה.
הפרק הקודם: מבוא |
קבלת הקוד מהשרת | הפרק הבא: מניפולציות על הקוד המקומי |