Я использовал подход всех и придумал это. Он сохраняет логику toggle () внутри функции карты & amp; использует startWith () для установки значения.
const modal$ = merge(
toggle$.pipe(
map(() => prev => !prev),
),
show$.pipe(
map(() => prev => true),
),
hide$.pipe(
map(() => prev => false),
)
).pipe(
startWith(false),
scan((state, change) => change(state)),
);
Я использовал бы SVN (Подверсия).
Можно использовать SVN в режиме "файла" (w/o использование сети). объедините это с tortoiseSVN, который интегрируется к проводнику, и у Вас есть миленький портативный репозиторий.
Для интеграции Visual Studio существует коммерческий VisualSVN (49$) (которому я верю, установка, используемая для разработки StackOverflow).
Кто-то также упомянул AnkhSVN, который я не использовал, но некоторые люди находят это меньше, чем удовлетворение.
Не используйте SourceSafe. Существуют основные проблемы с ним. Посмотрите это:
Я рекомендовал бы использовать SubVersion вместо этого.
При использовании Windows можно использовать TortoiseSVN.
Если Вы работаете над Linux или другими вариантами Unix, попробуйте RapidSVN.
Используйте Подверсию. Репозиторий стиля FSFS будет работать лучше всего, поскольку более старые BDB могут иметь проблемы при перемещении с компьютера на компьютер. С AnkhSVN у Вас будет полная интеграция с Visual Studio (AnkhSVN 2.x является плагином управления исходным кодом; более старые версии все еще делают задание, хотя).
Базар делает то, что Вы просите (с точки зрения работы очень хорошо автономного), и было Лето 2007 года проекта Кода создать плагин интеграции Visual Studio, который, кажется, произвел at-least-partially-functional продукт.
Базар (и другие распределенные инструменты, такие как Мерзавец, Подвижный, Darcs и т.п.), идеален, потому что можно было сохранить репозиторий в нескольких местах (т.е. на перьевом диске, но также и скопированный до сервера регулярно), внести изменения в одном или другом ответвлении (скажем, Вы оставляете свой перьевой диск дома - можно создать изменения против копии на удаленном сервере, загрузить их через WebDAV, SFTP, и т.д., и смочь беспрепятственно объединить их в изменения, сделанные локально к перьевому диску; нераспределенные решения, такие как Подверсия не имеют той возможности).
Я рекомендовал бы SubVersion также - можно найти поставщика услуг хостинга, который предлагает SVN для действительно дешевого, этот путь исходный код всегда сохраняется и доступен, все, что необходимо сохранить флеш-накопитель, клиент SVN...
Существует два общих свободных фронтенда, которые Ankhsvn интегрирует в Visual Studio, и TortoiseSVN интегрируется с проводником (мое предпочтение). Существует также sliksvn сам, содержал svn сервер для окон.