Changelog?

3.1.15(未發布)?

  • 添加Python 3.5的棄用警告

3.1.14?

  • Git.Commit對象現在有一個 replace 方法,該方法將返回具有已修改屬性的提交副本。

  • 添加Python 3.9支持

  • 刪除python 3.4支持

3.1.13?

有關詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/45?closed=1

3.1.12?

有關詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/44?closed=1

3.1.11?

修復了3.1.10的回歸。

有關詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/43?closed=1

3.1.10?

有關詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/42?closed=1

3.1.9?

有關詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/41?closed=1

3.1.8?

  • 在git配置文件中支持“includeIf”

  • 測試現在被排除在軟件包之外,使它變得更小

有關更多詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/40?closed=1

3.1.7?

  • 修復教程示例,這些示例在3.1.6中由于缺少路徑更改而消失。

3.1.6?

  • 大大減小了包裝尺寸,參見https://github.com/gitpython-developers/gitpython/pull/1031

3.1.5?

  • 回滾:包大小顯著減小,不再將測試放入包中??吹搅藛醜ttps://github.com/gitpython-developers/gitpython/issues/1030

3.1.4?

  • 所有的例外現在都在追蹤他們的原因

  • 包的大小明顯減小,不再將測試放入包中。

有關詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/39?closed=1

3.1.3?

有關詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/38?closed=1

3.1.2?

  • 重新發布3.1.1,帶有已知簽名

具體內容如下:https://github.com/gitpython-developers/gitpython/milestone/37?關閉=1

3.1.1?

  • 對PyOxidazer的支持,以前由于使用 __file__ .

具體內容如下:https://github.com/gitpython-developers/gitpython/milestone/36?關閉=1

3.1.0?

  • 根據需要切換回使用gitdb包 (gitdb#59

3.0.9?

  • 將GitDB(gitdb2)版本要求限制為<4

  • 從測試要求中刪除舊的鼻子庫

錯誤修正?

  • 更改為在獲取有關符號引用的信息時使用UTF-8而不是默認編碼 (#774

  • 修復了標記對象消息的解碼,以替換無效字節 (#943

3.0.8?

  • 增加了對Python3.8的支持

  • 將GitDB(gitdb2)版本要求提高到>3

錯誤修正?

  • 固定的 Repo.__repr__ 當子類化時 (#968

  • 刪除了Python<3.4和舊的模擬庫的兼容性墊片

  • 替換了不推薦使用的unittest別名和記錄器.warn

  • 刪除了舊的、不再使用的assert方法

  • 用unittest替換nose assert方法的用法

3.0.7?

已正確簽名的v3.0.6的重新發行版,帶有新的簽名(請參見 #980

3.0.6?

注意:有一個問題導致此版本在沒有簽名的情況下發布到PyPI
請參閱v3.0.7和 #980

錯誤修正?

  • Fixed warning for usage of environment variables for paths containing $ or % (#832, #961)

  • 添加了對解析Git內部日期格式(@<unix timestamp><timezone offset>的支持) (#965

  • 刪除了Python 2和<3.3兼容墊片 (#979

  • 修復了中的GitDB(gitdb2)需求版本說明符格式要求.txt (#979

3.0.5-錯誤修復?

具體內容如下:https://github.com/gitpython-developers/gitpython/milestone/32?關閉=1

3.0.4-錯誤修復?

具體內容如下:https://github.com/gitpython-developers/gitpython/milestone/31?關閉=1

3.0.3-錯誤修復?

有關(大多數)詳細信息,請參見以下內容:https://github.com/gitpython-developers/gitpython/milestone/30?關閉=1

3.0.2-錯誤修復?

  • 修復了安裝問題

3.0.1-錯誤修復和性能改進?

  • 修復一 performance regression 這會使某些工作負載降低50%

  • 添加 currently_rebasing_on method on Repo, see the PR

  • 修復不正確 requirements.txt which could lead to broken installations, see this issue 有關詳細信息。

3.0.0-刪除對Python2的支持?

這樣做的動機是在處理文件系統路徑時改進unicode處理。Python2兼容性的引入是為了處理差異,我認為現在“停止”支持是個好主意,離Python2.7的正式維護僅5個月。

潛在的動機顯然是我在思考python和unicode時的憤怒,這從一開始就很麻煩,至少在GitPython這樣的老代碼庫中,在很多情況下完全不能正確處理編碼。

已經遷移到使用 Rust 對于工具,我仍然看到正確處理編碼并不是一件小事,但至少是這樣 Rust 明確了在編譯時必須做什么,允許編寫一個在編譯后幾乎可以正常工作的軟件。

同樣,如果刪除Python2支持給您帶來不便,我深表歉意,請參閱2.1.13版,它將返回它。

有關(大多數)詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/27?關閉=1

或者運行看看標簽v2.1.12和v3.0.0之間的區別:https://github.com/gitpython-developers/gitpython/compare/2.1.12…3.0.0。

2.1.15?

  • 修復了中的GitDB(gitdb2)需求版本說明符格式要求.txt(后端口 #979

  • 將GitDB(gitdb2)版本要求限制為<3 (#897

2.1.14?

  • 修復了將kwargs轉換為Git命令參數時對0的處理(后端口從 #899

2.1.13-恢復python 2.7支持?

對于由此造成的任何不便,我深表歉意。在semver之后,將在次要版本中引入向后不兼容的更改。

2.1.12-錯誤修復和功能?

  • Git配置的多值支持和接口改進。感謝A.Jesse Jiryu Davis。

或者運行查看標簽v2.1.11和v2.1.12之間的區別:https://github.com/gitpython developers/gitpython/compare/2.1.11…2.1.12

2.1.11-錯誤修復?

有關(大多數)詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/26?關閉=1

或者運行查看標簽v2.1.10和v2.1.11之間的區別:https://github.com/gitpython developers/gitpython/compare/2.1.10…2.1.11

2.1.10-錯誤修復?

有關(大多數)詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/25?關閉=1

或者運行查看標簽v2.1.9和v2.1.10之間的區別:https://github.com/gitpython developers/gitpython/compare/2.1.9…2.1.10

2.1.9-放棄對python 2.6的支持?

有關(大多數)詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/24?關閉=1

或者運行查看標簽v2.1.8和v2.1.9之間的區別:https://github.com/gitpython developers/gitpython/compare/2.1.8…2.1.9

2.1.8-錯誤修復?

有關(大多數)詳細信息,請參閱以下內容:https://github.com/gitpython-developers/gitpython/milestone/23?關閉=1

或者運行查看標簽v2.1.7和v2.1.8之間的區別:https://github.com/gitpython developers/gitpython/compare/2.1.7…2.1.8

2.1.6-錯誤修復?

  • 支持工作樹

2.1.3-錯誤修復?

遵循以下網址時,可以查看所有問題和PRS:https://github.com/gitpython-developers/gitpython/milestone/21?關閉=1

2.1.1-錯誤修復?

遵循以下網址時,可以查看所有問題和PRS:https://github.com/gitpython-developers/gitpython/issues?Q=是%3aClosed+里程碑%3a%22v2.1.1+-+錯誤修復%22

2.1.0-更好的Windows支持!?

特別感謝@Ankostis,他讓這個發布成為可能(幾乎)單手。gitpython是由用戶運行的,他們的pr可以發揮所有的作用,它們保持了gitpython的相關性。非常感謝大家的貢獻!

值得注意的修復?

  • 這個 GIT_DIR 環境變量不重寫 path 初始化時的參數 Repo 對象。但是,如果說 path 未定型的 GIT_DIR 將用于填充空隙。

遵循以下網址時,可以查看所有問題和PRS:https://github.com/gitpython-developers/gitpython/issues?Q=是%3aClosed+里程碑%3a%22v2.1.0+-+正確+Windows+支持%22

2.0.9-錯誤修復?

  • tag.commit 現在將堅定承諾。

  • Repo 現在可以對對象進行酸洗,這有助于進行多處理。

  • Head.checkout() 現在處理分離的頭,它將在何時返回 HEAD 而是引用。

  • DiffIndex.iter_change_type(...) 區分時產生更好的結果

2.0.8-功能和錯誤修復?

  • DiffIndex.iter_change_type(...) 將索引與工作樹進行比較時,會產生更好的結果。

  • Repo().is_dirty(...) now supports the path parameter, to specify a single path by which to filter the output. Similar to git status <path>

  • 此庫創建的符號引用現在將用換行符寫入,換行符以前已丟失。

  • blame() 現在正確地保留多行提交消息。

  • 不再通過向引用日志中寫入多行注釋來損壞它們。

2.0.7-新功能?

  • IndexFile.commit(...,skip_hooks=False) 補充。此參數模擬

    行為 --no-verify 在命令行上。

2.0.6-修復和功能?

  • 修正:遠程輸出解析器現在正確地匹配refs和其中的非ascii字符

  • API:diff現在已經 a_rawpath , b_rawpath , raw_rename_from , raw_rename_to 屬性,它是其unicode路徑對應項的原始字節等價物。

  • 修正:關于將關鍵字參數傳遞給python 2.6上的string decode()的類型錯誤。

  • 特點: setUrl API on Remotes

2.0.5-修復?

  • 修復:獲取信息行的解析器被一些合法行阻塞

2.0.4-修復?

  • 修正:對于提交對象包含無效字節的情況,提交對象數據的解析器現在是健壯的。無效字符現在被替換,而不是被阻塞。

  • 修正:非ASCII路徑現在正確解碼并返回 .diff() 輸出

  • 修復: RemoteProgress 現在將從消息中刪除“、”前綴或后綴。

  • API:遠程。 [取推拉] (…)方法現在允許 progress 參數是可調用的。這就避免了通常只使用一個實現的方法來創建自定義類型。

2.0.3-修復?

  • 修復:插入 git-blame --incremental 當包含提交消息時中斷的輸出分析器 \r 字符

  • 修正:進度處理程序異常不再被捕獲,這通常只是隱藏以前的錯誤。

  • 修復:The Git.execute 方法現在將重定向 stdoutdevnull 如果 with_stdout 為假,這是基于參數文檔的預期行為。

2.0.2-修復?

  • 修復:源包不包括 * .pyc文件

  • 修復:源包不包括文檔源

2.0.1-修復?

  • 修復:遠程輸出解析器現在正確地將refs與其中的“@”匹配。

2.0.0-功能?

請注意,由于中斷更改,我們必須增加主版本。

  • IMPORTANT :此版本放棄了對python 2.6的支持,python2.6被python維護人員正式否決。

  • CRITICALDiff 使用補丁輸出創建的對象現在將不再帶有---和+++標題行。所有差異現在直接從@@標題行開始。依賴于舊行為的用戶現在可以(可靠地)從a ou path和b ou path屬性中讀取這些信息,而無需手動解析這些行。

  • Commit 現在有了額外的屬性 authored_datetimecommitter_datetime (獲取python datetime實例而不是時間戳)

  • Commit.diff() 現在支持通過 Commit.diff(NULL_TREE) .

  • Repo.blame() 現在尊重 incremental=True 支持不斷增加的指責。增量指責速度稍快,因為它們不包括文件的內容。

  • 修復: Diff 使用補丁輸出創建的對象現在將具有 a_pathb_path 正確分析了屬性。以前,添加或刪除文件時,某些值可能填充不正確。

  • 修復:對包含“不安全”字符的路徑(如空格、制表符、反斜杠等)進行diff解析時出現的問題。

1.0.2-修復?

  • 重要提示:更改了的默認對象數據庫 Repo 對象到 GitCmdObjectDB . 以前使用的純Python實現通常無法釋放其資源(即文件句柄),這可能導致在處理大型存儲庫時出現問題。

  • 關鍵:修復錯誤 Commit 編寫或提交日期時的對象序列化具有不能被3600秒除盡的時區。如果時區是 +0530 例如。

  • 可以找到所有其他修復程序的列表 on GitHub

  • 關鍵: Tree.cache 沒有替換就被移除。從技術上講,不可能改變單個樹,并期望它們的序列化結果與 git 預期。相反,使用 IndexFile 用于調整臨時區域內容的工具,并使用 IndexFile.write_tree() 相反。

1.0.1-修復?

  • 可以找到所有問題的列表 on GitHub

1.0.0-注釋?

這個版本相當于v0.3.7,但最終承認Gitpython是穩定的,并且可以生產。

它遵循 semantic version scheme 從而不會破壞現有的API,除非它變為2.0。

0.3.7-修復?

  • IndexFile.add() 默認情況下,將在不使用任何擴展數據的情況下寫入索引。但是,您可以用新的 write_extension_data 關鍵字參數。

    • 更名 ignore_tree_extension_data 中的關鍵字參數 IndexFile.write(...)ignore_extension_data

  • 如果在 Remote.push(...)|fetch(...) returns with an non-zero exit code and GitPython didn't obtain any head-information, the corresponding GitCommandError will be raised. This may break previous code which expected these operations to never raise. However, that behavious is undesirable as it would effectively hide the fact that there was an error. See this issue 更多信息。

  • 如果在以下路徑或提供的路徑中找不到git可執行文件: GIT_PYTHON_GIT_EXECUTABLE ,這是明顯的投擲 GitCommandNotFound 在Unix和Windows上。

    • 支持的人 Windows上的GUI 現在必須設置 git.Git.USE_SHELL = True 去了解以前的行為。

  • 可以找到所有問題的列表 on GitHub

0.3.6-功能?

  • DOCS

    • 特別成員喜歡 __init__ 現在在API文檔中列出

    • 教程部分進行了全面修訂,增加了更高級的示例。

  • 可能破壞更改

    • AS rev_parse 現在就扔 BadName 以及 BadObject ,客戶端代碼將必須捕獲這兩種異常類型。

    • repo.working_tree_dir現在如果是空的,則返回none。之前它引發了斷言者錯誤。

    • indexfile.add()以前在與裸存儲庫一起使用的路徑時引發了assertionerror,現在它引發了invalidgitrepositoryerror

  • 補充 Repo.merge_base() implementation. See the respective issue on GitHub

  • [include] 現在遵守git配置文件中的部分

  • 補充 GitConfigParser.rename_section()

  • 補充 Submodule.rename()

  • 可以找到所有問題的列表 on GitHub

0.3.5-錯誤修復?

  • 推/拉/提取操作將不再阻塞

  • diff()現在可以正確地檢測補丁和原始格式的重命名。以前,它只在create_patch為真時起作用。

  • repo.odb.update_cache()現在在fetch和pull操作之后自動調用。如果您在自己的代碼中這樣做,那么您可能需要刪除您的行,以防止出現導致不必要IO的雙重更新。

  • Repo(path) 將不再自動搜索上游,并找到任何git目錄的方式。如果你需要這種行為,你可以使用新的 search_parent_directories=True 構造時標記 Repo 對象。

  • indexfile.commit()現在運行 pre-commitpost-commit 鉤子。已驗證僅在POSIX系統上工作。

  • 所有已修復問題的列表可以在這里找到:https://github.com/gitpython-developers/gitpython/issues?Q=里程碑%3a%22v0.3.5+-+錯誤修復%22+

0.3.4-python 3支持?

  • 在內部,十六進制的sha1被視為ASCII編碼的字符串。二進制sha1被視為字節。

  • 提交對象的id屬性現在是 hexsha ,而不是 binsha . 在python 3中,后者沒有任何意義,我也沒有看到它的任何應用,除了它在測試用例中的人為使用之外。

  • IMPORTANT :如果您使用的是config_writer(),則會隱式依賴 __del__ 按預期工作以刷新更改。為了確保在py3下刷新更改,您必須調用 release() 方法觸發刷新。出于某種原因, __del__ 當符號超出范圍時不必再調用。

  • 這個 Tree 現在有一個 .join('name') 相當于 tree / 'name'

0.3.3?

  • 當獲取、拉或推,并且發生錯誤時,將不再在stdout上報告。但是,如果存在致命錯誤,仍然會導致引發gitcommandError。這與改進的獲取結果解析密切相關。

  • 代碼清理(為Python3支持做準備)

    • 應用autopep8并清除代碼

    • 使用python日志模塊而不是print語句來表示某些類型的錯誤

0.3.2.1?

0.3.2?

0.3.2剩余電流1?

  • git 命令包裝器

  • 補充 version_info 屬性,返回表示安裝的Git版本的整數元組。

  • 添加了git_python_git_可執行環境變量,該變量可用于設置要使用的所需git可執行文件。不管在路上會發現什么。

  • Blob 類型

  • 添加了模式常量以便于手動創建blob

  • IterableList

  • 補充 __contains__ 和 __delitem__ 方法

  • 更多更改

  • 配置文件解析更加健壯。它現在應該能夠處理git命令可以解析的所有內容。

  • 已更新進程分析以支持Git 1.7.0.3和更高版本。以前沒有為git命令啟用進度,或者僅在使用較舊的git版本時使用ssh。

  • 改進了標簽的解析。以前無法正確分析名稱的某些部分。

  • rev-parse-pure-python實現現在可以正確地處理看起來像十六進制sha的分支。

  • Git_python_trace現在設置在Git類型的類級別上,以前它是模塊級全局變量。

  • git_python_git_可執行文件也是一個類級變量。

0.3.1β2?

  • 補充 回流支撐 (讀寫)

  • 新類型: RefLogRefLogEntry

  • 創建和刪除引用時自動維護reflog

  • 非侵入性變更 SymbolicReference ,這些不需要更改代碼。它們允許將消息附加到reflog。

    • abspath 添加的屬性,類似于 abspath 對象實例數

    • log() 添加的方法

    • log_append(...) 添加的方法

    • set_reference(...) 添加方法(reflog支持)

    • set_commit(...) 添加方法(reflog支持)

    • set_object(...) 添加方法(reflog支持)

  • 侵入性變化Head 類型

  • create(...) 方法現在支持reflog,但不會引發 GitCommandError 因為它現在是純Python實現了。相反,它提高了 OSError .

  • 侵入性變化Repo 類型

  • create_head(...) 方法不再支持Kwargs,而是支持logmsg參數

  • repo.rev_parse現在支持 [ref] @n語法,其中 n 是要查看引用的過去的步驟數

  • BugFixes

    • 移除了不正確的orig頭處理

  • 扁平目錄 結構使開發更方便。

  • 注解

    這改變了使用git python作為子模塊的項目必須調整sys.path才能成功導入git python的方式。

  • 其他較小的更改和錯誤修復

0.3.1β1?

  • 全子模塊支持

  • 添加了對作者名稱的Unicode支持。commit.author.name現在是Unicode而不是字符串。

  • 頭部類型改變

  • 添加了用于訪問頭部特定選項的config_reader()&config_writer()方法。

  • 添加了tracking_branch()和set_tracking_branch()方法,以便輕松配置跟蹤分支。

0.3.0測試版2?

  • 增加了對python 2.4的支持

0.3.0測試版1?

重命名的模塊?

  • 為了與gitdb等子模塊中使用的命名約定保持一致,已重命名以下模塊

    • git.utils->git.util

    • git.errors->git.exc

    • git.objects.utils->git.objects.util

一般?

  • 對象實例及其派生的所有內容現在都在內部使用二進制sha。為了支持“binsha”成員,刪除了“sha”成員?!癶exsha”屬性可用于方便的轉換。它們只能使用二進制shas進行初始化,不再允許使用引用名稱或修訂規范。

  • indexfile.entries中包含的indexentry實例現在使用二進制sha。請使用.hexsha屬性獲取十六進制版本。.sha屬性已被刪除,以便更明確地使用各自的sha。

  • 如果對象是顯式實例化的,則需要使用二進制sha來標識該對象,以前可以在其中使用任何rev spec。與參考規范兼容的版本仍然分別以object.new或repo.commit_repo.tree的形式存在。

  • .data屬性已從對象類型中刪除,若要獲取純數據,請改用data_stream屬性。

  • 同時兩次手術被移除,并被鎖定的fd替代。

  • indexfile.get_entries_key已重命名為entry_key

  • indexfile.write_tree:刪除了丟失的_ok關鍵字,現在始終為真。它不會引發gitcommandError,而是引發UnmergedentriesError。這是必需的,因為純Python實現還不支持缺少的_OK關鍵字。

  • diff.diff.null_hex_sha重命名為null_hex_sha,以符合對象基類中的命名

0.2β2?

  • 提交對象現在攜帶其消息的“編碼”信息。以前沒有解析過,默認為utf-8

  • commit.create_from_tree現在使用純python實現,模仿git commit tree

0.2?

一般?

  • 樹、blob和diff對象中的文件模式現在是與stat模塊中的定義兼容的int,允許您查詢是否設置了單個用戶、組和其他讀、寫和執行位。

  • 調整了類層次結構,通常允許對象和引用的比較和哈希

  • 改進的標記對象,它現在是一個引用,可以包含帶有附加信息的標記對象

  • id_abbrev方法已被刪除,因為它無法確保返回的short sha的唯一位置

  • 從具有路徑的對象中刪除basename方法,因為它復制了os.path的功能

  • From_String和List_From_String方法現在是私有的,分別重命名為u String和u List_From_String。作為私有API的一部分,它們可以在不事先通知的情況下進行更改。

  • 重命名所有查找所有列出項目的方法-此方法是ITerable接口的一部分,它還提供更有效和更響應的ITER項目方法

  • 所有日期,如作者日期和提交者日期,都存儲為從epoch開始的秒數,以節省內存-如果需要,可以使用time.gmtime以更合適的表示格式轉換它們。

  • 命名的方法參數在很大程度上進行了更改,以統一它們的使用?,F在到處都使用特定于git的術語,例如“引用”(reference)和“修訂”(rev)。以前使用過多個術語,因此很難知道允許或不允許使用哪種類型。

  • 統一的diff接口,方便樹、樹和索引、樹和工作樹、索引和工作樹、樹和索引之間的差異。這與Git Diff功能密切相關。

  • git.execute不再使用WITH_RAW_輸出選項。它沒有被項目中的任何人使用,默認情況下是假的。

項目迭代?

  • 以前,人們只返回和處理多個項目作為列表,這會損害性能和內存消耗,并縮短響應時間。iter-items方法提供一個迭代器,該迭代器將按需返回從流中解析的項。這樣就可以處理任意數量的對象。

  • list-items方法返回ITerableList,允許按名稱訪問列表成員

對象包?

  • blob、tree、tag和commit模塊已移動到新的objects包中。但是,除非顯式導入單個對象,否則這不會影響您。如果您剛剛使用了git包,名稱不會改變。

團塊?

  • 以前的“name”成員重命名為path,因為它更適合實際數據

GitCommand?

  • 子命令調用方案現在從參數列表中刪除了none,這樣可以更方便地調用,因為如果轉換為字符串,則none對git命令永遠都無效。

  • 已將“git_dir”屬性重命名為“working_dir”,這正是它的用法

提交?

  • “count”方法不是一個實例方法以提高其易用性

  • “name-rev”屬性返回提交的sha的好名稱

配置?

  • 現在可以使用gitconfigparser從python中直接讀取和操作git配置。

  • repo.config_reader()返回只讀分析器

  • repo.config_writer()返回讀寫分析程序

微分?

  • 成員a_commit和b_commit重命名為a_blob和b_blob-如果可能,將使用blob對象填充它們

  • 成員a_path和b_path已刪除,因為此信息保留在blob中

  • diff現在作為diffindex返回,這樣可以更快地找到您感興趣的diff類型。

差異化?

  • 提交和樹對象現在支持使用公共接口進行本地差異化,以便與其他提交或樹、工作樹或索引進行比較。

索引?

  • 新的index類允許直接讀寫索引文件,并基于任意索引執行簡單的雙向和三向合并。

工具書類?

  • 引用是指向提交的對象

  • 符號引用是指向引用對象的指針,引用對象本身指向特定的提交

  • 它們將在查詢時動態檢索對象,以確保信息是真實的。最近對象將被緩存,因此不能安全地保持引用對象的持久性。

回購協議?

  • 將責備方法從blob移到repo,因為它似乎更屬于那里。

  • active_branch方法現在返回一個head對象,而不是一個帶有活動分支名稱的字符串。

  • 樹方法現在需要一個引用實例作為輸入,并默認為活動分支而不是主分支

  • Is-Dirty現在接受額外的參數,允許對被認為是臟的內容進行細粒度控制

  • 刪除了以下方法:

    • “log”方法與“commits”方法一樣有效

    • “commits-since”,因為它只是commit.iter_項中rev列表的標志。

    • “commit_count”,因為它只是重定向到相應的commit方法

    • “commits-between”,替換為iter-commits方法上的注釋,因為它可以實現相同的事情。

    • “commit-delta-from”是一個非常特殊的情況,通過比較兩個不同的相互關聯的存儲庫(即克隆庫),Git Rev List將足以找到需要傳輸的提交,例如。

    • “create”方法等于“init”方法的功能

    • “diff”-它只返回了一個字符串,但仍然需要對其進行分析

    • “commit diff”-分別移動到commit、tree和diff類型

  • 已重命名以下方法:

    • 向ITER承諾改善性能,調整簽名

    • init_bare to init,表示要使用的選項較少

    • fork-bare-to-clone,因為它是用來表示一般的克隆功能,但它暗示了一個裸機克隆要更加通用。

    • 存檔u tar_gz和存檔u tar并用不同簽名的存檔方法替換

  • “commits”方法不再具有返回commits的最大計數,它現在的行為類似于git rev list

  • 添加了以下方法和屬性

    • “未跟蹤的文件”屬性,返回所有當前未跟蹤的文件

    • “head”,創建head對象

    • “tag”創建標記對象

    • “Iter-Trees”方法

    • “配置讀卡器”方法

    • “config-writer”方法

    • “bare”屬性,以前它是可以寫入的簡單屬性

  • 已重命名以下屬性

    • “path”現在是“git_dir”

    • “wd”現在是“working-dir”

  • 添加的屬性

    • “Working_Tree_dir”(工作目錄樹目錄),如果是空存儲庫,則可能是空的。

遠程的?

  • 添加了遠程對象,方便訪問遠程設備

  • repo.remotes列出所有遠程

  • repo.remote返回指定名稱的遠程文件(如果存在)

測試框架?

  • 添加了對公共測試用例基類的支持,該類提供了接收存儲庫測試也可以寫入的附加功能。這樣,更多的方面可以在現實世界(非模擬)條件下進行測試。

?

  • 以前的“name”成員重命名為path,因為它更適合實際數據

  • 添加了允許遞歸遍歷樹項的遍歷方法

  • 已刪除Blob方法

  • 添加了blob和trees屬性,允許查詢樹中的各個項

  • 現在模仿只讀列表的行為而不是聽寫來維持順序。

  • 來自字符串方法的內容現在是私有的,不再是公共API的一部分。

0.1.6?

一般?

  • 添加在Sphinx文檔中。

  • 消除了路徑和樹之間的歧義。當調用接受treeish和path參數的命令,并且有一個路徑與treeish git同名時,cowardly拒絕選擇一個路徑,并要求命令使用明確的語法,其中“--”將treeish與路徑分開。

  • Repo.commits , Repo.commits_between , Repo.commits_since , Repo.commit_count , Repo.commit , Commit.countCommit.find_all 現在全部都可以選擇使用一個路徑參數來約束按路徑查找。這將更改位置參數的順序 Repo.commitsRepo.commits_since .

提交?

  • Commit.message 現在包含完整的提交消息(而不僅僅是第一行)和一個新屬性 Commit.summary 包含提交消息的第一行。

  • 修復了在嘗試從裸回購中查找無父提交的狀態時失敗的問題。

微分?

  • diff解析器現在速度快得多,還解決了一個有時沒有設置b_模式的錯誤。

  • 添加了對將重命名信息解析到diff分析器的支持。添加新屬性 Diff.renamed , Diff.rename_fromDiff.rename_to .

回購協議?

  • 修改了gzip存檔創建以使用python gzip模塊。

  • 修正的 commits_between 總是返回“無”而不是“反向列表”。

0.1.5?

一般?

  • 升級到mock 0.4依賴項。

  • 在repr()輸出中將gitpython替換為git。

  • 修復了由ez_setup.py引起的包裝問題。

團塊?

  • 不再從blob數據中刪除換行符。

提交?

  • 更正了Git Rev列表的問題——將所有內容平分。請參見http://groups.google.com/group/git-python/browse-thread/thread/aed1d5c4b31d5027

回購協議?

  • 更正了創建裸存儲庫的問題。

  • repo.tree不再接受路徑參數。用途:

    >>> dict(k, o for k, o in tree.items() if k in paths)
    
  • 使守護進程導出repo的屬性?,F在您可以這樣做:

    >>> exported = repo.daemon_export
    >>> repo.daemon_export = True
    
  • 允許修改項目說明。執行此操作:

    >>> repo.description = "Foo Bar"
    >>> repo.description
    'Foo Bar'
    
  • 添加了只讀屬性repo.is_dirty,該屬性反映工作目錄的狀態。

  • 添加了只讀repo.active_branch屬性,該屬性返回當前活動分支的名稱。

?

  • 切換到對樹內容使用字典,因為您通常希望按名稱和順序訪問它們并不重要。

  • 實現了樹對象的字典協議。以下內容:

    child=tree.contents [砂礫]

    變成:

    child=樹 [砂礫]

  • 使tree.content從字符串中成為靜態方法。

0.1.4.1?

  • 遠離的 method_missing 填充并替換為 __getattr__ 覆蓋 Git .

0.1.4?

  • 更名 git_pythongit . 確保在測試前刪除所有PYC文件。

提交?

  • 修復了提交狀態在所有條件下都不工作的問題。

吉特?

  • 已將模塊重命名為命令。

  • 完全卸下外殼。

  • 為添加了支持 stderr , stdinwith_status .

  • git_dir 現在在構造函數中是可選的 git.Git . Git現在回到 os.getcwd() 未指定git_dir時。

  • 添加一個 with_exceptions git命令的關鍵字參數。 GitCommandError 當退出狀態為非零時引發。

  • 添加對 GIT_PYTHON_TRACE 環境變量。 GIT_PYTHON_TRACE 允許我們通過使用環境變量調試gitpython對git的使用。

?

  • 解決了以下問題: name 不存在于樹根上。

回購協議?

  • 修正了創建裸回購的問題。補充 Repo.create 別名。

0.1.2?

?

  • 修正了問題 Tree.__div__ 不使用零長度文件。遠離的 __len__ 替代并替換為大小。還正確設置了大小緩存。這是一個突破性的變化。

0.1.1?

修正了一些網址,因為我是個白癡

0.1.0?

首批發放