如何評價 Python 遷移到 GitHub?

對於新項目而言 Mercurial 是否已不再值得考慮?


看著個:PEP 0507 -- Migrate CPython to Git and GitLab

One feature that the current tooling (Mercurial, Rietveld) has is that the
primary language for all of the pieces are written in Python. This PEP
focuses more on the

best

tools for the job and not necessarily on the

best

tools that happen to be written in Python.

也就是說,之前用hg的原因之一是hg使用python寫的,git不是。而顯然這太狹隘。

而關於hg和git的對比,也有專門描述:

Whether Mercurial or Git is better on a technical level is a highly subjective
opinion. This PEP does not state whether the mechanics of Git or Mercurial
are better, and instead focuses on the network effect that is available for
either option. While this PEP proposes switching to Git, Mercurial users are
not left completely out of the loop. By using the hg-git extension for
Mercurial, working with server-side Git repositories is fairly easy and
straightforward.

另外,最後他們決定了不用gitlab,而用github。[core-workflow] We will be moving to GitHub

至少,在不遠的將來,我可以把我對python的修改:unicode編譯、android支持、uwp支持,都推回去了。


遷移到GitHub更多的是希望吸引更多的開發者參與CPython的開發(包括吸引一些核心開發者回歸),而不是一個技術選型(當然也有一定的考慮,很多committer認為GitHub對於code review更加友好)。雖然CPython作為Python的參考實現,但作為一個純粹的開源項目,其實並沒有多少活躍的核心開發者,sigh。

但就目前的現狀來說我並不喜歡這次遷移,對於committer來說並不友好,各種bot comment(遷移那天打開GitHub簡直瞎了眼,而且那天GitHub還將導航欄換成了黑色),但其實對於平常的流程來說並不是十分有用。而且這次遷移只是將代碼託管遷移到了GitHub,issue tracker還是原來的bpo,GitHub只利用PR來做code review和merge。這意味著我需要在bpo與別人討論問題,然後到GitHub提交patch和review code。:-( 慢慢改進和適應吧。


I don"t think this will be a shock to anyone who has followed the
discussion on this list. The decision is essentially based on:

1. No major distinguishing features between GitHub or GitLab
2. Familiarity amongst core devs -- and external contributors -- with
GitHub
3. Guido prefers GitHub

3. 因為獨裁者Guido 更喜歡 GitHub。

Benevolent Dictator For Life


從 maillist 里的聲明可以看出,對於已經習慣使用 hg 的用戶來說,他們的建議是:在 hg 客戶端上安裝使用 hg-git 插件來操作 git 庫,這樣就使得客戶端的體驗與之前的 hg 完全一致。

但我並不長期看好這種做法,這樣使用中間件進行轉換操作顯然是折衷的過渡策略,是一種暫時的妥協。git 協議還是在不斷更新中,hg-git 這個插件以後會怎樣也很難說。

即使 mercurial 仍然繼續積極維護,失去了本語言平台最大項目的支撐,它也沒有出頭之日了。

不管怎樣,為 mercurial 這一相比 git 來說更加簡單易用的輕量級分散式版本控制系統感到惋惜。


推薦閱讀:

請問如何刪除github遠程倉庫中的文件夾?
如何評價 GitHub 在 2016 年 9 月 15 日的改版?
在 GitHub上的 C++ 項目,應該用什麼文檔工具寫使用手冊和 API 手冊?
如何評價 GitHub 的新黑色 header?
如何通過 GitHub 學習編程?

TAG:Python | GitHub | Mercurial |