我正在開發自己的開源項目。我最近發佈了第一個可行的版本,但我懷疑有人正在使用它。我是唯一一個在這方面工作的人。我正在使用mercurial,我的問題是我正在計劃一個非常大的重新設計。沒有多少寶石會一直保持不變。如何在源代碼控制方面解決這個問題?從目前的頭上繼續還是創建一個分支?源代碼管理和重新設計
我多久提交一次?有些類可能會消失(分爲2或功能移到其他地方,界面發生變化)。
我正在開發自己的開源項目。我最近發佈了第一個可行的版本,但我懷疑有人正在使用它。我是唯一一個在這方面工作的人。我正在使用mercurial,我的問題是我正在計劃一個非常大的重新設計。沒有多少寶石會一直保持不變。如何在源代碼控制方面解決這個問題?從目前的頭上繼續還是創建一個分支?源代碼管理和重新設計
我多久提交一次?有些類可能會消失(分爲2或功能移到其他地方,界面發生變化)。
我處的新版本,如果有代碼(包括你自己)誰應該留在那一陣子的任何現有用戶。當新版本與舊版本相同或更好時(無論採取何種措施),將它合併回來。
另一個考慮是「如果一個新用戶來看看,我希望他們使用舊版本,我放棄或嘗試我所做的版本,將在更多的流量」。如果他們應該繼續使用舊版本,那麼再爲新版本分支。
更可能的是你的選擇是
之間注:我不知道mercurial
(我使用git
或svn
...)
首先,因爲你是唯一一個在你的項目提交代碼,它不管那麼多了。如果其他人貢獻了代碼,這一點很重要。
我會創建一個分支(至少在git
之下),我還會在重新設計之前標記代碼的狀態。
你打算維護舊版本(有bug修復)嗎?我想那不是。如果你這樣做,你可能必須得到兩個分支,一個用於版本1,另一個用於重新設計的版本2.
也許你想使老版本的分支,並繼續與主分支新的一個。
關於提交的頻率,我總是建議你經常這樣做(例如,至少在你每天工作的時間,可能還有你引入的每個主要特性或bug修復)。但是每個提交都應該(原則上)保持可編譯,並且應該以某種方式工作(無論對你來說意味着什麼)。
如果你明確提到了你的開源項目,這將是有趣的。
問候
是的,我不打算做錯誤修復,因爲我不認爲有人使用它(沒有做過任何「營銷」,它是一個「利基產品」)。請參閱https://bitbucket.org/kienerj/chemdb/overview。如果你有興趣,我建議看看wiki。 –
如果我想回到當前的版本,在哪個選項會更簡單?我認爲這並不重要?我是mercurial的新手,這是我第一個真正的項目(不只是個人使用的腳本)。所以稍後我可能會更喜歡我以前的設計。 –
我使用git而不是mercurial,但我猜這會起到同樣的作用:如果您不確定新工作是否「保留」,那麼在分支上執行新工作。 –