2009-08-30 42 views
10

我正在嘗試化石作爲我的新VCS,因爲我是一個開發小型項目的獨立開發人員。我開始測試化石,但我遇到了一個(可能是主要的新手)問題。如何推或拉到另一個目錄(這很容易在汞上)。化石拉或推命令期望一個URL而不是一個目錄。當我在一個目錄中啓動服務器並嘗試從另一個目錄推送時,出現「服務器環路」錯誤消息。有任何想法嗎?如何在家庭環境中使用化石(DVCS)?

+0

我忘了說我通過複製存儲庫文件繞過了「克隆」命令的URL問題。 – Mosh 2009-08-30 07:57:30

回答

7

根據this fossil ticket,克隆,推送和拉動要求化石服務器運行。你不能只使用回購,你必須啓動一個服務器,然後參考http://localhost/whatever,你應該是金。在原來的倉庫

  1. 運行fossil server
  2. 轉到目標目錄並運行fossil clone http://localhost8080 <repository name>(或推或拉)
+0

感謝您的回覆。我試過了,我仍然得到以下回復:「2fossil:server says:server loop」。 任何想法? – Mosh 2009-08-31 10:07:27

+0

萬歲!有用。爲了防止其他人在同一個問題上摔倒。打開原始目錄中的「化石服務器」。轉到目標目錄和化石克隆(或推或拉)http:// localhost:8080 <存儲庫名稱>現在看起來相當明顯,再次感謝。 – Mosh 2009-08-31 18:14:46

+0

請注意,在以前的評論中,Stackoverflow逐字地提取了http地址。有編輯權限的人可以解決這個問題嗎 – Mosh 2009-08-31 18:17:40

19

當我嘗試這樣做,克隆,因爲沒有預期的拉只是工作運行化石服務器。

從修正主

>cd ../master 

>echo "hello #2" > b.b 

>fossil add b.b 
ADDED b.b 

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

拉創建的主存儲庫

>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 ../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 2009-11-13 06:38:58

+1

+1抽空寫一個詳細的例子! :) – 2009-12-11 01:35:25

-1

如果內容相同,我使用相同的化石文件。(你不需要拉/推) 例如。

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