2011-11-07 88 views
0

我正在開發自己的開源項目。我最近發佈了第一個可行的版本,但我懷疑有人正在使用它。我是唯一一個在這方面工作的人。我正在使用mercurial,我的問題是我正在計劃一個非常大的重新設計。沒有多少寶石會一直保持不變。如何在源代碼控制方面解決這個問題?從目前的頭上繼續還是創建一個分支?源代碼管理和重新設計

我多久提交一次?有些類可能會消失(分爲2或功能移到其他地方,界面發生變化)。

回答

2

我處的新版本,如果有代碼(包括你自己)誰應該留在那一陣子的任何現有用戶。當新版本與舊版本相同或更好時(無論採取何種措施),將它合併回來。

另一個考慮是「如果一個新用戶來看看,我希望他們使用舊版本,我放棄或嘗試我所做的版本,將在更多的流量」。如果他們應該繼續使用舊版本,那麼再爲新版本分支。

更可能的是你的選擇是

之間
  • 只是繼續在頭上的工作(「沒有人應該永遠得到鼓勵使用舊版本」)或:
  • 分行掀起了「穩定」或「發行-1「分支(」如果你想要一些舊的功能,但功能完整/合理的功能/ ......「,然後在HEAD上進行新的工作,請使用此分支。
+0

如果我想回到當前的版本,在哪個選項會更簡單?我認爲這並不重要?我是mercurial的新手,這是我第一個真正的項目(不只是個人使用的腳本)。所以稍後我可能會更喜歡我以前的設計。 –

+0

我使用git而不是mercurial,但我猜這會起到同樣的作用:如果您不確定新工作是否「保留」,那麼在分支上執行新工作。 –

1

注:我不知道mercurial(我使用gitsvn ...)

首先,因爲你是唯一一個在你的項目提交代碼,它不管那麼多了。如果其他人貢獻了代碼,這一點很重要。

我會創建一個分支(至少在git之下),我還會在重新設計之前標記代碼的狀態。

你打算維護舊版本(有bug修復)嗎?我想那不是。如果你這樣做,你可能必須得到兩個分支,一個用於版本1,另一個用於重新設計的版本2.

也許你想使老版本的分支,並繼續與主分支新的一個。

關於提交的頻率,我總是建議你經常這樣做(例如,至少在你每天工作的時間,可能還有你引入的每個主要特性或bug修復)。但是每個提交都應該(原則上)保持可編譯,並且應該以某種方式工作(無論對你來說意味着什麼)。

如果你明確提到了你的開源項目,這將是有趣的。

問候

+0

是的,我不打算做錯誤修復,因爲我不認爲有人使用它(沒有做過任何「營銷」,它是一個「利基產品」)。請參閱https://bitbucket.org/kienerj/chemdb/overview。如果你有興趣,我建議看看wiki。 –