OberonCore https://forum.oberoncore.ru/ |
|
Системы контроля версий https://forum.oberoncore.ru/viewtopic.php?f=23&t=343 |
Страница 1 из 1 |
Автор: | Cardinal [ Среда, 22 Ноябрь, 2006 19:04 ] |
Заголовок сообщения: | Системы контроля версий |
Существуют ли системы контроля версий для нетекстовых форматов файлов? - дабы с Blackbox-ом их использовать |
Автор: | Александр Ильин [ Четверг, 23 Ноябрь, 2006 10:31 ] |
Заголовок сообщения: | |
Subversion - использую давно, отлично работает как с текстом, так и с нетекстом. Бесплатная, open source. Есть скрипт для сравнения .odc файлов с помощью BlackBox, могу поделиться. |
Автор: | Cardinal [ Четверг, 23 Ноябрь, 2006 14:35 ] |
Заголовок сообщения: | |
Александр Ильин писал(а): Subversion - использую давно, отлично работает как с текстом, так и с нетекстом. Бесплатная, open source. Есть скрипт для сравнения .odc файлов с помощью BlackBox, могу поделиться.
Всё-таки решил поставить себе darcs. Мне больше подходит именно она. Только мне пока не ясно, как отобразить на экране разницу в версиях одного файла, не читаема она для формата файлов Blackbox. Как такая задача решается в SVN? |
Автор: | Александр Ильин [ Четверг, 23 Ноябрь, 2006 22:34 ] |
Заголовок сообщения: | |
Cardinal писал(а): Всё-таки решил поставить себе darcs. Мне больше подходит именно она. Только мне пока не ясно, как отобразить на экране разницу в версиях одного файла, не читаема она для формата файлов Blackbox. Как такая задача решается в SVN? Решается тоже нечитаемо. Просто я SVN использую не напрямую (в чистом виде он работает только из командной строки), а через GUI клиент, встраивающийся в контекстное меню Проводника. Клиент называется TortoiseSVN, тоже бесплатный open source. В нем можно расширение файла связать со сценарием (текстовый командный файл, аналог ДОСовских .bat), который будет выполняться при желании "сравнить" два файла. Я написал сценарий, который открывает оба файла в BlackBox и запускает сравнение текста (как по клавише F9). В результате двойной щелчок по изменившемуся файлу в диалоге "Commit" открывает BlackBox и подсвечивает первое различие в тексте. Повторно нажимая F9 можно перебрать все остальные различия до конца файла. Недостаток - встроенное сравнение текстов в BlackBox игнорирует различия в форматировании (жирный, цветной и пр.), но для текстов программ вполне адекватно. |
Автор: | paulcurl [ Вторник, 24 Март, 2009 23:54 ] |
Заголовок сообщения: | Re: Системы контроля версий |
и как бы заполучить этот скрипт? и инструкцию по применению!) |
Автор: | Ihor [ Четверг, 02 Апрель, 2009 17:35 ] |
Заголовок сообщения: | Re: Системы контроля версий |
GIT http://los-t.livejournal.com/tag/git+guts |
Автор: | Александр Ильин [ Суббота, 25 Апрель, 2009 11:14 ] |
Заголовок сообщения: | Re: Системы контроля версий |
В помощь пользователям Subversion для работы с документами BlackBox... Вот мои файлы сценариев, которые я успешно использую совместно с TortoiseSVN для сравнения и слияния измененных файлов. Файл "diff-odc.js": Код: // Copyright (c) Alexander Iljin, 2006 var objArgs,num,sBaseDoc,sNewDoc,objScript,shell; objArgs = WScript.Arguments; num = objArgs.length; if (num < 2) { WScript.Echo("Usage: [CScript | WScript] diff-odc.js base.odc new.odc"); WScript.Quit(1); } sBaseDoc = objArgs(0); sNewDoc = objArgs(1); objScript = new ActiveXObject("Scripting.FileSystemObject"); if ( ! objScript.FileExists(sBaseDoc)) { WScript.Echo("File " + sBaseDoc + " does not exist. Cannot compare the documents."); Wscript.Quit(1); } if ( ! objScript.FileExists(sNewDoc)) { WScript.Echo("File " + sNewDoc +" does not exist. Cannot compare the documents."); Wscript.Quit(1); } objScript = null; shell = WScript.CreateObject("WScript.Shell"); shell.Run("\""+sBaseDoc+"\""); WScript.Sleep(1000); shell.Run("\""+sNewDoc+"\""); WScript.Sleep(1000); shell.AppActivate("BlackBox"); shell.SendKeys("{F9}"); shell = null; Файл "merge-odc.js": Код: // Copyright (c) Alexander Iljin, 2006 var objArgs,num,sTheirDoc,sMyDoc,sBaseDoc,objScript,WSHShell,Exec; objArgs = WScript.Arguments; num = objArgs.length; if (num < 3) { WScript.Echo("Usage: [CScript | WScript] merge-odc.js theirs.odc mine.odc base.odc"); WScript.Quit(1); } sTheirDoc=objArgs(0); sMyDoc=objArgs(1); sBaseDoc=objArgs(2); objScript = new ActiveXObject("Scripting.FileSystemObject") if ( ! objScript.FileExists(sTheirDoc)) { WScript.Echo("File " + sTheirDoc +" does not exist. Cannot compare the documents."); Wscript.Quit(1); } if ( ! objScript.FileExists(sMyDoc)) { WScript.Echo("File " + sMyDoc +" does not exist. Cannot compare the documents."); Wscript.Quit(1); } if ( ! objScript.FileExists(sBaseDoc)) { WScript.Echo("File " + sBaseDoc +" does not exist. Cannot compare the documents."); Wscript.Quit(1); } objScript = null WSHShell = WScript.CreateObject("WScript.Shell"); Exec = WSHShell.Exec("cmd /c copy \""+sBaseDoc+"\" \""+sBaseDoc+".odc\""); while (Exec.Status == 0) { WScript.Sleep(100); } WSHShell.Run("\""+sBaseDoc+".odc\""); WScript.Sleep(1000); Exec = WSHShell.Exec("cmd /c copy \""+sTheirDoc+"\" \""+sTheirDoc+".odc\""); while (Exec.Status == 0) { WScript.Sleep(100); } WSHShell.Run("\""+sTheirDoc+".odc\""); WScript.Sleep(1000); Exec = WSHShell.Exec("cmd /c copy \""+sMyDoc+"\" \""+sMyDoc+".odc\""); while (Exec.Status == 0) { WScript.Sleep(100); } WSHShell.Run("\""+sMyDoc+".odc\""); WScript.Sleep(1000); WSHShell.AppActivate("BlackBox"); WSHShell.SendKeys("{F9}"); WSHShell = null; Настройка TortoiseSVN для использования данных файлов. Оба файла следует поместить в каталог "TortoiseSVN\Diff-Scripts". Кликнуть правой кнопкой по любому каталогу, выбрать в контекстном меню "TortoiseSVN - Settings". Далее перейти на страницу "Diff viewer", нажать кнопку "Advanced". Добавить к списку расширение "*.odc" со следующей командной строкой: Код: wscript.exe "d:\Program Files\DevTools\TortoiseSVN\Diff-Scripts\diff-odc.js" %base %mine //E:javascript (подставьте ваш путь к TortoiseSVN).На странице "Merge Tool" нажать кнопку "Advanced", добавить расширение "*.odc" со следующей командной строкой: Код: wscript.exe "d:\Program Files\DevTools\TortoiseSVN\Diff-Scripts\merge-odc.js" %merged %theirs %mine %base //E:javascript (подставьте ваш путь к TortoiseSVN).
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |