2009-08-30 2 views
10

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

+0

Я забыл сказать, что я обошел проблему URL-адреса в команде «clone», скопировав файл репозитория. – Mosh

ответ

7

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

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

Спасибо за ваш ответ. Я попробовал, и я до сих пор получаю следующий ответ: «2fossil: server says: server loop». Любые идеи? – Mosh

+0

Ура! Оно работает. На всякий случай кто-то сталкивается с той же проблемой. Откройте «ископаемый сервер» в исходном каталоге. Перейдите в каталог назначения и ископаемый клон (или нажмите или потяните) http: // localhost: 8080 <имя репозитория> Теперь кажется очевидным, спасибо еще раз. – Mosh

+0

Обратите внимание, что в предыдущем комментарии Stackoverflow принял адрес http буквально. Может ли кто-то с правами на редактирование исправить это? – Mosh

19

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

Создать мастер-хранилище

>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 

Clone мастер хранилище

>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" 
+0

Я попробую этот метод. Благодарю. Где вы были два месяца назад? ;) – Mosh

+1

+1 за то, что нашли время, чтобы написать подробный пример! :) –

-1

Если содержание то же самое, я использую тот же файл ископаемого. (Вам не требуется pull/push) например.

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

В некоторых случаях (prj1 полна, prj2 является подмножеством prj1), я использую более безопасный метод 'ископаемое 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 
Смежные вопросы