أنت تعمل على مشروع كبير يتضمن عمليات Git، وتحديدًا باستخدام حزمة git من مكتبة `github.com/stretchr/testify/require` وبعض الحزم الداخلية المخصصة. مهمتك هي كتابة دالة تستنسخ مستودع Git باستخدام خادم Gitaly.

يتم استخدام خادم Gitaly في المشروع لتنفيذ عمليات Git، وله بنية الحزمة الداخلية الخاصة به. الحزم ذات الصلة لهذه المهمة هي:

- `git`: تحتوي هذه الحزمة على وظائف تتعلق بعمليات Git.
- `gittest`: توفر هذه الحزمة أدوات مساعدة لإعداد مستودعات Git للاختبار.
- `localrepo`: تُستخدم هذه الحزمة للعمل مع مستودعات Git المحلية.
- `config`: تحتوي هذه الحزمة على إعدادات التكوين لـ Gitaly.
- `testhelper`: توفر هذه الحزمة وظائف مساعدة للاختبار.
- `testcfg`: توفر هذه الحزمة إعدادات تكوين الاختبار.

تحتاج إلى تنفيذ الوظيفة التالية:

```اذهب
func CloneRepository (المصدر، سلسلة الوجهة) خطأ {
    // TODO: تنفيذ هذه الوظيفة
}
```

يجب أن تستنسخ هذه الوظيفة مستودع Git الموجود في مسار "المصدر" وتحفظه كمستودع جديد في مسار "الوجهة". يمكنك افتراض أن مستودع "المصدر" هو مستودع Git صالح.

مهمتك هي تنفيذ هذه الوظيفة باستخدام الخطوات التالية:

1. قم بإنشاء خادم اختبار Gitaly باستخدام وظيفة `testcfg.BuildGitalyConfig()` من الحزمة `testcfg`.
2. قم بإعداد مستودع التركيبات باستخدام وظيفة `gittest.CloneRepo()` من الحزمة `gittest`.
3. قم بتهيئة مثيل `localrepo.Repository' جديد باستخدام وظيفة `localrepo.NewTestRepo()` من الحزمة `localrepo`.
4. استخدم وظيفة `git.CloneRepo()` من الحزمة `git` لاستنساخ مستودع المصدر في مستودع الوجهة.
5. إذا نجحت عملية الاستنساخ، قم بإرجاع "لا شيء". وإلا، قم بإرجاع خطأ مناسب.

يرجى التأكد من أن التنفيذ الخاص بك يتبع الإرشادات المقدمة ويستخدم الحزم المذكورة.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}