
Re: Организиране на проект в Еклипс+SVN
И аз не схванах има ли проблем - опитай с тази структура и ще разбереш. Единственото, което съм виждал като ограничение, е че по идея еклипса иска проектните файлове в корена на проекта. Не е задължително обаче ("default project location"), но имаше оплаквания по-рано от хора, опитвали да сложат проектите навътре в дървото. Мисля че с по-новите версии на еклипса нещата са оправени, но ако не ти създава неудобства, спази им правилото.
При мен в workspace-а проектите са отделни папки. Самият workspace не се качва на SVN-а. Качват се отделните проекти като отделни папки, и отиват в отделни репозиторита.
Аз качвам целият проект горе, заедно с еклипс файловете (.project, .cproject). Не съм видял абсолютни пътища, всичко си е релативно спрямо "project_loc", има си променливи за място на workspace, project, eclipse и т.н. Но това зависи от плъгин-а ти за toolchain
Така че директно на следващия компютър правя импорт на проект от svn-а и всичко си работи.
При положение че проектите ми са managed (т.е. без мейкфайл, използва се вътрешния билдър на CDT-то) ще е голяма лудост да настройвам опции на проекта на всеки нов checkout. Ползвам managed защото предпочитам настройките на проекта да са ми в GUI-то на еклипса, а не да редактирам мейк файлове.
Мога да ти предложа следното:
1. Създаваш си SVN repository (не забравяш mainline/trunk или както там искаш за да имаш после възможност за branch/tag)
2. Правиш си локалната папка с проекта както те влече, и я качваш (import на костенурката) горе.
В примера по-горе на сървъра ще се получи (през Repository browser можеш да разгледаш):
3. На еклипса му казваш да импортира проект от SVN, добавяш си репозиторите в wizard-а ( в примера
svn://YourServer/Project1/MainLine/) , и дърпаш. Казваш му да дърпа като "проект който ще се настройва с wizard-а за нов проект"
4. Настройваш си проекта - тук зависи от toolchain-а и дали ползваш makefile или ще се довериш на еклипса за тази работа (managed проект)
5. Гласиш префикси на компилатори, пътища, .... докато го докараш да се билдва. Не ползваш абсолютни локации, разчиташ на системните пътища или на релативни пътища спрямо проекта или еклипс "инсталацията"
6. Като го билднеш успешно качваш промените горе, като добавяш еклипските файлове - .project, .cproject и папка .settings. По подразбиране стоят в най-горната папка на проекта
За проба отваряш нов workspace, импортваш проекта, тук вече ще се усети че има налични проектни файлове. Проверяваш защо не се билдва

, оправяш и пак качваш.
Ако имаш файлове или папки, които се ползват в повече от един проект, или дори просто са самостоятелно смислени, погледни възможностите за svn-а за "external repository" ("svn:external"). Представлява характеристика на папка, в която се указва линк към друго репозитори, от което да се теглят файловете. Това друго репозитори ти съдържа споделените файлове, а в проектите си указал линк-ове към тях. Реално стоят на едно място. Имаш възможност да указваш линк-а да е към точно определена ревизия на външното репозитори, или да взимаш винаги най-актуалното.
Хипотетично един проект може да е изграден изцяло от компоненти от множество външни репозиторита, като само проектният файл е уникален.
Колкото до бекъп, пак хипотетично, от локален няма нужда. Стига да си организираш нещата така, че да не стигаш да моменти в които се въздържаш да качваш за да не попречиш на друг колега, качвайки нетествани неща. Това става лесно ако си пускаш навреме бранчове/тагове и спокойни си работиш там. Тогава можеш и на всеки час да качваш горе, с коментари какво качваш и защо.
Той самият еклипс си има приличен локален бекъп (Local History), аз го ползвам често. Не знам на какви събития пише версия, дали на време, на билд или на нещо друго, но върши работа.
Бекъп на сървъра със сигурност ще ти трябва, няма начин. Там не мога да помогна, нямам опит.
А пък като финал, макар че ползвам основно SVN все още, бих ти препоръчал да хвърлиш едно око и на по-съвременните алтернативи - Git го развиват, както и Mercurial. За последното има TortoiseHg, което е подобно на SVN-ското. Има един сайт - BitBucket, където можеш да хостваш и частни (скрити) проекти без ограничение на място или трафик. Там се поддържат и Git, и Mercurial. За SVN имаше Assembla, ама се изциганиха и махнаха безплатните.