What have you found for these years?

2009-01-14

終於知道為什麼要 rebase 而不是 merge (3)

同時編輯的慘況:
你知道嗎?那時候我連續 pull 了幾十次,
就是沒辦法 push 進去,真的有一股衝動想叫他不要再 push 了...
為保護當事人,馬賽克處理:

212fefe6 2009-01-13 17:45 godfat 真常 Merge branch 'master' into t2
4c477981 2009-01-13 17:45 ********* tweak
153b5bc3 2009-01-13 17:43 godfat 真常 Merge branch 'master' into t2
e2f0047d 2009-01-13 17:43 ********* medium photo
c0110865 2009-01-13 17:35 godfat 真常 Merge branch 'master' into t2
e7676e21 2009-01-13 17:35 ********* tyle - large
96c64415 2009-01-13 17:28 ********* godfat 真常 Merge branch 'master' into t2
e508fe04 2009-01-13 17:28 ********* tweak
c7ece43d 2009-01-13 17:20 godfat 真常 Merge branch 'master' into t2
f5150552 2009-01-13 17:20 ********* tweak
13212ec1 2009-01-13 17:11 godfat 真常 Merge branch 'master' into t2
a81af489 2009-01-13 17:11 ********* album list
41539ab3 2009-01-13 16:47 godfat 真常 Merge branch 'master' into t2
9ab6e1e9 2009-01-13 16:46 ********* pagination
0c494956 2009-01-13 16:40 godfat 真常 Merge branch 'master' into t2
1955e287 2009-01-13 16:40 ********* tweak
e6a65be9 2009-01-13 16:35 godfat 真常 Merge branch 'master' into t2
c57b5ab4 2009-01-13 16:34 ********* style:large+album
68d7ca3e 2009-01-13 15:50 godfat 真常 Merge branch 'master' into t2
0aa76822 2009-01-13 15:49 ********* tweak
39f8ade3 2009-01-13 15:25 godfat 真常 Merge branch 'master' into t2
b1773aa9 2009-01-13 15:25 ********* tweak
d3086e83 2009-01-13 15:23 godfat 真常 Merge branch 'master' into t2
a1ac1110 2009-01-13 15:23 ********* tweak
ead10d24 2009-01-13 15:22 godfat 真常 Merge branch 'master' into t2
c018cfcc 2009-01-13 15:21 ********* tweak
ecf42c84 2009-01-13 15:20 ********* tweak
fc6dedaa 2009-01-13 15:16 godfat 真常 Merge branch 'master' into t2
57302576 2009-01-13 15:16 ********* tweak
f14ea322 2009-01-13 15:15 godfat 真常 Merge branch 'master' into t2
ff41e8f7 2009-01-13 15:12 ********* Merge branch 'master' of ssh://photos@192.168.0.96/home/photos
854e7be8 2009-01-13 15:12 ********* tweak

這個 commit log 肯定沒有人愛看,我自己當時也 pull + push 到相當不耐煩...
不過有趣的是,redmine 是怎麼把 committer 跟 redmine 帳號連起來的?
我明明就不是用同一個 email, 難道他判斷都有 godfat 字眼就當成同一個人??
而且我 scm 裡絕對不使用中文,姓名當然也都是寫英文,
這裡的中文是在 redmine 裡才有啊... 好厲害!

6 retries:

老林 said...

所以 rebase 的功用是,可以等同於這麼多次 merge 的效果,
但不會製造出大量的垃圾 commit log 嗎?O_O
一直搞不太懂 ...而且這和 svn 要如何同步咧?._.

Lin Jen-Shin (godfat) said...

我想是的,不會留下 merge 痕跡的意思
(雖然 fast forward 也不會有痕跡)

但跟 svn 的關係嘛... XD
我想不是說 git rebase 跟 git svn 有什麼關係,
而是比較理解 rebase 運作原理的話,
比較有辦法找到一個好方法來跟 git svn 合作

或許該 google 看看別人的經驗,我相信有人會想做
又或許這其實早就是證明失敗的方法...?

老林 said...

就目前 psc/irrlicht 和 official irrlicht 1.5 (對,release 了) 的歧異度而言,
我想我還是花點時間用目力 merge & 原力推移好了 orz
就當做是個平行的 fork 吧,畢竟我之前確實是改/加了不少東西 ...

Lin Jen-Shin (godfat) said...

更,剛剛打的不見了...

反正大意就是正因為你改/加了不少東西,
所以才覺得可以的話盡量能跟上 irrlicht svn trunk,
而由於使用 rebase, 所以你的 commit
可以永遠壓在 trunk 上,使得所有的修改變得一目了然

如果說只有你在改的話,那就 force push 是沒差,
然後 cubeat 用 submodule 把 irrlicht 吃進來即可

當然比較好的做法還是設法避免 force push,
或是確保 force push 不會損失任何 commit,
可以做到這兩點其中一點的話,才算真正做到能跟 svn 同步

我剛剛大概是講這些...

老林 said...

大概懂大意了 ..

btw, 剛剛在試把 for AI 的 Cube 抽離出來,
叫 SimpleCube,我本來想弄個繼承體系,讓
model::Cube 去 inherit model::SimpleCube,
為了統一起見在那邊使用了 eruby,
結果大鑊 ... eruby preprocess 出來的 accessor
會自動產生 public accessor 與 private property
但若今天我希望這個 property 可以被繼承就沒輒了。

因此暫時不在這邊使用 eruby for SimpleCube 了,
另外一些會被 inherit 的部份,我會在 Cube.hpp.eruby 裡做調整,
把原本是用 code-generator 產生的 code 先拿掉

Lin Jen-Shin (godfat) said...

噢,這個也是我之前想要調整的東西,一直忘記弄
我想把這些從 ludy 中抽出來,ludy 放太多奇怪的東西了 @@

然後 .eruby 可能還是改回用 .erb,
理由是沒人在用 .eruby, 而且名字太長,
而且其實那是 erb 的標記,跟 eruby 倒是沒啥關係...

接著你說得對,沒有加 virtual 是個問題
這部份希望能調整到比較好用一點...

Post a Comment

Note: Only a member of this blog may post a comment.



All texts are licensed under CC Attribution 3.0