Опыт использования git

oshmianski

Достойный программист
Lotus team
25.04.2012
554
8
#1
Доброго времени, форумчане.

Решил я тут пощупать Team Development.
Пошел по следам умных людей.
Понравилось, достаточно полезно даже для локальной работы одного разработчика, имхо.
Но вот есть некоторые неудобства, связанные с особенностями Notes.
Для форм (я подозреваю, что и для остальных "сложных" элементов дизайна типа представлений и т.д.) отслеживать изменения крайне не удобно. Например, при добавлении обычного перевода строки в середине формы, происходит перенумерация низ лежащих параграфов (как я понял).
Т.е. получаются бесполезные (для человеческого глаза) изменения и их много.

Уважаемые all, поделитесь, плс, своим опытом отслеживания изменений форм, представлений.
 

savl

Lotus team
28.10.2011
2 131
102
#2
Уважаемые all, поделитесь, плс, своим опытом отслеживания изменений форм, представлений.
Я не заморачиваюсь, если честно. Сравнение ворм и вьюх делаю средствами дизайнера, через Eclipse View\Navigator
А по поводу git: использую SourceTree + gitHub
 

garrick

Lotus team
26.10.2009
894
61
#3
Более-менее по-человечески из Lotus Notes можно работать только с Team Studio. Всё остальное для Lotus Notes применимо весьма условно, с большим трудом.
 

savl

Lotus team
28.10.2011
2 131
102
#4
CIAO тот еще продукт... Сталкивался. И все же да, это единственная полноценная версия SVN под Domino, причем именно под классику. Что касается xPage, то git подойдет.
 

Dragon108

Well-known member
19.01.2010
265
0
#5
Напишу сюда, так как в принципе тема схожая.

Решили тоже использовать GIT
Возникла следующая проблема:
1) Выгружаю nsf на локальный диск.
2) Вроде все ок. Захожу, например, в папку с проектам на диске -> агенты. и копирую туда нового агента (взял из другого проекта на диске).
3) Синхронизирую в дизайнере - Агент НЕ появляется :(

Что не так? почему не добавляется агент в список агентов в дизайнере?
 

Кирилл Шваб

Well-known member
30.06.2006
145
4
#6
Напишу сюда, так как в принципе тема схожая.

Решили тоже использовать GIT
Возникла следующая проблема:
1) Выгружаю nsf на локальный диск.
2) Вроде все ок. Захожу, например, в папку с проектам на диске -> агенты. и копирую туда нового агента (взял из другого проекта на диске).
3) Синхронизирую в дизайнере - Агент НЕ появляется :(

Что не так? почему не добавляется агент в список агентов в дизайнере?
Попробуй принудительно синхронизировать дисковую версию базы с nsf-ой.
В Designer нажми правую кнопку на базе - "Team Development" - "Sync with On-Disk Project..."
 

Dragon108

Well-known member
19.01.2010
265
0
#7
Попробуй принудительно синхронизировать дисковую версию базы с nsf-ой.
В Designer нажми правую кнопку на базе - "Team Development" - "Sync with On-Disk Project..."
Пробовал по разному - синхронизуется только из NSF на диск. Такое ощущение что если удалять в дизайнере то элемент просто продает из индекса изменений и все.

Нашел статью:
Для просмотра контента необходимо: Войти или зарегистрироваться


Но ... как ни пробовал: из NSF на диск, с Диска в NSF - ситуация всегда одна :( Синхронизация только из NSF на диск.

P.S. Ситуация вот какая: Собственно мы хотим использовать такую же связку как говорил savl: SourceTree + gitHub.
Как в таком случае синхронизовать в дизайнер изменения, которые поступили извне? (пришли из репозитория) Например, один разработчик добавляет туда новые элементы, но у меня то их в дизайнере нет! Выходит мне их никак не получить?
 

Кирилл Шваб

Well-known member
30.06.2006
145
4
#8
Доброго времени, форумчане.

Решил я тут пощупать Team Development.
Пошел по следам умных людей.
Понравилось, достаточно полезно даже для локальной работы одного разработчика, имхо.
Но вот есть некоторые неудобства, связанные с особенностями Notes.
Для форм (я подозреваю, что и для остальных "сложных" элементов дизайна типа представлений и т.д.) отслеживать изменения крайне не удобно. Например, при добавлении обычного перевода строки в середине формы, происходит перенумерация низ лежащих параграфов (как я понял).
Т.е. получаются бесполезные (для человеческого глаза) изменения и их много.

Уважаемые all, поделитесь, плс, своим опытом отслеживания изменений форм, представлений.
Если хочется человеческого сравнения изменений, то рекоммендую установить плагин Swiper с openntf.org (
Для просмотра контента необходимо: Войти или зарегистрироваться
) - он убирает ненужные метаданные и форматирует XML, после чего данные можно загружать в систему контроля версий и по-человечески сравнивать изменения, откатывать и т.д.

После установки и перезапуска Designer'а его надо "подключить" к базе - правая кнопка на базе - "Swiper" - "Add Swiper".
После этого по идее он должен автоматически работать при выгрузке данных (Sync with on-disk project), но у меня работает только в ручном режиме - надо раскрыть требуемый раздел элементов дизайна (например, Forms), выделить их, нажать правую кнопку - "Swiper" - "Filter selected".
 
Последнее редактирование:

Кирилл Шваб

Well-known member
30.06.2006
145
4
#9
Пробовал по разному - синхронизуется только из NSF на диск. Такое ощущение что если удалять в дизайнере то элемент просто продает из индекса изменений и все.

Нашел статью:
Для просмотра контента необходимо: Войти или зарегистрироваться


Но ... как ни пробовал: из NSF на диск, с Диска в NSF - ситуация всегда одна :( Синхронизация только из NSF на диск.

P.S. Ситуация вот какая: Собственно мы хотим использовать такую же связку как говорил savl: SourceTree + gitHub.
Как в таком случае синхронизовать в дизайнер изменения, которые поступили извне? (пришли из репозитория) Например, один разработчик добавляет туда новые элементы, но у меня то их в дизайнере нет! Выходит мне их никак не получить?
Тогда попробуй сначала обновить проект, а затем уже синхронизировать его с дисковой версией.

Надо:
1. Переключиться в Designer'е на вид Package Explorer или Navigator (меню Window - Show Eclipse Views - Navigator или Package Explorer)
2. Правая кнопка на требуемом проекте и Refresh - после этого новый элемент должен появиться в проекте (например, новый агент появится в папке Code - Agents)
3. Затем запускай синхронизацию с дисковой версией ("Team Development" - "Sync with On-Disk Project...")

По идее так точно должно сработать. ))
 
Последнее редактирование:

Dragon108

Well-known member
19.01.2010
265
0
#10
Нашел проблему:
У проекта, который находиться на диске, индекс также храниться в дизайнере: его нужно обновить, если добавляется или что-нибудь удаляется.

Через Package Explorer или Navigator найти этот проект -> Правой кнопкой -> В выпавшем меню Refresh. Тогда он подтянет все изменения с диска. И только потом можно делать синхронизацию с nsf ... o_O

За Swiper спасибо :), буду курить
 

savl

Lotus team
28.10.2011
2 131
102
#11
Как в таком случае синхронизовать в дизайнер изменения, которые поступили извне?
SourceTree сама отслеживает изменения основного репозитария, если он есть... там 2 области : сетевой проект вверху, локальный внизу.
У сетевого в случае изменений появляются цифры, ну а далее я не проходил еще... По идее можно все из репозитария загнать к себе, либо перекидывать из ветки в ветку.
 

savl

Lotus team
28.10.2011
2 131
102
#12
Я так понимаю, что необходимо кому-то быть первым.
Создать проект на диске, закинуть его в git. Сейчас будем разбираться с этим снова.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
554
8
#13
Я так понимаю, что необходимо кому-то быть первым.
все уже украдено до нас (с).
Создать проект на диске и добавить его в git - это не проблема.

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

Если хочется человеческого сравнения изменений, то рекоммендую установить плагин Swiper с openntf.org (
Для просмотра контента необходимо: Войти или зарегистрироваться
) - он убирает ненужные метаданные и форматирует XML, после чего данные можно загружать в систему контроля версий и по-человечески сравнивать изменения, откатывать и т.д.

После установки и перезапуска Designer'а его надо "подключить" к базе - правая кнопка на базе - "Swiper" - "Add Swiper".
После этого по идее он должен автоматически работать при выгрузке данных (Sync with on-disk project), но у меня работает только в ручном режиме - надо раскрыть требуемый раздел элементов дизайна (например, Forms), выделить их, нажать правую кнопку - "Swiper" - "Filter selected".
Спасибо за информацию, но что то у меня не получилось. Буду куриить дальше.
Если кому-то лень лазить на Openntf, вот выдержка ответа автора. Истина где-то рядом (с).

Hi Bert,
I am sorry I have not tested on 8.5.x, I have been on 9.0 for a long time now but I now that many people have no choice in the matter so I hope it can work for 8.5.3.

A couple of things to check.

Which version of swiper are you using?

Did you add swiper Before configuring the project for Source Control? Swiper needs the source control association set up before it is added otherwise it will not add itself to the project properly. I have just released 1.0.2 to address this problem.
If you did add swiper before configuring SC, try removing swiper and adding it again.

Are you using 'Build Automatically?' and do you have 'Enable Automatic Export of design elements' set in the Domino Designer -> Source Control preferences.

If you right -click on a file for example a view and then choose swiper -> Filter selected , does this filter the view metadata?

Last resort, we can do some logging.
If you go to File -> Swiper -> Start Logging
Then do some operations, e.g. add swiper to a project
save a file
build the project (Right-click on project - > build)
right-click a file and Swiper -> Filter selected
Then go to File -> Swiper -> Stop Logging

then there should be a log file in your %HOME%/.swiper/swiper-log0.0.xml
If you can submit this log via github (defects link above) under a new issue 'not working in 8.5.3' and attach the log I will have a look at it.
 

Dragon108

Well-known member
19.01.2010
265
0
#14
Ну у нас собственно есть идея реализовать нечто подобное:
Для просмотра контента необходимо: Войти или зарегистрироваться


В качестве клиента GIT: SourceTree (уже говорил :))
В качестве GIT-сервера: TFS

Сейчас настраиваем SourceTree c TFS :confused:
 

savl

Lotus team
28.10.2011
2 131
102
#15
Я тут нашел галочку про использование DXL, если ее снять, то код становится читабельным.
 

savl

Lotus team
28.10.2011
2 131
102
#17
ааа, думал этого будет достаточно... Когда эта галочка включена DDE использует DXL для преобразования кода и в git уходит уже байткод, а не сам код.
Таким образом, если смотреть различия, то ничего кроме base64 видно не будет. SourceTree так же будет показывать только base64, что затрудняет анализ изменений.
Снятие галочки выключает хранение в байткоде и код можно прочесть.
Конечно, это и не открытие, но я был приятно удивлен.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
554
8
#18
upload_2016-8-8_10-14-5.png

Если вы про эту галочку, то дело известное, но жизнь она слабо облегчает.
Кстати, у меня он а по-умолчанию была взведена.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
554
8
#20
плагин и я поставил, но не понял в чем профит.
что у вас изменилось после установки плагина?