سؤال

أحاول استخدام التخريب على جهاز لينكس ، والمستودع هو على خادم مايكروسوفت سبس2008.(يمكنني الوصول إلى مستودع من جهاز مايكروسوفت ويندوز 7.) يمكن لبعض واحد يقول لي كيفية الحصول عليها للعمل?

هذا ما فعلته.

# sudo mount -t cifs -v -o credentials=~/Files/server-mount-credentials,uid=richard,nocase,nounix,nosuid  //sbs2008/local ~/Files/server-mount/

# svn commit -m ""

Adding         file1
Sending        file2
Transmitting file data ........svn: Commit failed (details follow):
svn: database is locked

يظهر ستريس:

open("/home/rdelorenzi/Files/server-mount/svn_repository/db/rep-cache.db", O_RDWR|O_CREAT|O_LARGEFILE, 0644) = 12

...

_llseek(12, 162816, [162816], SEEK_SET) = 0
read(12, "\n\0\0\0\20\1 \0\1 \1N\1|\1\252\1\330\2\6\0024\2b\2\220\2\276\2\354\3\32"..., 1024) = 1024

_llseek(12, 100352, [100352], SEEK_SET) = 0
read(12, "\n\0\0\0\24\0i\0\0i\0\227\0\305\0\363\1!\1O\1}\1\253\1\331\2\7\0025\2c"..., 1024) = 1024
_llseek(12, 52224, [52224], SEEK_SET)   = 0
read(12, "\n\0\0\0\24\0k\0\0\231\0\307\0\365\1#\1Q\1\177\1\255\1\333\2\t\0027\2d\2\222"..., 1024) = 1024

fcntl64(12, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=1073741824, len=1}, 0xbf8e15e8) = 0
fcntl64(12, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=1073741826, len=510}, 0xbf8e15e8) = -1 EACCES (Permission denied)
هل كانت مفيدة؟

المحلول

لا تحبل مستودع التخريب عبر مشاركة الشبكة، فلن يعمل فقط بشكل موثوق.

الملف: // الوصول مخصص للوصول المحلي، وصول المستخدم الوحيد فقط، وخاصة الاختبار والتصحيح.عندما ترغب في مشاركة المستودع، فأنت بحاجة فعلا إلى إعداد خادم مناسب، وهي ليست صعبة تقريبا كما قد تفكر.اقرأ القسم المسمى "الوصول إلى المستودع" للحصول على إرشادات حول اختيار وإعداد خادم. [link]

تحتاج إلى تشغيل خادم SVN، كما تلاحظ ديفيد ث.

نصائح أخرى

هل لديك السيطرة على جهاز ويندوز?هو ميناء 3690 الافراج?لماذا لا تستخدم svnserve الخادم على جهاز ويندوز.بعد ذلك ، لن تضطر إلى تحميل أنظمة الملفات.

على جهاز ويندوز الخاص بك:

 c:\> svnserve -r C:\path\to\your\repository -d

على مربع لينكس الخاص بك

$ svn co svn://sbs2008/trunk

الاحتمال الآخر هو استخدام خادم فيسوالسفن على مربع ويندوز الخاص بك.ثم ، يمكنك استخدام هتبد أباتشي للوصول إلى المستودع الخاص بك:

$ svn co http://sbs2008/svn/trunk

خادم فيسوالسفن ليس مفتوح المصدر ، لكنه مجاني طالما أنك لا تحتاج إلى أشياء متقدمة مثل اتصالات الدليل النشط ويندوز.

حسنًا.دعونا نتخيل أنني لا أعرف ولا أستطيع أن أفهم mount الأوامر والمعلمات.

وفي هذه الحالة أسأل فقط:

ماذا تريد أن تفعل بالضبط؟العمل مباشرة مع ملفات المستودع (وليس الملفات في الريبو, ، لكن ملفات)؟!لأية أسباب؟!

التخريب لديها بنية خادم العميل, يتواصل العميل مع الخادم، والذي يخفي عن العميل تفاصيل التعامل مع الواجهة الخلفية للمستودع الفعلي

يتم تجريد طبقة شبكة Subversion، مما يعني أن عملاء Subversion يظهرون نفس السلوكيات العامة بغض النظر عن نوع الخادم الذي يعملون ضده.سواء كنت تتحدث عن بروتوكول HTTP (http://) مع خادم Apache HTTP أو تتحدث عن بروتوكول Subversion المخصص (svn://) مع svnserve، فإن نموذج الشبكة الأساسي هو نفسه.

أنت، كعميل إنساني، تعمل معه التمثيل الجسدي المستودع (حالة الريبو) في نسخة العمل, التمثيل المنطقي ل مخزن, ، المقدمة من قبل زوج من العميل والخادم؛svn-client حيث يتواصل برنامج العميل معه مخزنالخادم، التعامل مع المستودع، باستخدام أي مما كشفه الخادم بروتوكولات الوصول ويعمل الخادم لاحقًا مع المستودع في أدنى طبقة ممكنة (ملفات القراءة والكتابة)

هذا ليس مجرد إجابة كضع أسئلة بالنسبة لك لتمثيل أكثر.

لماذا تفترض أن هذا سيعمل؟يكشف برنامج تشغيل نظام الملفات CIFS نظام ملفات NTFS بطريقة يمكنك ذلك، في أسوأ الحالات، فقط قراءة الملفات.يجب أن يكون للوظائف التي يتعرضها برنامج تشغيل CIFS وظيفة مطابقة في نهاية الأمراض NTFS.

لذلك، إذا كانت وظيفة SVN، فإن الوظيفة المطلوبة هي إما غير مدعومة أو غير مدعومة قد تنتهي بك الأمر مع مشكلة مثل هذا.

أقترح النظر في وثائق CIFS والتحقق من القيود المعروفة أو الطرق لضبط السائق ل، ربما تقدم المزيد من الوظائف.

، وبالطبع، تحتاج إلى التحقق من ACLs لنظام ملفات NTFS المصدرة.إذا تم دعم هذه العملية بواسطة برنامج تشغيل CIFS وينبغي أن تعمل، فسيظل فشل إذا كان نظام ملفات NTFS لديه مالك خاطئ أو مجموعة صغيرة فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top