ওএস এক্স মাভারিক্সে সিভিএস


17

স্পষ্টতই, অ্যাপল ওএস এক্স ১০.৯ ম্যাভারিক্স ডেভলগুলি (এবং হ্যাঁ, এটি সত্যিই গেছে) এর অধীনে সিভিএস সরিয়ে দিয়েছে । নিরবিচ্ছিন্ন করার জন্য, সিভিএস হ'ল কনক্র্যান্ট ভার্সন সিস্টেম , বিভিন্ন মেশিন এবং ব্যবহারকারীদের (বিকাশকারী) মধ্যে ফাইল আপ টু ডেট রাখার একটি সরঞ্জাম।

আমার কিছু উত্তরাধিকারী প্রকল্প রয়েছে যা এখনও এটির প্রয়োজন (না, এসভিএন ব্যবহারের জন্য আমি এটি পরিবর্তন করতে পারি না, অনেক কম গিট)।

ওএস এক্স মাভারিক্সের অধীনে কাজ করে এমন সংস্করণ পাওয়ার সেরা স্থানটি কোথায়?


এটি এখনও আছে কিনা তা পরীক্ষা করে দেখেছেন /usr/bin/cvs?
nohillside

হ্যাঁ, সত্যিই গেছে।
অ্যান্ড্রু জাফি

উত্তর:


16

বেশিরভাগ প্রোগ্রামের সবচেয়ে সহজ উপায় হ'ল ম্যাকপোর্টস, হোমব্রু বা ফিংকের মতো প্যাকেজ ম্যানেজারের সাথে ইনস্টল করা। পোর্টাররা কোডটি ওএসএক্সে পোর্ট করার বিষয়ে কাজ করবে যাতে এটি নীচের মতো সহজ হওয়া উচিত ( ম্যাকপোর্টের জন্য )

  1. ম্যাকপোর্টগুলি ইনস্টল করুন, .pkg ফাইলটি ডাউনলোড করুন এবং এটি চালান
  2. এক্সকোড এবং এর কমান্ড লাইন সরঞ্জাম ইনস্টল করুন
  3. যোগ /opt/local/binআপনার পথে - আপনি এই কাজ করতে ইনস্টলার প্রচেষ্টা যাতে আপনি সম্ভবত চেক করতে হবে
  4. বন্দরটি ইনস্টল করুন sudo port install cvs
  5. পুরো পথ দিয়ে সিভিগুলি চালনা করুন /opt/local/bin/cvsবা আপনার पथ ব্যবহার করুন

16

একটি ইউনিক্স-ইশ প্যাকেজ ম্যানেজার স্পষ্টভাবে যাওয়ার উপায় the আমি থেকে সরানো হয়েছে Fink এবং Macports করার homebrew , যা CVS জন্য একটি উপায় আছে:

brew install cvs

ঐতিহাসিক সম্পূর্ণতার জন্য, আপনি পূর্বে (সামান্য হার্ড এটি) ব্যবহার করতে ছিল CVS জন্য রেসিপি : brew install homebrew/dupes/cvs

খুব ন্যূনতম পরীক্ষার পরে, এটি কাজ করে বলে মনে হচ্ছে।


3
আমি সামান্য খাটো কমান্ড চেষ্টা করেছি brew install cvs(ওএস 10.9, হোমব্রু 0.9.5); এটি সিভিএস 1.12.13 ইনস্টল করেছে, যা কাজ করে।
রাত

3
হ্যাঁ, নাইটনাইটের আদেশটি সঠিক। কমান্ডটি পরিবর্তন হয়েছে কারণ সিভিএস সূত্রটি ২০১৩ সালের নভেম্বরে হোমব্রিউ-ডুপস থেকে হোমব্রিউ কোরে চলে গেছে
হার্জব्यूब

2

সম্পাদনা: মন্তব্যগুলিতে মন্তব্য হিসাবে গিটের জন্য একটি ওয়ার্কিং সিভিএস ক্লায়েন্ট প্রয়োজন যা এই পদ্ধতিরটিকে কেবল একটি দুর্দান্ত ইন্টারপ স্তর করে তবে নিখোঁজ সিএসভি ক্লায়েন্টের সমস্যার সমাধান নয়।

আরেকটি বিকল্প হ'ল গিটটি সিভিএস ক্লায়েন্ট হিসাবে ব্যবহার করা এবং সরাসরি সিভিএস সার্ভারে চাপ দেওয়া।

আপনার প্রয়োজনের উপর নির্ভর করে এটি পর্যাপ্ত সিভিএস ইন্টারপ হতে পারে loc স্থানীয়ভাবে গিট ব্যবহারের একটি সুবিধা।


আপনি এটা করতে পারেন আমার ধারণা ছিল না। খুব ঠান্ডা!
অ্যান্ড্রু জাফি

2
আমি এটি চেষ্টা করে দেখেছি, তবে git-cvsimportমনে হচ্ছে একটি সিভিএস ক্লায়েন্ট দরকার তাই এটি একটি মুরগি এবং ডিমের সমস্যা।
ডেভিড মোলস

1
ধন্যবাদ @ ডেভিডমোলস। প্রত্যেকে এই সীমাবদ্ধতা সম্পর্কে সচেতন কিনা তা নিশ্চিত করার জন্য আমি উত্তরটি পরিবর্তন করেছি। এর আগে আমি নিজে চেষ্টা করে দেখিনি।
অলিভারস

0

সিভিএসএনটি ম্যাক ওএস এক্স ১০.৯ এ চলে এবং এটি এইচকিউএক্স এনকোডিং রিসোর্স ইত্যাদি সমর্থন করে। ১০.৯-এর জন্য বিটা এখানে পাওয়া যায়: http://march-hare.com/cvspro/#downcvsnt

আপনি যদি আগে ম্যাক সিভিএস এক্স ব্যবহার করেন তবে এটি (সিভিএসএনটি) হ'ল 'কমান্ড লাইন' যা পূর্বে অন্তর্ভুক্ত ছিল।


1
সাইটে স্বাগতম। দয়া করে একটি চেহারা আছে apple.stackexchange.com/help/behavior স্ব-প্রচার সম্পর্কে বিশেষভাবে অংশ।
nohillside

আমি নিশ্চিত যে আমার মন্তব্য জিজ্ঞাসা করা প্রশ্নটির সাথে প্রাসঙ্গিক ছিল এবং পণ্যের সাথে আমার সংযোগটি সুপরিচিত এবং স্পষ্টভাবে চিহ্নিত (যেমন: আমার অবতারটি কোম্পানির লোগো), এবং আমি সমবর্তী সংস্করণ সিস্টেম প্রকল্পের একজন সদস্য ।
আর্থার ব্যারেট

0

আমার ঠিক এই একই সমস্যা ছিল, এবং ম্যাকপোর্টগুলি, ফিংক ইত্যাদির সাথে একটি বড় সমস্যা হ'ল তারা প্রচুর পরিমাণে অবনতি ঘটায় যা বিভ্রান্তিকর এবং অপ্রয়োজনীয় যদি আপনার কেবলমাত্র সিভিএসের মতো একটি সরঞ্জাম থাকে। আমার ক্ষেত্রে, ম্যাকপোর্টগুলি ব্যবহার করে এটি ইনস্টল করার চেষ্টা করার ফলে একটি পপআপ আমাকে জাভা সংকলক (?!) ইনস্টল করতে বলেছিল এবং আরও কয়েক ডজন অন্যান্য প্যাকেট তৈরি করতে হয়েছিল যাতে আমি দ্রুত বের করে আনলাম :)

আপনার যা যা দরকার তা যদি কেবল সিভি হয় তবে কেবল এটি তৈরি করা আপনার পক্ষে সহজ এবং আরও পরিষ্কার এবং ফলস্বরূপ বাইনারি কম্পিউটারে বিদ্যমান সমস্ত libs ইত্যাদির সাথে একীভূত হয়। আপনার এক্সকোড ইনস্টলড এবং এর কমান্ড-লাইন সরঞ্জামের দরকার আছে, তবে আপনার যদি সিভিএস দরকার হয় তবে আমি নিশ্চিত যে আপনি ইতিমধ্যে এটি ইনস্টল করেছেন।

সিভিএস সোর্সকোড থেকে পান:

http://download.savannah.gnu.org/releases/cvs/source/stable/1.11.23/

এটিকে একটি ফোল্ডারে আন-টার করুন, ফোল্ডারটি প্রবেশ করুন এবং ./configure চালান

তারপরে আপনাকে (দুর্ভাগ্যক্রমে) এসআরসি / এবং লিব / ফাইলগুলিতে তাদের গেটলাইন ফাংশনটির নাম পরিবর্তন করে, getlineX এ নামকরণ করতে হবে, কারণ একটি লাইব্লিক ফাংশনের সাথে গেটলাইন সংঘর্ষ রয়েছে। আমি এটির একটি প্যাচটি করতে পারি এবং আমার ধারণা অনুমান করা যায় এমন কোনও জায়গা থাকতে পারে ...

এর পরে, "মেক করুন" এবং আপনি এসআরসি / সিভিএসে একটি বাইনারি পাবেন যা আপনি আপনার bin / বিন ফোল্ডার বা যেখানেই রাখতে পারেন এবং সেখানে আপনার প্যাথটি পয়েন্ট রয়েছে তা নিশ্চিত করুন।


> আমি এটির একটি প্যাচটি করতে পারি এবং আমার অনুমান হিসাবে কোথাও রেখে দিতে পারি। এটি দুর্দান্ত, এবং জমা দেওয়ার মতো হবে। (আমার পক্ষে জরুরি নয়, সাধারণত হোমব্রিউয়ের জন্য আমার শুভকামনা থাকে))
ফ্ল্যাশ শেরিদান

0

প্যাচ দিয়ে BjornW এর উত্তর অনুসরণ করা ।

উত্সটি ডাউনলোড এবং সংরক্ষণাগারভুক্ত করার পরে: http://download.savannah.gnu.org/releases/cvs/source/stable/1.11.23/ থেকে

নীচে প্যাচটি কোনও ফাইলে অনুলিপি করুন, বলুন cvs-1.11.23.patch, তারপরে প্যাচটি প্রয়োগ করুন:

patch -d cvs-1.11.23 -p1 < cvs-1.11.23.patch

তারপরে সিভিএস -১.১১.২৩ READMEফাইলের নির্দেশাবলী অনুসারে বিল্ড করুন:

cd cvs-1.11.23
./configure
make
make install

প্যাচটি এখানে:

diff -r -u cvs-1.11.23/lib/getline.c cvs-1.11.23-osx/lib/getline.c
--- cvs-1.11.23/lib/getline.c   2005-04-05 06:46:05.000000000 +1000
+++ cvs-1.11.23-osx/lib/getline.c       2017-01-31 12:04:19.000000000 +1100
@@ -154,13 +154,10 @@
   return ret;
 }

-int
-getline (lineptr, n, stream)
-     char **lineptr;
-     size_t *n;
-     FILE *stream;
+ssize_t
+     getline(char ** restrict lineptr, size_t * restrict linecapp, FILE *     restrict stream)
 {
-  return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT);
+  return (ssize_t)getstr (lineptr, linecapp, stream, '\n', 0, GETLINE_NO_LIMIT);
 }

 int
diff -r -u cvs-1.11.23/lib/getline.h cvs-1.11.23-osx/lib/getline.h
--- cvs-1.11.23/lib/getline.h   2005-04-05 06:46:05.000000000 +1000
+++ cvs-1.11.23-osx/lib/getline.h       2017-01-31 12:03:21.000000000 +1100
@@ -11,8 +11,8 @@    

 #define GETLINE_NO_LIMIT -1

-int
-  getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream));
+ssize_t
+  getline(char ** restrict linep, size_t * restrict linecapp, FILE * restrict stream);
 int
   getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
                      int limit));
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.