Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько вопросов от нуба... vss--->SVN 
:(
    Опции темы
nornad
Дата 11.12.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 1
Всего: 31



Цитата(ksnk @  10.12.2007,  23:36 Найти цитируемый пост)
проект - это каталог. 

Это лишь частный случай. В общем случае проект - это набор исходных и конфигурационных файлов (а также всяких ресурсов), лежащих в неких папках (не обязательно в одной - можно проект и по всему винту раскидать, просто потом неудобно будет). Плюс сюда же (к проекту) отнесём структуру пакетов, которая в джава задаётся папками. Эта страктура также может быть разбросана по нескольким "корневым" папкам на винте (под "корневыми" тут следует понимать папки, которые указаны в параметрах проекта как папки, в которых IDE должна производить поиск исходников и прочих файлов).
Цитата(ksnk @  10.12.2007,  21:10 Найти цитируемый пост)
Лучше, если объяснение будет  в терминах Sublipse, но и  в терминах самого subversion'а, возможно, пойму... 

Не поймёшь. Потому что упорно пытаешься всё свести к свну. А тут дело НЕ в нём.
Цитата(ksnk @  10.12.2007,  23:36 Найти цитируемый пост)
Файлы похожи только содержанием и именем, но не относительным адресом внутри проекта.

А вот это у тебя в джаве не прокатит. Если файлы равны по содержанию, то они обязаны иметь одинаковое имя файла, класса и пакета. Что приводит к тому, что эти файлы будут иметь одинаковый "относительный адрес" (из-за пакета в первую очередь). Если же ты раскладываешь файлы по разным пакетам в разных проектах (ладно свои-то файлы, но вот хз, как ты будешь это делать с чужими либами  smile  - если только потрошить их и переписывать пакеты во всех файлах либы... smile), то файлы будут различаться и по содержимому. И в этом случае их НАДО держать в свне в РАЗНЫХ местах и БЕЗ какой-либо явной связи.

Цитата(Daevaorn @  10.12.2007,  21:18 Найти цитируемый пост)
Не пойму в чем проблема топикстартера...

Вот уж хз. Всё больше похоже на дефект в ДНК, не в обиду будет сказано парню. Ну или заработался настолько, что уже плохо соображать стал - все мы люди. Будем терпеливы и постараемся объяснить-таки человеку, чего же именно он пока не понимает.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
ksnk
Дата 11.12.2007, 07:05 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



Цитата(nornad @  11.12.2007,  00:29 Найти цитируемый пост)
А вот это у тебя в джаве не прокатит
 а кто сказал, что я о Java? Пусть это будет html страничка с подключенной к нему библиотекой jQuery... уверяю Вас, в таком случае содержимое совсем не определяет название и относительный путь файла smile 

Цитата(nornad @  11.12.2007,  00:29 Найти цитируемый пост)
Это лишь частный случай.


Я пытаюсь сформулировать конкретный пример и получить на него конкретный проект решения. Итого - на компутере есть 2 каталога с файлами a.html, xxx.js в одном и b.html, xxx.js в другом. Это - Два разных проекта. Развивающихся своей жизнью. У них один файл xxx.js - библиотека, новую версию которой периодически выкачивают из интернета. В песпективе - появнение еще N или может быть даже M проектов, использующий этот самый xxx.js Для определенности, у нас есть локальный репозиторий, созданый Тортилой. Мне хочется узнать как НУЖНО подменять в двух разных проектах один файл на следующую версию используя минимут телодвижений

Вот, что я,  называю "решение в терминах svn":
создаем отдельный каталог с "общими библиотеками" и называем его lib. 
svn import <lib>
svn import <каталог 1>
svn import <каталог 2>
- итого - в базе 3 каталога. Из проектов 1 и 2 удаляем xxx.js (можно было бы почистить его до импорта...)
копируем файл в проект svn copy svn:lib/xxx.js в <svn:каталог1> и в <svn:каталог2>
- все - создали сстему репозиториев в которой будем жить...

Нормальный цикл разработки - разработчики делают update - commit до полного удовлетворения...

При появлении новой версии xxx.js "администратор", совсем даже не обязательно разработчик этих проектов, делает себе svn checkout <lib>, подменяет xxx и выполняет commit, после чего рассылает письмо разработчикам и с чистой совестью идет пить пиво.

Разработчики, получив письмо, начинают делать merge своего xxx.js с svn:lib\xxx.js, по получении удовлетворительного результата update'ят его и продолжают жить долго и счастливо...

Все так и есть? Если так и есть, то вот момент, который меня раздражает. В случае, если вместе с xxx в проекты вкючаются еще и файлы yyy.js и zzz.js, новые версии которых также появились, разработчикам потребуется вручную merge'нуть каждый из них. От разработчика требуется слишком много ненужных ему знаний и умений. Нельзя ли как нибудь автоматизировать это процесс. В идеальном случае, imho, после создания проекта разработчик вполне может забыть про существование lib'а...



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nornad
Дата 11.12.2007, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 1
Всего: 31



Цитата(ksnk @  11.12.2007,  10:05 Найти цитируемый пост)
а кто сказал, что я о Java?

Прошу прощения - слежу в основном за форумами по джава и не глянул, в каком тема. smile
Цитата(ksnk @  11.12.2007,  10:05 Найти цитируемый пост)
- итого - в базе 3 каталога. Из проектов 1 и 2 удаляем xxx.js (можно было бы почистить его до импорта...)
копируем файл в проект svn copy svn:lib/xxx.js в <svn:каталог1> и в <svn:каталог2>

А зачем копировать? Оккама бы тебе своей бритвой по горлу бы уже съездил. smile
Бери библиотеки прямо из папки библиотек в репозитории. И нефиг их по всем проектам ещё раскидывать дополнительно.
Цитата(ksnk @  11.12.2007,  10:05 Найти цитируемый пост)
В случае, если вместе с xxx в проекты вкючаются еще и файлы yyy.js и zzz.js, новые версии которых также появились, разработчикам потребуется вручную merge'нуть каждый из них.

Если это библиотеки, то зачем их мержить. Если же это файлы конкретного проекта - опять же, зачем? что там мержить? Из-за чего эти файлы вдруг должны измениться если библиотека обновилась? Если из-за неких изменений в интерфейсе библиотеки, то да, пусть тот, кто отвечает за проект (каждый в отдельности) произведёт перевод файлов на работу с новой версией библиотеки. Я же уже писал об этом, блин.
Цитата(ksnk @  11.12.2007,  10:05 Найти цитируемый пост)
В идеальном случае, imho, после создания проекта разработчик вполне может забыть про существование lib'а...

Лишь в том случае, если:
а) либа работает прекрасно и без глюков
б) текущая версия либы полностью устраивает и обновления версии производятся нечасто
в) при обновлении либы всё старое остаётся полностью работоспособным и не требуется производить изменений в коде
Но я никак не возьму в толк, каким боком этому способствует система контроля версий и уровень знаний разработчика. Пусть хоть дворник за компом сидит - если либа стабильная и никакой идиотразработчик её не изменяет вручную, то проблем с нею быть не должно.
И уж сделать один апдейт после обновления либы - куда уж проще?


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
ksnk
Дата 11.12.2007, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



Что такое 
Цитата(nornad @  11.12.2007,  09:39 Найти цитируемый пост)
Бери библиотеки прямо из папки библиотек в репозитории. 
 и чем оно отличается от 
Цитата(ksnk @  11.12.2007,  07:05 Найти цитируемый пост)
копируем файл в проект svn copy svn:lib/xxx.js в <svn:каталог1> и в <svn:каталог2>
? Копируем - чтобы в истории файла в проекте осталось напоминание откуда исходный файл пришел... 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Daevaorn
Дата 11.12.2007, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 1
Всего: 70



Цитата(ksnk @  11.12.2007,  11:26 Найти цитируемый пост)
? Копируем - чтобы в истории файла в проекте осталось напоминание откуда исходный файл пришел... 

очень похоже на разговор немого с глухим. один свято верит, что проект это одна папка, где файлы лежат в куче. другой же говорит,  что проект это лишь некая логическая связь ресурсов, которые могут быть разнесены на местности как угодно, что в эклипс так и есть. первый не хочет понимать второго.
PM MAIL WWW   Вверх
ksnk
Дата 11.12.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



 Если просто скопировать файлы в окне Subclips'a из одного проекта (библиотечного) в другой, у меня получается, что файл удаляется, и новый файл, остающийся после этого нужно отдельным действием опять впихивать в репозиторий.
Если -же merge'нуть его - то на одно действие меньше, хотя сам мерже значительно мерзее ;)


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nornad
Дата 11.12.2007, 13:14 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 1
Всего: 31



Всё, ребята - перекур. Автор темы идёт медитировать над ответами в теме ради просветления, а остальные медитируют ради успокоения. smile

ksnk, у тебя там в пределах локальной досягаемости нет никого опытного в разработке? В плане, чтобы прям "зубр" был. Если есть возможность обратиться к старшему товарищу - попробуй спросить у него. Можно просто показать эту тему и попросить объяснить, что да как.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
ksnk
Дата 11.12.2007, 16:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



Цитата(nornad @  11.12.2007,  13:14 Найти цитируемый пост)
...опытного в разработке? В плане, чтобы прям "зубр" был...

Ну, если вам кажется, что это не филиал Беловежской пущи, а сосвем даже местный обезьянний питомник, то кто я такой, чтобы спорить с мнением модератора ;)

Добавлено через 53 секунды
Sorry, ничего личного, просто не удержался от провокации smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nornad
Дата 11.12.2007, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 1
Всего: 31



Дык, я и не модератор. И как говорилось в одном фильме: "если ты хотел меня обидеть, то... это у тебя не получилось". smile
Просто, как тут уже неоднократно замечали, ты почему-то упорно не хочешь понять того, что тебе говорят. Вот я и рекомендовал то, что будет эффективнее, чем дальнейшие (по крайней мере мои) попытки объяснить на форуме. Если придёт в голову ещё идея, как объяснить - попробую.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
ksnk
Дата 11.12.2007, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



Да ладно! просто подходящий повод подвернулся...smile Извиняюсь 

однако я так и не понял что-же вызывает в описываемой мной ситуации истерический смех? Проект состоящий из набора файлов в одном каталоге - реальность не только для меня, а, imho, для многих других web-разработчиков. Весьт каталог тупо грузится на сервер, где и работает...
Ситуацию описанную мной (2 проекта по 2 файла, один - общий) может воспроизвести любой обладатель Тортилы минут за пять. набросать производимые при этом действия - еще минут пять. Я потратил несколькобольше, но я при этом еще  и документацию читал... Зубрам - легче smile  Неужели это так трудно? Я буду просто искренне счастлив услышать хоть сколько -нибудь содержательный ответ на мой достаточно, imho, четко сформулированный вопрос. Как это НАДО БЫЛО сделать?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Daevaorn
Дата 11.12.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 1
Всего: 70



Цитата(ksnk @  11.12.2007,  22:47 Найти цитируемый пост)
однако я так и не понял что-же вызывает в описываемой мной ситуации истерический смех? 

не правильность подхода к потроению проекта
Цитата(ksnk @  11.12.2007,  22:47 Найти цитируемый пост)
роект состоящий из набора файлов в одном каталоге - реальность не только для меня, а, imho, для многих других web-разработчиков. 

к счастью не всех. сам имею много веб проектов в которых взаимодействуют кучи библиотек, каждая из которых имеет свою рабочую копию и регулярно обновляется. проблем в составлении ропета не имею. и в один каталог не засовываю.
Цитата(ksnk @  11.12.2007,  22:47 Найти цитируемый пост)
Весьт каталог тупо грузится на сервер, где и работает...

сочувствую. может ещё и структура этого каталога проецируется на структуру сайта?smile

PM MAIL WWW   Вверх
ksnk
Дата 12.12.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



Daevaorn,  ваш ответ звучит для меня как "у меня есть конфетка, но я ее не дам!" ;-)

Нельзя ли рассказать на паре небольших пересекающихся Ваших примерах как удается элегантно менять версии общих кусков проектов? Как можно изменить структуру проекта ил моих 2-х файлов, чтобы такое стало возможно?

Хотя тот факт, что "проект для SVN", а не "SVN для проекта" меня несколько напрягает... с vss таких проблем просто не возникало...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nornad
Дата 12.12.2007, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 1
Всего: 31



Цитата(ksnk @  12.12.2007,  03:01 Найти цитируемый пост)
Нельзя ли рассказать

Дык, рассказывали уже.
Делаешь в свне три папки - проект1, проект2 и либз. (это ты уже сделал, так что ты уже полузюбр  smile )
Делаешь на винте три папки - проект1, проект2 и либз. (это ты почему-то упорно не хочешь делать, так что ты пока недозюбр)
Создаёшь в эклипсе проект1 и указываешь ему в качестве папок с исходниками - проект1 и либз. (это ты почему-то пока не понял - видимо, ещё особо не игрался с настройками проектов)
Создаёшь в эклипсе проект2 и указываешь ему в качестве папок с исходниками - проект2 и либз. (это ты почему-то пока не понял - видимо, ещё особо не игрался с настройками проектов)

Всё, дальше всё просто. Обновился проект1 - апдейтишь проект1. Обновился либз - апдейтишь либз. И тебе не трудно, и Оккаму бояться не надо.

Добавлено через 1 минуту и 33 секунды
Цитата(ksnk @  12.12.2007,  03:01 Найти цитируемый пост)
с vss таких проблем просто не возникало...

Потому что VSS - это как... как бревно, в то время как цвс/свн - лодка. Да, плыть можно и на бревне, но удобнее, приятнее и быстрее - на лодке. smile


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
ksnk
Дата 12.12.2007, 03:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: нет
Всего: 386



Ооо! Открой для себя темплейт "New Java project"... Спасибо добрый человек ;-) 
Всю жизнь создавал проекты в темплейтах 'web project' и 'PHP project', ан, оказывается ушлые java девелоперы себе  отстслюнили этакую пользу и молчат, как рыба об лед ! ;)

Будем становиться зюбрее!


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nornad
Дата 12.12.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 1
Всего: 31



Ну, скажу тебе по секрету - создание проекта вручную, а не на основе некоего визарда, всегда позволяет задать намного больше опций. Эклипс создавался для разработки на джава, потому там вместо создания "проекта вообще" схожим спектром возможностей обладает "проект джава". Покопайся на страницах диалога опций проекта - там много интересного можно обнаружить.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
arilou

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание на то, что новые темы, касающиеся новых вопросов, создаются кнопкой "Новая тема", а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих темах, будут удалены.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, arilou.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | УП: Инструменты | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.