git fetch מצליח, אך git svn fetch אינו מצליח להגיע לשרת. למרות קידומת הפקודה המשותפת, הפעולה השנייה מדברת עם מאגר Subversion דרך מחסנית לקוח אחרת.

אל תניחו שרישומת http.proxy מקורית של Git מגדירה את חיבור ה-Subversion הזה. אתרו את תצורת זמן הריצה שבה משתמשות ספריות Subversion בסביבה שבה פועל git svn.

תצורת servers של Subversion יכולה להכיל:

[global]
http-proxy-host = proxy.example
http-proxy-port = 8080

שם המארח והפורט הם ערכים נפרדים; רשימת פרוקסי ה-HTTP מספקת מועמדים למסלולים ציבוריים מותרים של Subversion. שדות חשבון הפרוקסי נפרדים מהרשאות המאגר. הגדרות קבוצות שרתים של Subversion מתאימות לשמות מארחים, ולא לנתיבי מאגר שרירותיים. התייחסו אליהן כממשק של Subversion, ולא כאיות חלופי של כתובת הפרוקסי של Git.

ב-Windows, הנתיב יכול להיות ההפתעה

קובץ הפעלה מקורי של Subversion והתקנה של git svn יכולים להשתמש בסביבות שונות ובפרשנויות שונות של תיקיית הבית. עריכת התצורה שבה משתמש svn.exe אינה הוכחה שקרא אותה קורא git svn.

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

הפרידו בין החשבונות

הפרוקסי עשוי לאמת את החיבור היוצא. מאגר Subversion עשוי לדרוש לאחר מכן חשבון אחר. HTTP 407 ושגיאת הרשאה של המאגר מתארים שלבים שונים.

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

מאמרים קשורים