簡體   English   中英

如何使用libgit2初始化git存儲庫

[英]How to initialise a git repository with libgit2

在Windows XP,32位機器上,我使用了克隆了libgit2存儲庫

git clone git://github.com/libgit2/libgit2.git trunk

然后我使用以下命令從trunk_build_debug配置mingw:

cmake ../trunk -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-g 

用它構建它

make

有了這個新構建的庫,我正在嘗試創建一個新的存儲庫。 所以我正在使用

    error_code = git_repository_init( &repo, path, 0 );
    if ( error_code != 0 )
    {
        const git_error * error = giterr_last();
       /* the text representation:
        ( error == NULL || error->message == NULL ? 
        "(no description)" : 
        error->message )
        */
    }

首次嘗試時失敗並顯示錯誤消息:

Git錯誤-1:全局文件'.config / git / config'不存在:系統找不到指定的文件。

創建了.git目錄,我可以使用git status來查詢它。 另外,我在Program Files / git中安裝了git,它運行得很好。 用戶目錄中不存在提到的文件,即為true。 我不高興,因為我無法檢查返回的錯誤代碼(錯誤可能是“真實的”)。

所以我在D:\\ Documents and Settings \\ User Name.config \\ git \\ config中創建了一個空文件。再次創建.git目錄,但我得到相同的-1錯誤代碼。 這次giterr_last()返回NULL。

在調試器中跟蹤代碼似乎表明庫對我的空文件不滿意。

但是,我認為這表明我做錯了。 有初始化方法嗎? 我是否需要創建文件並使用git_config_函數將庫指向它?

順便說一句,這是錯誤的地方嗎? 是否有專門的論壇,我應該問這個問題?

謝謝


這是調用失敗的后向跟蹤: pastebin似乎無法解析.git目錄中的配置文件(未在跟蹤中顯示的是失敗的'config_parse()')。


我在libgit2中打開了一個問題

要創建新的存儲庫,應該依賴於git_repository_init() 有關更多信息,您可以查看標題測試

當存儲庫已經存在時,應該使用git_repository_open()

是否有專門的論壇,我應該問這個問題?

可以在StackOverflow上詢問與編程相關的問題。 除此之外,一些libgit2開發人員在irc.freenode.net的#libgit2頻道中閑逛。 但是,當您遇到錯誤時,建議將它們提交給問題跟蹤器

更新

  • 過去在Windows上檢測配置文件的方式存在一些問題。 以及一些嘗試修復它們。 有關此問題的一些背景,請參閱此問題
  • 除了探測的復雜性之外,一些用戶可能希望明確地為其文件提供備用位置。 這個拉動請求就是這個角度。

考慮到在調試libgit2時發現了什么,現在可能是在問題跟蹤器中打開錯誤的好時機。 請注意可能有兩個問題:探測問題和空配置問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM