2012-12-09 39 views
0

我想把我的linux配置保存在化石scm系統中。如何在相關目錄上做'化石'命令?

這是我在初始階段所做的。

$ cd/
$ fossil new b.fsl 
$ fossil open b.fsl 
$ fossil add etc/group 
$ fossil add boot/grub/menu.lst 
$ fossil ci -m 'init commit' 

我想做類似的事情(像hg/git一樣操作)。

$ cd etc 
$ fossil status group 
$ fossil add motd 

它會顯示錯誤消息:

fossil: current directory is not within an open checkout 

於是,我臨時骯髒的解決方案是

$ cd/
$ fossil status etc/group 
$ fossil add etc/motd 
$ fossil add /etc/motd # this line will cause problem 

對於我的git/hg的經驗,它應該工作。

$ cd/
$ hg init 
$ hg add etc/group boot/grub/menu.lst 
$ hg ci -m 'init commit' 
$ cd etc 
$ hg status group # it works 
$ hg add motd # it works too 

回答

2

命令

$ fossil new b.fsl 

鍵入命令之前

$ cd etc 

如果你想存儲在另一個文件夾中的化石回購,改變命令

$ fossil new b.fsl 
$ fossil open b.fsl 

$ fossil new path_to_repo/b.fsl 
$ fossil open path_to_repo/b.fsl 
+0

我想繼續等子目錄名稱。 –

+0

我不明白你的評論。我不建議你改變/ etc目錄的名字! – ravenspoint

+0

我想保留/ etc/.../boot/...中的信息,在hg/git中,它會檢查祖先目錄以獲取相關目錄信息。 –

2

噹噹前目錄設置在結帳目錄樹內某處時,必須執行所有提到的命令「添加」和「狀態」以及與結帳有關的所有化石命令。

您不能將checkout目錄自己指定爲命令行選項。

似乎有化石,防止它搜索的開放結賬文件(「.fslchkout」或「FOSSIL」)到根目錄中的錯誤(或有意引入功能)。這就是爲什麼在這種情況下,當您在此結帳中執行命令時,您必須位於根目錄中。

當然,在這種情況下化石的所有執行都必須具有root權限。否則,即使在根目錄中,您也會收到「不在結帳內」的錯誤。

+0

我已經在打開的目錄下指定了添加統計。這些命令可以在根目錄下的子目錄下正常工作。 –

+0

啊,我現在明白了。它似乎是化石中的一個錯誤。當該文件位於根目錄中時,它只是無法正確搜索指示打開結帳的文件「.fslchkout」。 – johnfound

+0

我編輯了我的答案,以包含上述發現。 – johnfound

0

這種情況在User Guide中有很詳細的介紹,我全心全意推薦。

http://www.fossil-scm.org/schimpf-book/home

特別是看到fossilbook.pdf的2.0版本,在第2節,名爲「單用戶」一節開始:

我有一個名爲FOSSIL目錄中,我不斷我所有的倉庫,Fossil都不在乎,但它幫助我把它們全部放在一個地方,以便我可以備份它們。

第一個命令那裏展示瞭如何調用相關目錄:

$ fossil new ../FOSSIL/FossilBook.fossil 
+0

你能指出哪一部分有相同的情況?我曾閱讀過這本書的舊版本。 –

+0

@DanielYCLin,除非我誤解了問題,否則第2部分有示例(請參閱上面的編輯)。 – PatrickT

+0

這個問題的關鍵點是'/'。根目錄問題。 –