প্রকল্প সম্পর্কে
Simgit হলো একটি কমান্ড-লাইন টুল যা উন্নত ডিস্ক দক্ষতা এবং বিচ্ছিন্নতার সাথে Git ওয়ার্কট্রি তৈরি ও পরিচালনা করার জন্য ডিজাইন করা হয়েছে, মূলত একাধিক AI এজেন্ট বা একটি রিপোজিটরিতে সমান্তরাল বিকাশ কার্যক্রমের জন্য। এটি কপি-অন-রাইট (CoW) মেকানিজম ব্যবহার করে নিশ্চিত করে যে অপরিবর্তিত ফাইলগুলি একাধিক ওয়ার্কট্রিতে পুনরাবৃত্তি না হয়ে ভৌত ডিস্ক স্থান ভাগ করে নেয়।
টুলটি বিভিন্ন অপারেটিং সিস্টেম এবং ফাইলসিস্টেমকে সমর্থন করে:
* **ম্যাকওএস (APFS)**: শূন্য নির্ভরতার সাথে আদিম `clonefile` কাজায়োগ্য।
* **লিনাক্স (btrfs, xfs)**: শূন্য নির্ভরতার সাথে আদিম reflink ক্ষমতা ব্যবহার করে।
* **লিনাক্স (ext4, ইত্যাদি)**: রুট বা কার্নেল মডিউল ছাড়াই CoW ফাংশনালিটির জন্য `fuse-overlayfs` এ ফিরে যায়।
* **উইন্ডোস**: সরাসরি সমর্থিত নয়, কিন্তু সমর্থিত লিনাক্স ফাইলসিস্টেম সহ WSL-এ ব্যবহার করা যেতে পারে।
Simgit ডাemon বা সার্ভার ছাড়াই কাজ করে, রেফারেন্সের জন্য Git এবং ডেটা ব্যবস্থাপনার জন্য ফাইলসিস্টেমের উপর নির্ভর করে। প্রতিটি ওয়ার্কট্রি একটি স্ট্যান্ডার্ড Git লিংকড চেকআউট হিসাবে কাজ করে, ব্রাঞ্চ, ইনডেক্স এবং ওয়ার্কিং ট্রি সম্পূর্ণভাবে বিচ্ছিন্ন রাখে। এটি এজেন্টগুলিকে তাদের নিজস্ব ব্রাঞ্চে সমান্তরালে কাজ করতে এবং স্বাভাবিক Git মারজের মাধ্যমে পরিবর্তন ইন্টিগ্রেট করতে দেয়।
প্রধান সুবিধা হলো প্রতিটি অতিরিক্ত ওয়ার্কট্রির নগণ্য খরচ, যা একটি সম্পূর্ণ `git worktree` কপির তুলনায় অনেক কম। মাপজোখ দেখায় যে খরচ ট্র্যাক করা পথের সংখ্যার সাথে স্কেল হয় (প্রায় ~0.4 KiB প্রতি ট্র্যাক করা পথ плюс ~60 KiB স্থির ওভারহেড APFS-এ), কন্টেন্টের আকারের চেয়ে। এটি বিশেষত বড় ফাইল সহ রিপোজিটরির জন্য দক্ষ।
Simgit ওয়ার্কট্রি যোগ, তালিকাভুক্তি, অপসারণ এবং গ্যারেজ কালেকশনের জন্য কমান্ড প্রদান করে। `sg run` কমান্ড এই বিচ্ছিন্ন ওয়ার্কট্রিতে এজেন্ট শুরু করতে সহায়তা করে, যাতে তারা সাধারণ চেকআউটের মতো রিপোজিটরির সাথে মিথস্ক্রিয়া করতে পারে। এটি নির্দিষ্ট সাবট্রির ওপর ফোকাস করা এজেন্টগুলির জন্য ডিস্ক ব্যবহার আরও কমাতে স্পার্স চেকআউট সমর্থন করে। ওয়ার্কট্রিগুলিকে স্বয়ংক্রিয় গ্যারেজ কালেকশনের জন্য ঐপিয়ামেরাল বা দীর্ঘমেয়াদী ব্যবহারের জন্য পার্সিস্টেন্ট হিসাবে চিহ্নিত করা যায়। টুলটি প্রোগ্রাম্যাটিক অর্কেসট্রেশনের জন্য JSON আউটপুটও প্রদান করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.