2009-08-30 26 views
10

Tôi đang thử hóa thạch làm VCS mới của mình, vì tôi là một nhà phát triển duy nhất làm việc trong các dự án nhỏ. Tôi bắt đầu thử nghiệm hóa thạch nhưng tôi gặp phải một vấn đề (có thể là người mới lớn). Làm thế nào để đẩy hoặc kéo đến một thư mục khác (dễ dàng trên Hg). Lệnh kéo hoặc đẩy hóa thạch mong đợi một URL chứ không phải một thư mục. Khi tôi bắt đầu một máy chủ trong một thư mục và cố gắng đẩy từ một thư mục khác, tôi nhận được thông báo lỗi "vòng lặp máy chủ". Ý tưởng nào?Làm cách nào để sử dụng hóa thạch (DVCS) trong môi trường gia đình?

+0

Tôi quên nói rằng tôi đã phá hỏng vấn đề URL trên lệnh "sao chép" bằng cách sao chép tệp kho. – Mosh

Trả lời

7

Theo this fossil ticket, nhân bản, đẩy và kéo yêu cầu máy chủ hóa thạch đang chạy. Bạn không thể chỉ sử dụng repo, bạn sẽ phải bắt đầu một máy chủ, sau đó tham khảo http://localhost/whatever và bạn sẽ được vàng.

  1. Run fossil server trong kho gốc
  2. Chuyển đến thư mục đích và chạy fossil clone http://localhost: 8080 <repository name> (hoặc đẩy hoặc kéo)
+0

Cảm ơn bạn đã trả lời. Tôi đã thử nó và tôi vẫn nhận được trả lời sau đây: "2fossil: server nói: server loop". Bất kỳ ý tưởng nào? – Mosh

+0

Hoan hô! Nó hoạt động. Chỉ trong trường hợp người khác tình cờ gặp vấn đề tương tự. Mở "máy chủ hóa thạch" trong thư mục gốc. Đi đến thư mục đích và bản sao hóa thạch (hoặc đẩy hoặc kéo) http: // localhost: 8080 Có vẻ khá rõ ràng bây giờ, cảm ơn một lần nữa. – Mosh

+0

Lưu ý rằng trong nhận xét trước, Stackoverflow lấy địa chỉ http theo nghĩa đen. Ai đó có quyền chỉnh sửa sửa lỗi này? – Mosh

19

Khi tôi cố gắng này, tạo bản sao và kéo chỉ làm việc như mong đợi KHÔNG chạy một máy chủ hóa thạch.

Tạo một kho lưu trữ tổng thể

>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 kho chủ

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

Sửa đổi các bậc thầy

>cd ../master 

>echo "hello #2" > b.b 

>fossil add b.b 
ADDED b.b 

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

Kéo từ các bậc thầy sửa đổi

>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

Tôi sẽ thử phương pháp này. Cảm ơn. Bạn đã ở đâu hai tháng trước? ;) – Mosh

+1

+1 để dành thời gian viết một ví dụ chi tiết! :) –

-1

Nếu nội dung giống nhau, tôi sử dụng cùng một tệp hóa thạch. (Bạn không cần kéo/đẩy) ví dụ:

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

Trong một số trường hợp (prj1 đầy, prj2 là tập con của prj1), tôi sử dụng phương pháp an toàn hơn 'hóa thạch'. ví dụ:

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 
Các vấn đề liên quan