Jump to content
BulForum.com

CVS


THE STORM

Recommended Posts

Налага ми се да работя с CVS. Единственото нещо, което знам е че CVS-то позволява на двама програмисти от различни компютри с интернет да работят едновремено върху един и същ проект. Но аз искам да разбера как работи CVS-то по-точно. Примерно ако аз направя подобрения в сорс кода на проекта върху, който работим с моя френд и кача новия сорс код в CVS-то, какво ще стане ако преди това моя френд също е направил подобрения и е качил неговата версия? Да не би да препокрия неговия код и така всичко, което той е правил да се загуби? Ако може да ми обясните как точно действа CVS-то ще е много добре. ;)

Link to comment
Share on other sites

CVS сървъра (където е repository-то с проектите) се пази т.нар. master copy на дадения проект. Сървърът се грижи за versioning-а на проекта като пази разликите между стъпките в напредъка на проекта във времето.

Когато направиш Checkout на проект, ти се снабдяваш с the most current версия на проекта - и при теб се създава локално копие - работно копие на проекта, и ти работиш върху това копие. В това време друг член на екипа може да прави промени по своето си локално копие на проекта, което също е checkout-нал.

В определен момент един от вас решава да направи Commit на локалния проект. Това означава да ъплоадне локалното копие на сървъра в Repository-то. Софтуера прави сравнение между версията на сървъра и твоето копие, като merge-ва сорсовете и пази разликите между двете. Т.е. това което е добавил, се мердж-ва в сорса.

Ако другия в даден момент след това реши да направи Commit, ще се направи нов парсинг на промените, като се сещаш че в дадени ситуации може да възникне грешка, да не може да се ъплоудне някой файл с направените промени поради конфликти. Тогава ти се изписва в червено относно файла и какво е конфликта.

Не използвам често CVS, ако някъде съм неточен, поправете ме.

Link to comment
Share on other sites

Мерси много. Свалих си TortoiseCVS и се опитах да си кача сорсовете на сървър машината. Попълних всички полета правилно, но нещо не стана. Първия проблем е че не ми поиска парола за логин, а втория:

 cvs.exe checkout: in directory .:
cvs.exe checkout: cannot open CVS/Entries for reading: No such file or directory

Можеш ли да ми помогнеш? ;)

Link to comment
Share on other sites

Мерси много. Свалих си TortoiseCVS и се опитах да си кача сорсовете на сървър машината. Попълних всички полета правилно, но нещо не стана. Първия проблем е че не ми поиска парола за логин, а втория:

 cvs.exe checkout: in directory .:
cvs.exe checkout: cannot open CVS/Entries for reading: No such file or directory

Можеш ли да ми помогнеш? ;)

 

 

 

Хвърлих 1 око на TortoiseCVS и честно казано бих предпочел WinCVS - първо по-ясно е за какво става дума и второ - още един plugin за експлорера че да работи още по-тромаво - не мерси :)

 

Сега по същество: за да свалиш проект първо трябва да се логнеш на конкретният сървър. Бих могъл да ти дам последователност от screenshots за WinCVS, но предполагам е аналогично и за TortoiseCVS това. В WinCVS от менюто се избира Admin -> Login

 

Добре е да прегледаш CVSROOT-a как се образува и в конкретният случай какво трябва да имаш. От тук се започва всъщност. Логването и паролите са след това :) Също така CVS сървър имате ли и кой го поддържа? Така както задаваш въпросите си почвам да си мисля че такъв сървър липсва а без него просто няма къде да се логнете, ако се сещаш накъде бия :)

 

Ако имаш повече въпроси - дай на Л.С. - може и по телефон утре след 13:00 някъде

 

 

Edit: може би пропуснах да спомена но CVS ползвам всеки божи ден... не че съм експерт ама поне съм му свикнал на номерата :)

Link to comment
Share on other sites

CVS сървър има, но просто аз никога не бях рабонил с такова нещо, а ми се налага. Може ли да дадеш едно подробно титолярче за WinCVS. И да знаеш, че вече имам repository на сървъра макар, че помолих админа на сървъра да ми го направи. :) Бих го попитал и как да бачкам с WinCVS, но той използва само Linux и неможе да ми помогне.

Link to comment
Share on other sites

CVS сървър има, но просто аз никога не бях рабонил с такова нещо, а ми се налага. Може ли да дадеш едно подробно титолярче за WinCVS. И да знаеш, че вече имам repository на сървъра макар, че помолих админа на сървъра да ми го направи. :) Бих го попитал и как да бачкам с WinCVS, но той използва само Linux и неможе да ми помогне.

 

Е то има доста подробни описания. Ако искаш прати ми Л.С. и ще ти дам телефон на който да ми се обадиш за малко разяснения. Свали си като начало WinCVS от www.wincvs.org - разгледай описанията и после питай каквото не ти е ясно. Аз предпочитам по-старата версия - 1.3.17, но ти ако искаш свали си последната.

 

Иначе ежедневната работа е доста проста - подкараш ли го 1 път после само добавяш и записваш променените неща. Малко по-внимателно трябва да подхождаш към разместването на директории, но ще свикнеш.

 

Първоначалната настройка е да си оправиш CVSROOT-a - това предполагам ще ти го даде твоя човек. Трябва да е нещо такова: username@server.com:2401:/cvs_path

 

 

Edit: Сериозно ли твоя човек ползва ЕДИНСТВЕНО Linux? В тоя ред на мисли върху какво ще работите заедно което той ще го прави на Linux а ти на Windows? Любопитствам си просто, може и да не ми кажеш...

Link to comment
Share on other sites

Edit: Сериозно ли твоя човек ползва ЕДИНСТВЕНО Linux? В тоя ред на мисли върху какво ще работите заедно което той ще го прави на Linux а ти на Windows? Любопитствам си просто, може и да не ми кажеш...

Проекта е мултиплатформен. Пишем го на C++ и се стараем да няма platform specific код. Като компилатор изпoлзваме g++ за да няма проблеми в различните среди.

Link to comment
Share on other sites

Проекта е мултиплатформен. Пишем го на C++ и се стараем да няма platform specific код. Като компилатор изпoлзваме g++ за да няма проблеми в различните среди.

 

:) То такова нещо няма - платформено-специфичен код винаги има, освен ако не е някаква библиотека с математически функции само. Има ли някаква връзка с потребителите ще се наложи да се направи нещо (или минавате на command-line интерфейс което е крайно неудобно за 99.999% от хората)... Абе вие си знаете, щом сте се захванали със задачата.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...