Как я могу использовать ископаемые (DVCS) в домашних условиях? - PullRequest
10 голосов
/ 30 августа 2009

Я пытаюсь использовать ископаемое в качестве моей новой VCS, так как я одинокий разработчик, работающий над небольшими проектами. Я начал тестирование окаменелости, но столкнулся с (вероятно, серьезным новичком) проблемой. Как один толкать или тянуть в другой каталог (что легко на Hg). Команды извлечения или выталкивания ожидают URL, а не каталога. Когда я запускаю сервер в одном каталоге и пытаюсь перейти из другого каталога, я получаю сообщение об ошибке «цикл сервера». Есть идеи?

Ответы [ 3 ]

19 голосов
/ 12 ноября 2009

Когда я попробовал это, клонирование и извлечение работали так же, как и ожидалось, БЕЗ запуска ископаемого сервера.

Создать главный репозиторий

>mkdir master

>cd master

>fossil new master_repos.fsl
project-id: dbcb1863865d7d3ed74f873df6daf07c5853df5e
server-id:  ea7a2e2496cc9c958cb7cc50bf48c0810b25a0a0
admin-user: james (initial password is "89ef88")

>fossil open master_repos.fsl


>echo "hello world" > a.a

>fossil add a.a
ADDED  a.a

>fossil ci -m "add a.a"
New_Version: 80b67a84ff276e559328f373008ff3014a869170

Клонировать главный репозиторий

>cd ..

>mkdir trial

>cd trial

>fossil clone ../master/master_repos.fsl trail_repos.fsl
Repository cloned into trail_repos.fsl
Rebuilding repository meta-data...
3 (100%)...
project-id: dbcb1863865d7d3ed74f873df6daf07c5853df5e
server-id:  24da0b614d1a1d6cd8ac5a86200390b47b87ee27
admin-user: james (password is "89ef88")

>fossil open trail_repos.fsl
a.a
project-name: <unnamed>
repository:   C:/Documents and Settings/james/My Documents/code/test/trial/trail
_repos.fsl
local-root:   C:/Documents and Settings/james/My Documents/code/test/trial/
project-code: dbcb1863865d7d3ed74f873df6daf07c5853df5e
server-code:  24da0b614d1a1d6cd8ac5a86200390b47b87ee27
checkout:     80b67a84ff276e559328f373008ff3014a869170 2009-11-12 15:19:51 UTC
parent:       b04cc7533753a8a8a1f8a92b1be8b73cbc368660 2009-11-12 15:18:11 UTC
tags:         trunk


>type a.a
"hello world"

Модификация мастера

>cd ../master

>echo "hello #2" > b.b

>fossil add b.b
ADDED  b.b

>fossil ci -m "add b.b"
New_Version: 863e2501037e9f215ff3ec08a1d7802315151e7b

Вытащить из модифицированного мастера

>cd ../trial

>fossil pull ../master/master_repos.fsl
                Bytes      Cards  Artifacts     Deltas
Send:             130          1          0          0
Received:         230          6          0          0
Send:             224          2          0          0
Received:         590          8          2          0
Total network traffic: 649 bytes sent, 806 bytes received

>fossil update
Autosync:  file://C:/Documents and Settings/james/My Documents/code/test/master/
master_repos.fsl
                Bytes      Cards  Artifacts     Deltas
Send:             130          1          0          0
Received:         230          6          0          0
Total network traffic: 295 bytes sent, 337 bytes received
ADD b.b


>type b.b
"hello #2"
7 голосов
/ 30 августа 2009

Согласно этому ископаемому билету , для клонирования, проталкивания и вытягивания требуется работающий сервер ископаемых. Вы не можете просто использовать репо, вам нужно запустить сервер, затем обратиться к http://localhost/whatever, и вы должны быть золотым.

  1. Запустить fossil server в исходном хранилище
  2. Перейдите в каталог назначения и запустите fossil clone http://localhost: 8080 <repository name> (или нажмите или потяните)
0 голосов
/ 31 августа 2013

Если содержимое одинаковое, я использую тот же ископаемый файл (вам не нужно тянуть / толкать) например.

fossil new ~/fs/prj1.fossil
(mkdir prj1 ; fossil open ~/fs/prj1.fossil)
(mkdir prj1_feature1 ; fossil open ~/fs/prj1.fossil)

В некоторых случаях (prj1 заполнен, prj2 является подмножеством prj1), я использую более безопасный метод 'fossil ui'. например.

fossil new ~/fs/prj1.fossil
(mkdir prj1 ; fossil open ~/fs/prj1.fossil; fossil ui &) 
mkdir prj1_subset
fossil clone http://localhost:8080 prj1_subset.fossil
fossil open prj1_subset.fossil
...