
28-09-2008, 20:33
|
|
|
|
חבר מתאריך: 29.08.08
הודעות: 97
|
|
|
השתמשתי ב-VSS וב-SVN
SVN עדיפה על VSS בכמעט כל פרמטר שניתן לחשוב עליו: - יש הרבה קליינטים והקליינטים קיימים גם לווינדוס וגם ללינוקס. ספציפית, אצלנו עובדים בווינדוס, ומשתמשים בכלים שונים כדי לעבוד מול SVN. חלקנו משתמשים בפלאגינים ל-VS.NET ואני לדוגמה משתמש ב-TortoiseSVN.
- מסתבר שהיא נוחה יותר לניהול. אני רק המשתמש ולא מנהל המערכת, אבל עם VSS היו כל מיני בעיות שלא כל כך נפתרו (הרשאות לדוגמה), ועם SVN החיים די בסדר.
- קיימת אינטגרציה עם הרבה מוצרים מעניינים אחרים. פלאגינים ל-VS.NET כבר הזכרתי. יש אינטגרציה עם trac, לדוגמה, אם אתה מתעניין בכלי (אם כי לפי ויקיפדיה trac תומך גם ב-git וב-mercurial)
- יש תמיכה סבירה בהעתקות, שינוי שמות וכו', אם כי אפשר לשפר כמה בעיות בתחום.
היו לנו גם בעיות במעבר ל-SVN, ביעקר בעיית ביצועים מוזרה שנבעה מזה שהתבצע אימות מול השרת בכל העברת קובץ, ככה ש-checkout לפרוייקט לקח נצח, אבל הבעיה תוקנה, ככה שמסתבר שפשוט צריך ללמוד טוב איך לקנפג את המערכת.
בעיה משמעותית שיש לי ב-SVN נוצרת בתרחיש כזה:
מתבצע פיתוח ב-trunk. מדי פעם כל הקוד ב-trunk שעבר code review עובר ל-branches/stable.
אני רוצה לפתח פיצ'ר מסוים ב-branch, אז אני פותח את branches/rtasjug ועובד בו. העבודה לוקחת לי זמן מה (ולכן אני עובד ב-branch ולא ב-trunk), ואני רוצה לעבוד מול הקוד הטוב ביותר שיש לנו, אז אני עושה merge מה-stable אלי. בסופו של דבר אני רוצה לעשות merge מה-branch שלי אל ה-trunk, ושם הכל מתפוצץ לי בפנים.
שמעתי שיש מערכות אחרות שתומכות טוב בתרחישים כאלה, אבל התרחיש לא כזה נפוץ כדי שאני אטריח מישהו לנטוש את ה-SVN שיש לנו ועובד בכלל לא רע. חוץ מזה, עוד נצליח לעבוד על המערכת כדי שתתמוך בזה.
|