Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Синхронизация svn-папки с обычной папкой


Автор: intr 19.3.2008, 15:00
Необходимо сделать синхронизацию svn-папки с обычной папкой.
Ситуация:
1. Есть папка проекта с SVN метаинформацией, 
2. Делаем копию папки проекта
3. Удаляем из копии папки проекта SVN метаинформацию
4. Работаем с копией папки проекта. Например удаляем несколько подпапок, удаляем несколько файлов, добавляем подпапки и файлы. 
Необходимо:
Добавить все изменения из копии папки проекта в папку проекта с SVN метаинформацией. 
Проблемы:
Если мы удаляем папку содержащую SVN метаинформацию используя возможности файловой системы (rm -R папка) то при синхронизации эклипс предлагает загрузить удаленную папку из SVN.

Вопросы:
1. Есть ли более стандартные средства синхронизации svn-папки с обычной папкой? 
2. Есть java api к для работы с svn папками?

Соответственно есть ли библиотеки и фреймворки на java которые помуг мне решить приведенные выше проблемы. 

p/s
Эта вся последовательность действий нужна для синхронизации SVN, рабочего проекта в IDE и Opencms. 

Автор: AxNe0 19.3.2008, 15:50
можно глянуть в сторону Subclipse (svn plugin для eclipse), как мне кажется, это как раз то, что нужно...

Автор: niasilil 19.3.2008, 16:20
может вообще синхронизацию папок не java делать, а каким нибудь SyncToy от майкрософта?

Автор: COVD 19.3.2008, 17:06
Скопировать содержимое папки svn проекта в другую папку легко. Надо перетащить мышью с нажатой правой кнопкой выделенные обьекты в пустую папку и отпустить кнопку - в контекстном меню будет предложено SVN ExportAll. Эта операция копирует без метаинформации, т.е. ее не надо будет вручную потом удалять.

Если есть необходимость иметь два проекта с общей частью, то вместо того, чтобы оттачивать мастерство владения SVN и подобными инструментами, на мой взгляд правильнее общую часть выделить в отдельный проект и подключить ее как библиотеку.  

Автор: intr 20.3.2008, 04:22
Цитата(AxNe0 @ 19.3.2008,  20:50)
можно глянуть в сторону Subclipse (svn plugin для eclipse), как мне кажется, это как раз то, что нужно...

Subclipse синхронизирует SVN-проект с SVN репозитарием, а нужно синхронизировать SVN-проект с обычной папкой на жестком диске.

Добавлено через 1 минуту и 59 секунд
Цитата(niasilil @ 19.3.2008,  21:20)
может вообще синхронизацию папок не java делать, а каким нибудь SyncToy от майкрософта?

Желательно весь процес синхронизации запускать из под мавена или анта, да и платформонезависимость это хорошо.

Добавлено через 7 минут и 46 секунд
Цитата(COVD @ 19.3.2008,  22:06)
Скопировать содержимое папки svn проекта в другую папку легко. Надо перетащить мышью с нажатой правой кнопкой выделенные обьекты в пустую папку и отпустить кнопку - в контекстном меню будет предложено SVN ExportAll. Эта операция копирует без метаинформации, т.е. ее не надо будет вручную потом удалять.

тут проблем нет, пользоваться мышкой я умею smile 
Цитата(COVD @ 19.3.2008,  22:06)

Если есть необходимость иметь два проекта с общей частью, то вместо того, чтобы оттачивать мастерство владения SVN и подобными инструментами, на мой взгляд правильнее общую часть выделить в отдельный проект и подключить ее как библиотеку.

Проблема в том что есть исходный код который должен лежать в SVN, периодически выгружаться и  изменяться, и потом все это должно выкладываться в отдельную папку (предварительно удалив SVN метаинформацию). Проблема в том что иногда надо выгружать из этой папки изменения в папку проекта, а потом в SVN репозитарий. И все это выполнив один скрипт.

Автор: Samotnik 20.3.2008, 05:15
Цитата(intr @  19.3.2008,  15:00 Найти цитируемый пост)
1. Есть ли более стандартные средства синхронизации svn-папки с обычной папкой? 2. Есть java api к для работы с svn папками?

А почему бы не использовать программку под названием "Черепашка"  TurtleSVN  ?
Очень удобный интерфейс и простота в использовании, ничего руками делать не нужно, достаточно простых кликов мышкой

Автор: intr 20.3.2008, 05:39
Цитата(Samotnik @ 20.3.2008,  10:15)
Цитата(intr @  19.3.2008,  15:00 Найти цитируемый пост)
1. Есть ли более стандартные средства синхронизации svn-папки с обычной папкой? 2. Есть java api к для работы с svn папками?

А почему бы не использовать программку под названием "Черепашка"  TurtleSVN  ?
Очень удобный интерфейс и простота в использовании, ничего руками делать не нужно, достаточно простых кликов мышкой

Возможно вы имеете ввиду TortoiseSVN? Он позволят только синхронизировать SVN-репозиторий и svn-папку в локальной файловой системе. А нужно немножко другое.

Еще раз попытаюсь объяснить
1. svn-репозиторий проекта - проект на сервере
2. svn-папка проекта - выгруженный из репозитория проект в локальной файловой системе
3. папка проекта без SVN-метаинформации  - копия svn-папки проекта с удаленной из нее svn-метаинформацией

Мне надо удалить из [3] несколько папок, синхронизировать это все со [2] и потом выгрузить изменения в [3]

Проблема в том что если мы просто удалим папку из [2] то выгрузить в [3] мы не можем, надо в родительской метаинформации проставить что папка была удалена. Родительская метаинформация это текстовый файл который не охота разбирать самому.



Автор: niasilil 20.3.2008, 07:44
Цитата(intr @ 20.3.2008,  04:22)
Добавлено @ 04:24
Цитата(niasilil @ 19.3.2008,  21:20)
может вообще синхронизацию папок не java делать, а каким нибудь SyncToy от майкрософта?

Желательно весь процес синхронизации запускать из под мавена или анта, да и платформонезависимость это хорошо.

теоретизирую, сам не делал: 
можно из под анта запустить внешнюю программу - svn export
вторую программу- запустить синхронзацию. 
Остается найти платформонезависимую программу.  Я знал одну но успешно забыл. Можно попытаться найти java based open source code. 
Будет автоматизировано, но с полпинка не сделаешь все таки. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)