Лучшая система управления версиями для управления корневыми каталогами

Еще один обработчик JSON я написал:

С ним вы можете сделать следующее:

let obj:[String:AnyObject] = [
    "array": [JSON.null, false, 0, "", [], [:]],
    "object":[
        "null":   JSON.null,
        "bool":   true,
        "int":    42,
        "double": 3.141592653589793,
        "string": "a α\t弾\n

10
задан 17 of 26 8 April 2009 в 19:35
поделиться

9 ответов

Я имел ту же проблему и создал инструмент сверху Подверсии, которая добавляет разрешение, владение и отслеживание secontext, не допускает .svn каталоги в на самом деле имеющие версию деревья и добавляет понятие слоев, таким образом, можно, например, отследить всю конфигурацию, связанную с разработкой, которую Вы затем только проверяете на машины, которые Вы используете для разработки.

Это помогло мне организовать свои настройки намного лучше через 50 + машины, в которые я вхожу.

Вот страница проекта. Это все еще немного грубо вокруг краев, но мы также используем его на работе для управления версиями конфигурации системы для наших 60 + серверы.

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

2
ответ дан 4 December 2019 в 01:03
поделиться

Любой DVCS, вероятно, хорошо работал бы. Моим фаворитом является Базар. Было бы самым легким сохранить Ваши файлы конфигурации в .config, версия что, и затем символьная ссылка как соответствующие.

Преимущество DVCS - то, что можно присвоить версию файлам конфигурации на машину также, не вмешиваясь в управление версиями глобальные конфигурации.

4
ответ дан 4 December 2019 в 01:03
поделиться

У меня была эта проблема в течение многих лет, и я не думаю, что управление версиями является обязательно правильным способом пойти. Я имел хороший успех с синхронизатор файла Унисона, который разработан для специальной цели поддержать последовательные корневые каталоги на двух машинах. Я в настоящее время управляю семью копиями с унисоном, и детали немного хитры, но это - большой инструмент и если Вы запустите с два, то Вы будете чрезвычайно рады.

Основное отличие между Унисоном и VCS - то, что Унисон готов задержать контакт с конфликтами, которые должны быть объединены. Плюс он разбирается во всех значениях по умолчанию. И это быстро: Я ежедневно использую его, по абонентской линии DSL, для синхронизации приблизительно 40 ГБ данных.

5
ответ дан 4 December 2019 в 01:03
поделиться

Программное обеспечение управления версиями не является действительно большим для корневых каталогов. Хуже, некоторое программное обеспечение действительно не любит .svn папки или начинает интерпретировать их содержание. Вы могли, конечно, попытаться зафиксировать это с некоторой очень сложной установкой зеркального отражения, но это твердо.

0
ответ дан 4 December 2019 в 01:03
поделиться

git или Дешевая ветвь Mercurials отлично подойдет для этой ситуации. Я начал с Mercurial, потому что он проще, но впоследствии перешел на git.

0
ответ дан 4 December 2019 в 01:03
поделиться

Вот разработчик Mozilla, это пробуют, чтобы сделать это: Версия, управляющая моим домашним dir, существует несколько предложений в комментариях.

0
ответ дан 4 December 2019 в 01:03
поделиться

Один из способов сделать это очень гибко - это иметь каталог сборки под контролем ревизии, а не пытаться сделать svn своим настоящим домом. каталог (который имеет свои проблемы)

, поэтому внутри него вы сохраняете структуру, подобную

/home/you/code/dotfiles
/home/you/code/dotfiles/dotbashrc
/home/you/code/dotfiles/dotemacs
...
/home/you/code/dotfiles/makefile

, и make-файл может содержать логику для специализированных файлов (или нет)

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

0
ответ дан 4 December 2019 в 01:03
поделиться

Я бы посоветовал заглянуть в etckeeper , если вы еще этого не сделали. Он предназначен для управления версиями файлов конфигурации в / etc с использованием системы контроля версий:

etckeeper - это набор инструментов для пусть / etc хранится в git, Mercurial, Darcs или BZR хранилище. Зацепляет apt (и другой пакет менеджеры включая yum и pacman-g2) автоматически фиксировать сделанные изменения в / etc во время обновления пакета. Это отслеживает метаданные файла, которые пересматриваются системы управления обычно не поддержка, но это важно для / etc, такие как права доступа / И т.д. / тень. Это довольно модульный и настраиваемый, а также простой использовать, если вы понимаете основы работа с контролем версий.

Хотя он разработан для / etc, я думаю, что он, вероятно, также будет работать (возможно, с некоторой адаптацией) для домашних каталогов, поскольку основные потребности одинаковы.

0
ответ дан 4 December 2019 в 01:03
поделиться

Я использую Git для этого. До сих пор мне удавалось синхронизировать домашние каталоги на нескольких машинах без необходимости ветвления и объединения. Вместо этого я использую git rebase . До сих пор конфликтов было мало, и их было легко разрешить.

Я оставляю файлы, для которых необходимо отдельное содержимое, вне контроля версий, помещая их в .gitignore .

Я сохраняю файлы конфигурации для следующих инструментов в git:

  • различные оболочки
  • emacs и приложения, т.е.
    • gnus
    • BBDB
    • emacs-w3m
  • mutt
  • screen
  • различные утилиты и скрипты

Я храню заметки и тому подобное в подкаталоге, имеющем собственный репозиторий git.

0
ответ дан 4 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: