Снегопат

Обсуждение Снегопата
Текущее время: 23 ноя 2024, 03:13

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 199 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 20  След.
Автор Сообщение
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 15 фев 2012, 19:23 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
Добрый вечер! Добавил branch DVCS http://snegopat.ru/scripts/timeline?r=dvcs&nd&c=15.02.2012+18%3A56%3A32
Тут лежит текущий вариант версонного контроля для внешних файлов.
Вариант, что главное рабочий.

Расширение сделано на основании extfiles.js, только в настройки добавлены выбор цветов для различных состояний файлов в системе контроля версий.
Подключается
Код:
script:scripts\dvcs\extfiles.js
script:scripts\dvcs\dvcs_fossil.js
script:scripts\dvcs\diff_doc.js


Файл extfiles.js вынес в отдельный каталог, т.к. в дальнейшем значительно прийдется уйти в добавлении функционала именно для версионного контроля.
dvcs_fossil.js - по факту backend к пока двум вызовам "STATUS" и "DIFF" (хотелось бы услышать пожелания по API, т.к сильно его не обдумывал, что пришло в голову так и добавил).
Так же добавлены настройки, можно прописать путь к fossil как для снегопата, так и для базы (Для снегопата советую написать относительно корня, тогда даже прийдя к клиенту будет работать).
diff_doc.js - по факту регистрирует расширение doc, в результате для сравнения doc файлов будет вызывать функция из этого файла, таким образом можно добавлять для различных файлов вызов не 1С диалога сравнения, планирую еще добавить для xls файлов.

Тестировалось на Windows XP: работает. Просьба проверить на других системах.
В планах добавить еще bzr и svn (но скорее всего после согласования и утверждения API вызовов).

* Ошибки: вызвали сравнение для внешней обработки, а потом для внешнего отчета - автоматом не поменяется вид файла, необходимо еще раз вызвать сравнение.
* Пока не знаю как вытащить более одной версии назад именно для fossil не смог найти алгоритма. Т.е. отредактировали файл - можно посмотреть diff, если сделали commit и хотим посмотреть отличия версии 2 и 1 для 1й не могу получить файл, только diff.

Пожелания, комментарии приветствуются.

http://www.screencast.com/t/zg98ssKh35e


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 15 фев 2012, 21:03 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Большая работа проделана, спасибо!

Несколько предложений, пожеланий, советов:

1. Предлагаю избавить пользователя от необходимости подключать плагины для различных систем контроля версий вручную. Вместо этого лучше сделать настройку в самом extfiles.js: табличное поле со списком доступных плагинов, в которых пользователь галочками отметит те, какие он хочет использовать и пусть основной скрипт сам заботится об их загрузке.

2. В закладке "DVCS" настроек два цвета подписаны похожим образом: "Фон измененных файлов" и "Фон для измененных" - чем что это? (см. вложение).

3. У меня почему-то по умолчанию все цвета оказались черным. Может, сделать настройку по умолчанию: красный - удаленные, желтый - измененные?

4. При нажатии кнопки "Сравнить" на файле с расширением "js" вылетает ошибка "Задано неправильное имя атрибута структуры" (строка 657). Скорее всего, из-за того, что ты расширение получаешь вручную и не учитываешь, что они могут быть короче или длиньше трех символов. Замени

Код:
var ext = Path1.substr(Path1.length-3)

, например, на

Код:
var ext = v8New("Файл", Path).Расширение;


5. Получить в фоссиле в stdout содержимое файла нужной ревизии можно следующей командой:

Код:
fossil finfo -p -r d55861840b extfiles.js


6. Уже на каталоге Снегопата работает заметно с задержками, если сравнивать с "чистым" extfiles

7. Если extfiles с версионным контролем будет существовать параллельно с оригинальным extfiles, то у первого лучше заменить uname и diname на свои.


Вложения:
dvcs.PNG
dvcs.PNG [ 8.81 КБ | Просмотров: 10835 ]

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 16 фев 2012, 10:46 
Не в сети
Аватара пользователя

Зарегистрирован: 07 фев 2012, 15:25
Сообщения: 86
Откуда: РБ
Огромное спасибо!
Нашел маленькую непонятку. Может это надо в ветку снегопада.
Если окно внешних файлов делаешь "прячущееся". Потом жмешь сравнить.
Когда выводится сообщение "комманда отработала, но вывод не записался, надо отладить!". То окно становится "прикрепляемое"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 16 фев 2012, 12:07 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
Цитата:
комманда отработала, но вывод не записался, надо отладить!
В начале никакой цифры не было?
Посмотрю, проверю я с прячущимся не тестировал.

Цитата:
5. Получить в фоссиле в stdout содержимое файла нужной ревизии можно следующей командой:
Код:
fossil finfo -p -r d55861840b extfiles.js
К сожалению это работает только для текстовых файлов, если бинарный тогда он выводит просто diff к чему это diff применять не знаю.
Надо просить тех кто может прочитать исходники посмотреть есть ли в fossil вообще такая возможность... (я уже давно на С не писал, вряд ли быстро разберусь).

Цитата:
6. Уже на каталоге Снегопата работает заметно с задержками, если сравнивать с "чистым" extfiles
думаю из-за поиска в таблице значений для каждого файла, есть мысль переписать вызовы и отдать на откуп backend -у, допустим буду при добавлении файла в дерево запрашивать статус файла
Код:
лСтрокаДереваФайлов.Статус = GetFileStatus(лФайл.ПолноеИмя)(


Вчера думал, что буду делать как отдельную обработку, но сейчас (переспавши с этой мыслей) думаю можно с минимальными правками все вызовы вынести в backend, а в оригинальную extfiles добавить просто возможность регистрации backend + 1 коммандная панель, где все события будут отправляться в backend. При таков варианте можно сохранить как первоначальную идею, так и добавлять различные возможности по мере сил не трогая основной код.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 16 фев 2012, 12:32 
Не в сети
Аватара пользователя

Зарегистрирован: 07 фев 2012, 15:25
Сообщения: 86
Откуда: РБ
sosnae писал(а):
В начале никакой цифры не было?
Посмотрю, проверю я с прячущимся не тестировал.

Нет, не было.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 16 фев 2012, 14:01 
Не в сети
Аватара пользователя

Зарегистрирован: 07 фев 2012, 15:25
Сообщения: 86
Откуда: РБ
Перестало сохранять в настройках "каталоги для текущей базы"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 17 фев 2012, 19:03 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
kostas писал(а):
Перестало сохранять в настройках "каталоги для текущей базы"

Даже не представляю, что это может быть... Код полностью сохранения/вост настроек полностью скопирован с оригинала...

Последние правки:
подправил мелкие ошибки.
Еще не занимался оптимизацией и добавления кода, для автоматической регистрации.
Цитата:
комманда отработала, но вывод не записался, надо отладить!

Надо обязательно стоять на файле, и файл должен быть под версионным контролем fossil.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 20 фев 2012, 17:05 
Не в сети
Аватара пользователя

Зарегистрирован: 07 фев 2012, 15:25
Сообщения: 86
Откуда: РБ
sosnae писал(а):
kostas писал(а):
Перестало сохранять в настройках "каталоги для текущей базы"

Даже не представляю, что это может быть... Код полностью сохранения/вост настроек полностью скопирован с оригинала...

В версии 1.35 (предыдущая) сохранение настроек "Для текущей базы" не работает. По коду пробежался - вроде все нармуль. может у меня глюк с хранилищем настроек?

ПыСы. нашел
строку profileRoot.setValue(pflExtFilesPathBase, мТзРасширенияФайлов)
заменить на profileRoot.setValue(pflExtOpen1CExtensions, мТзРасширенияФайлов)


Последний раз редактировалось kostas 20 фев 2012, 19:29, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 20 фев 2012, 17:09 
Не в сети
Аватара пользователя

Зарегистрирован: 07 фев 2012, 15:25
Сообщения: 86
Откуда: РБ
sosnae писал(а):
kostas писал(а):
комманда отработала, но вывод не записался, надо отладить!

Надо обязательно стоять на файле, и файл должен быть под версионным контролем fossil.

Заработало. Пересоздал свой файл репозиторий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: extfiles.js - Скрипт Внешние файлы
СообщениеДобавлено: 21 фев 2012, 10:05 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
kostas писал(а):
sosnae писал(а):
kostas писал(а):
Перестало сохранять в настройках "каталоги для текущей базы"

Даже не представляю, что это может быть... Код полностью сохранения/вост настроек полностью скопирован с оригинала...

В версии 1.35 (предыдущая) сохранение настроек "Для текущей базы" не работает. По коду пробежался - вроде все нармуль. может у меня глюк с хранилищем настроек?

ПыСы. нашел
строку profileRoot.setValue(pflExtFilesPathBase, мТзРасширенияФайлов)
заменить на profileRoot.setValue(pflExtOpen1CExtensions, мТзРасширенияФайлов)


Спасибо, это я накосячил. Добавил исправление в транк (http://snegopat.ru/scripts/info/328fdf4f66).

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 199 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 20  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB