Subversion ревизии / лог

Crash course in SVN revisions & logging:

Subversion системата, която ползваме, пази всички промени по кода като самостоятелни единици, наречени ревизии. Всяка ревизия представлява "снимка" на целия сорскод в даден етап от развитието му. Ревизиите се означават с номера - например, към момента сме до ревизия номер 200. Ако добавим промени по сегашния код и ги пратим (commit-нем), ще създадем нова ревизия, а именно 201.

SVN поддържа възможността да се върнете към коя да е ревизия на проекта. Това става чрез "TortoiseSVN->Update to revision..." (или "svn update -r ревизия" от командния ред)

Както се оказа, когато даваме условията на домашните работи, имаме в предвид да работите върху текущия код в SVN. Обаче, седмица по-късно, обикновено сме добавили още неща в SVN, така че ще бъде грешно да работите върху най-новия код. Затова, към всяко домашно, ще задаваме конкретната ревизия, към която трябва да се update-нете, преди да почнете да работите по задачата си.

Освен това, SVN може да ви покаже лог със всички ревизии и коментарите, които ние сме оставяли при commit-ите. TortoiseSVN ви предлага и удобно GUI, с което при разглеждане на конкретна ревизия виждате и кои файлове са били променени, а с doubleclick върху даден файл ви се показва самите промени в него (Diff). Показването на лога е с TortoiseSVN->Show Log...

Comments

Трябва ли стриктно да се

Трябва ли стриктно да се придържаме към ревизията указана в заданието? Или е достатъчно просто ревизията която ползваме да е в интервала [<лекция_домашно>, <следваща_лекция>) ?
(примерно в момента сте дали да ползваме ревизия 200, но съм checkout-нал 209, което предполага, че ще се възползвам от бъгфиксове (евентуално) и в същото време няма да ги има нещата от следващата лекция)

Няма проблем да ползваш

Няма проблем да ползваш по-нова ревизия, стига самите нововъведения да не ти пречат на теб. В случая - не ти пречат, така че ползвай смело нея.