Я понял, что это не так уж сложно сделать с пользовательским оператором
import { pipe } from 'rxjs';
import { tap } from 'rxjs/operators';
export const tapTimeout = (onTimeout:(()=>any), delay:number) => {
let timeout = window.setTimeout(onTimeout, delay);
return pipe(tap(x=> {
window.clearTimeout(timeout);
timeout = window.setTimeout(onTimeout,delay);
}));
}
. Я исследовал эту проблему и сумел получить ее работа. Существует несколько незначительных проблем, но они могут работаться - вокруг.
существует 3 отличных части к этой проблеме, следующим образом:
часть TortoiseSVN - то, чтобы заставлять TortoiseSVN ввести Bugid и гиперссылку в журнале svn
часть FogBugz - то, чтобы заставлять FogBugz вставить информацию SVN и соответствующие ссылки
часть WebSVN - обеспечение ссылок от FogBugz на самом деле работает
, Инструкции для части 1 находятся в другом ответе, хотя это на самом деле делает более, чем необходимый. Материал о рычагах на самом деле для части 2, и как указан - это не работает "из поля"
Только для подтверждения, мы смотрим на использование TortoiseSVN БЕЗ [1 113] сервер SVN (т.е. основанные на файле репозитории)
, я получаю доступ к репозиториям с помощью путей UNC, но это также работает на локальные диски или сетевые диски.
Все это работает с TortoiseSVN v1.5.3 и Сервером SVN v1.5.2 (Необходимо установить Сервер SVN, потому что части 2 нужно svnlook.exe
, который находится в пакете сервера. Вы на самом деле не настраиваете его для работы Сервером SVN), может даже быть возможно просто скопировать svnlook.exe
с другого компьютера и поместить его где-нибудь в путь.
, Создающий свойства TortoiseSVN, является всем, что требуется для получения ссылок в журнале SVN.
Предыдущие инструкции хорошо работают, я заключу им в кавычки здесь для удобства:
Настраивают Свойства
Щелчок правой кнопкой по корневому каталогу проверенного проекта, с которым Вы хотите работать.
Избранный "TortoiseSVN-> Свойства"
Добавляют пять пар значения свойства путем нажатия на "New..." и вставки следующего в "Имя Свойства" и "Значение свойства" соответственно: (удостоверьтесь, что Вы отмечаете "Свойство Apply рекурсивно" для каждого)
bugtraq:label BugzID: bugtraq:message BugzID: %BUGID% bugtraq:number true bugtraq:url http://[your fogbugz URL here]/default.asp?%BUGID% bugtraq:warnifnoissue false
, Нажимают "OK"
, Как Jeff говорит, необходимо будет сделать это для каждой рабочей копии, поэтому следовать его инструкциям для миграции свойств.
Вот именно. TortoiseSVN теперь добавит ссылку к соответствующему FogBugz bugID, когда Вы будете фиксировать. Если это - все, что Вы хотите, можно остановиться здесь.
Для этого для работы мы должны настроить сценарии рычага. В основном пакетный файл называют после каждой фиксации, и это в свою очередь называет сценарий VBS, который делает представление к FogBugz. Сценарий VBS на самом деле хорошо работает в этой ситуации, таким образом, мы не должны изменять его.
проблема состоит в том, что пакетный файл записан для работы сервер рычаг, но нам нужно клиент рычаг.
сервер SVN называет рычаг постфиксации с этими параметрами:
<repository-path> <revision>
TortoiseSVN называет рычаг постфиксации с этими параметрами:
<affected-files> <depth> <messagefile> <revision> <error> <working-copy-path>
Так вот почему это не работает - параметры являются неправильными. Мы должны исправить пакетный файл, таким образом, он передает корректные параметры сценарию VBS.
Вы заметите, что TSVN не передает путь к репозиторию, который является проблемой, но это действительно работает при следующих обстоятельствах:
я собираюсь видеть, могу ли я решить эту проблему и отправлю назад здесь, если я делаю.
Вот мой исправленный пакетный файл, который действительно работает (извините чрезмерные комментарии...)
необходимо будет установить рычаг и каталоги репозитория для соответствия установке.
rem @echo off
rem SubVersion -> FogBugz post-commit hook file
rem Put this into the Hooks directory in your subversion repository
rem along with the logBugDataSVN.vbs file
rem TSVN calls this with args <PATH> <DEPTH> <MESSAGEFILE> <REVISION> <ERROR> <CWD>
rem The ones we're interested in are <REVISION> and <CWD> which are %4 and %6
rem YOU NEED TO EDIT THE LINE WHICH SETS RepoRoot TO POINT AT THE DIRECTORY
rem THAT CONTAINS YOUR REPOSITORIES AND ALSO YOU MUST SET THE HOOKS DIRECTORY
setlocal
rem debugging
rem echo %1 %2 %3 %4 %5 %6 > c:\temp\test.txt
rem Set Hooks directory location (no trailing slash)
set HooksDir=\\myserver\svn\hooks
rem Set Repo Root location (ie. the directory containing all the repos)
rem (no trailing slash)
set RepoRoot=\\myserver\svn
rem Build full repo location
set Repo=%RepoRoot%\%~n6
rem debugging
rem echo %Repo% >> c:\temp\test.txt
rem Grab the last two digits of the revision number
rem and append them to the log of svn changes
rem to avoid simultaneous commit scenarios causing overwrites
set ChangeFileSuffix=%~4
set LogSvnChangeFile=svn%ChangeFileSuffix:~-2,2%.txt
set LogBugDataScript=logBugDataSVN.vbs
set ScriptCommand=cscript
rem Could remove the need for svnlook on the client since TSVN
rem provides as parameters the info we need to call the script.
rem However, it's in a slightly different format than the script is expecting
rem for parsing, therefore we would have to amend the script too, so I won't bother.
rem @echo on
svnlook changed -r %4 %Repo% > %temp%\%LogSvnChangeFile%
svnlook log -r %4 %Repo% | %ScriptCommand% %HooksDir%\%LogBugDataScript% %4 %temp%\%LogSvnChangeFile% %~n6
del %temp%\%LogSvnChangeFile%
endlocal
я собираюсь предположить, что репозитории в \\myserver\svn\
, и рабочие копии, все под 'C:\Projects\
Входят в Вашу учетную запись FogBugz и нажимают Extras-> файл Configure Source Control Integration
Download the VBScript для Подрывной деятельности (не беспокойтесь пакетным файлом)
Создают папку для хранения сценариев рычага. Я поместил его в ту же папку как мои репозитории. например, \\myserver\svn\hooks\
Переименовывают VBscript для удаления .safe
в конце имени файла.
Сохраняют мою версию пакетного файла в Вашем каталоге рычагов, как post-commit-tsvn.bat
Щелчок правой кнопкой по любому каталогу.
Избранный "TortoiseSVN> Настройки" (в меню правой кнопки от последнего шага)
Выбор "Сцепляется, Сценарии"
Нажимают "Add" и устанавливают свойства следующим образом:
Тип Рычага: Рычаг постфиксации
Рабочий Путь Копии: C:\Projects
(или независимо от того, что Ваш корневой каталог для всех Ваших проектов.)
Командная строка Для Выполнения: \\myserver\svn\hooks\post-commit-tsvn.bat
(это должно указать на то, везде, куда Вы помещаете свой каталог рычагов в шаг 3)
Галочка "Ожидает сценария для окончания"
, Нажимают "OK" дважды.
В следующий раз, когда Вы фиксируете и вводите Bugid, он будет отправлен FogBugz. Ссылки не будут работать, но по крайней мере информация о пересмотре там, и можно вручную искать журнал в TortoiseSVN.
ПРИМЕЧАНИЕ: Вы заметите, что корневой каталог хранилища трудно кодируется в пакетный файл. В результате, если Вы проверяете из репозиториев, которые не имеют того же корня (например, один на локальном диске, и один в сети) тогда необходимо будет использовать 2 пакетных файла и 2 соответствующих записи в соответствии со Сценариями Рычага в настройках TSVN. Способ сделать это должно было бы иметь 2 отдельных Рабочих дерева Копии - один для каждого корневого каталога хранилища.
Errr, я не сделал этого:-)
От чтения документов WebSVN, кажется, что WebSVN на самом деле не интегрируется с сервером SVN, это просто ведет себя как любой другой клиент SVN, но представляет веб-интерфейс. В теории тогда это должно хорошо работать с основанным на файле репозиторием. Я не попробовал его все же.
Этот ответ является неполным и дефектным! Это только работает от TortoisSVN до Fogbugz, но не наоборот. Я все еще должен знать, как заставить его работать назад от Fogbugz (как, он разработан к) так, чтобы я видел, что Пересмотр пронумеровать ошибку обращен в от Fogbugz при рассмотрении ошибки.
<час>http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html
http://tortoisesvn.net/issuetracker_integration
<час>Входят в Вашу учетную запись fogbugz и нажимают Extras>, Configure Source Control Integration
Download "post-commit.bat" и файл VBScript для Подрывной деятельности
Создают каталог "рычагов" в общем месте, к которому легко получают доступ (предпочтительно без пробелов в пути к файлу)
Место, копия файлов в каталогах рычагов
Переименовывает файлы без ".safe" расширения
Щелчок правой кнопкой по любому каталогу.
Избранный "TortoiseSVN> Настройки" (в меню правой кнопки от последнего шага)
Выбор "Сцепляется, Сценарии"
Нажимают "Add"
Набор свойства таким образом:
Тип Рычага: Рычаг постфиксации
Рабочий Путь Копии: C:\\Projects (or whatever your root directory for all of your projects is. Если у Вас будут несколько, то необходимо будет сделать этот шаг для каждого.)
Командная строка Для Выполнения: C:\\subversion\\hooks\\post-commit.bat (это должно указать на то, везде, куда Вы помещаете свой каталог рычагов от шага 3)
я также установил флажок для Ожидания сценария для окончания...
ПРЕДУПРЕЖДЕНИЕ: не забывайте двойную обратную косую черту! "\\"
Нажимают "OK"...
Примечание: снимок экрана отличается, следуйте тексту для путей к файлам, НЕ снимку экрана...
В этой точке казалось бы, что Вы могли нажать "Issue Tracker Integration" и выбрать Fogbugz. нет. Это просто возвращается "Нет никаких доступных поставщиков системы отслеживания ошибок".
Еще раз, Щелчок правой кнопкой по корневому каталогу проверенного проекта, с которым Вы хотите работать (необходимо сделать, это "настраивает свойства" шаг для каждого проекта - Видят "Мигрирующие Свойства Между Проектами" ниже)
Избранный "TortoiseSVN>, Свойства" (в меню правой кнопки от последнего шага)
Добавляют пять пар значения свойства путем нажатия на "New..." и вставки следующего в "Имя Свойства" и "Значение свойства" соответственно:
bugtraq:label BugzID:
bugtraq:message BugzID: %% BUGID %%bugtraq:number верный
bugtraq:url http:// [Ваш fogbugz URL здесь]/default.asp? % %BUGID
bugtraq:warnifnoissue ложь
Теперь, когда Вы фиксируете, можно определить одну ошибку, к которой обращается фиксация. Этот вид сил Вы для фиксации после исправления каждой ошибки...
при просмотре журнала (Щелкают правой кнопкой по корню проекта, TortoiseSVN> выставочный журнал) Вы видите идентификатор ошибки, которому каждая проверка соответствует (1), и можно нажать идентификационный номер ошибки, который будет взят к fogbugz для просмотра той ошибки автоматически, при рассмотрении фактического сообщения журнала. Довольно изящный!
<час>
Щелчок правой кнопкой по проекту, который уже имеет надлежащую конфигурацию Свойств
Избранный "TortoiseSVN> Свойства" (из контекстного меню от шага 1)
Выделение все желаемые свойства
, Нажимает "Export"
Имя файл после свойства и места в легкодоступном каталоге (я поместил мой с файлами рычагов)
Щелчок правой кнопкой по корневому каталогу проверенного набора свойств необходимости проекта для.
Нажимают "Import"
Выбор файл, который Вы экспортировали на шаге 4 выше
, Нажимают Open
Почему Вы не можете просто установить сервер подрывной деятельности? Если Вы загружаете Сервер VisualSVN , который свободен, Вы получаете http сервер для своего исходного кода и можете таким образом использовать сценарии FogBugz для интеграции двух.
причина, которую я спрашиваю, состоит в том, потому что все сценарии и документация до сих пор предполагают, что у Вас есть сервер, клиентские сценарии являются слишком новыми для FogBugz для имения шаблонов для них так, Вас в значительной степени оставляют Вашим собственным устройствам на этом.
Проблема состоит в том, что FogBugz свяжется с веб-страницей, и file:///etc не является веб-страницей. Для получения интеграции два пути Вам нужен веб-сервер для Вашего репозитория подрывной деятельности. Или настроенный Apache или что-то еще, что может разместить те вещи надлежащий путь.
Я не уверен, что следую за Вами. У Вас есть репозитории в сети или в Вашем диске C:\? Согласно двум из Ваших сообщений, у Вас есть оба, или ни один или один из них или...
Вы не можете заставить VisualSVN или Apache безопасно обслуживать репозитории от сетевого ресурса. Так как Вы первоначально сказали, что у Вас были репозитории на Вашем диске C:\, это - то, для чего Вы получаете совет. Если у Вас есть различная установка, необходимо сказать нам об этом.
, Если бы у Вас есть репозитории на Вашем локальном жестком диске, я установил бы VisualSVN или интегрировал бы его в Apache. VisualSVN может хорошо работать вместе с Apache поэтому, если Вы идете тем путем только необходимо установить его. Ваши существующие репозитории могут также просто быть скопированы в каталог корневого каталога хранилища VisualSVN, и Вы в порядке.
я не уверен, почему то большое сообщение здесь маркировано как неполное, поскольку оно детализирует шаги, необходимые для установки сценария рычага для информирования FogBugz о новых изменениях, связанных со случаями, которые должны быть тем, что неполный в сообщении говорится, что оно не делает. Это не работает?