כלים גרפיים לניהול SVN

במאמר הקודם דיברנו על עבודה עם לוג של SVN ולמדנו כמה מונחים חשובים כמו מספר גרסה, revert ו-diff. ראינו איך אפשר להשתמש ב-diff כדי להשוות בין גרסאות שונות של אותו קובץ שנשמרו ב-SVN. מה הבעיה? למרות שהראיתי שהתצוגה של diff לא מפחידה כמו שהיא נראית בהתחלה, היא עדיין לא נעימה גרפית.

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

meld

meld היא תוכנה שקיימת גם בחלונות וגם בלינוקס ועובדת יפה עם SVN (גם עם git, אגב). meld פשוטה ביותר להתקנה. בלינוקס ההתקנה היא:

sudo apt-get install meld

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

מצטער, אני סוטה מהנושא.

אחרי שהתוכנה מותקנת. ההפעלה שלה מאוד פשוטה. כותבים בקונסולה (או ב-cmd, אם יש לכם חלונות) את הפקודה meld ואז את שם הקובץ. meld מזהה באופן אוטומטי אם אתם נמצאים במערכת ניהול גרסאות כלשהי ואז מציגה את השינוי בין הגרסה המקומית לגרסה השמורה ב-SVN. הנה דוגמה:

דוגמה של הממשק הגרפי של תוכנת meld

דוגמה של הממשק הגרפי של תוכנת meld

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

אם אנו רוצים לשלב את meld ככלי האינהרנטי של svn לפתרון קונפליקטים, אז זה טיפה יותר מסובך. ישנם מספר סקריפטים ופתרונות שיפעילו את meld ככלי ה-diff העיקרי. בגדול זה אפשרי בלינוקס בלבד.

אינטגרציה עם IDE

ברוב ה-IDE כמו intellij על שלל סוגיו (PHPStotm, webstorm וכו’ וכו’) יש כלים אינהרנטיים שמציגים מייד ובאופן נוח גם את הלוג וגם את השינויים. בדיוק כמו meld, גם רוב הכלים המובנים ב-IDE יודעים לזהות מיד אם הפרויקט נתון תחת ניהול גרסאות.

ב-PHPStorm שכאמור הוא branch של Intellij, יש לשונית של subversion בתפרריט (תחת SVN) ושם אפשר לראות את הלוג של כל השינויים ולעשות diff בין הגרסה המקומית לגרסאות על השרת או בין שתי גרסאות שונות. אפשר גם לעשות שינויים בקובץ ואז לעשות קומיט ישירות מה-IDE בלי צורך לצאת משורת הפקודה. אם יש קונפליקט, ה-IDE יזהה אותו ויפתח כלי מאוד דומה ל-meld שמאפשר באופן גרפי לבחון את השורות שיש בהן קונפליקט ולתקן אותן.

דוגמה של הממשק הגרפי של אינטגרציה בין ה-IDE ל-SVN

דוגמה של הממשק הגרפי של אינטגרציה בין ה-IDE ל-SVN

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

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

כדאי תמיד להשאר מעודכנים! הרשמו לעדכונים של האתר במייל! - המייל יישלח כל יום ראשון בעשר בבוקר ויכיל אך ורק את המאמרים שהתפרסמו באינטרנט ישראל. ללא ספאם, ללא הצפות, ללא בלגנים. אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (2 הצבעות, ממוצע: 3.50 מתוך 5)

תגיות: פורסם בקטגוריה: SVN

אל תשארו מאחור! יש עוד מה ללמוד!

2 comments on “כלים גרפיים לניהול SVN
  1. יואל הגיב:

    אובונטו זה מערכת הרבה יותר מסובכת מווינדוס.
    בסוף במבחן ‘איזה מערכת הפעלה ניתן לסבתא’ – ווינדוס מנצח.
    סליחה, סטיתי מהנושא.
    אחלה מאמר, תודה! כיף לקרוא. 🙂