日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Go的版本控制歷史:始于SVN,鐘于Git
% git log --reverse --stat
commit 7d7c6a97f815e9279d08cfaea7d5efb5e90695a8
Author: Brian Kernighan
AuthorDate: Tue Jul 18 19:05:45 1972 -0500
Commit: Brian Kernighan
CommitDate: Tue Jul 18 19:05:45 1972 -0500

hello, world

R=ken
DELTA=7 (7 added, 0 deleted, 0 changed)

src/pkg/debug/macho/testdata/hello.b | 7 +++++++
1 file changed, 7 insertions(+)

...

rsc 認為這種說法十分愚蠢,于是他揭秘了關(guān)于 Go 版本控制的更多有趣歷史,比如 Go 真正的首次 commit 其實是第 5 個 commit,在此之前的是假 commit。

commit 18c5b488a3b2e218c0e0cf2a7d4820d9da93a554
Author: Robert Griesemer
AuthorDate: Sun Mar 2 20:47:34 2008 -0800
Commit: Robert Griesemer
CommitDate: Sun Mar 2 20:47:34 2008 -0800

Go spec starting point.

SVN=111041

doc/go_spec | 1197 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1197 insertions(+)

據(jù)介紹,Go 使用過的版本控制系統(tǒng)總共有 4 個:SVN、Perforce、Mercurial 和 Git。

SVN

Go 剛啟動的時候使用 SVN 作為版本控制系統(tǒng),據(jù)稱這是因為谷歌希望通過此舉評估在內(nèi)部大規(guī)模推廣 SVN 的可行性。最后的結(jié)果雖然沒有選擇 SVN,但上文提到的 Go 首次真正 commit 正是提交到了 SVN 服務(wù)器,可以說 SVN 見證了 Go 的誕生。

Perforce

2008 年 7 月,Go 在 SVN 提交了最后一次 commit,此后便轉(zhuǎn)用 Perforce。

下面是 Go 遷移到 Perforce 的首次 commit:

commit c1f5eda7a2465dae196d1fa10baf6bfa9253808a
Author: Rob Pike
AuthorDate: Mon Jul 21 18:06:39 2008 -0700
Commit: Rob Pike
CommitDate: Mon Jul 21 18:06:39 2008 -0700

change date

OCL=13331
CL=13331

doc/go_lang.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

遷移至 Perforce 后,可以看到引入了DELTA=, OCL= 和 CL= 這些標簽。并且許多其他變更具有相同的OCL=和CL=,如下:

commit 942d6590d9005f89e971ed5af0374439a264a20e
Author: Kai Backman
AuthorDate: Fri Oct 23 11:03:16 2009 -0700
Commit: Kai Backman
CommitDate: Fri Oct 23 11:03:16 2009 -0700

one more argsize fix. we were copying with the correct
alignment but not enough (duh).

R=rsc
APPROVED=rsc
DELTA=16 (13 added, 0 deleted, 3 changed)
OCL=36020
CL=36024

src/cmd/5g/ggen.c | 2 +-
test/arm-pass.txt | 17 +++++++++++++++--
2 files changed, 16 insertions(+), 3 deletions(-)

commit b74fd8ecb17c1959bbf2dbba6ccb8bae6bfabeb8
Author: Kai Backman
AuthorDate: Fri Oct 23 12:43:01 2009 -0700
Commit: Kai Backman
CommitDate: Fri Oct 23 12:43:01 2009 -0700

fix build issue cause by transition to hg

R=rsc
http://go/go-review/1013012

src/make-arm.bash | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

這次的切換也是屬于 11 月開源 Go 的準備工作的一部分,開發(fā)團隊還需要將新的開源版權(quán)聲明添加到每個文件中。rsc 表示這些工作花費了他大約一周的時間。

Git

從 2009 年 11 月到 2014 年底,由于 Google Code Project Hosting 即將關(guān)閉,Go 也不得不尋找新的代碼托管方案。在研究了幾個選項后,他們最終選擇使用 Gerrit Code Review。許多人認為 Go 托管在 GitHub 上,但 GitHub 只是問題跟蹤器的主要來源:源代碼的官方主要副本位于 go.googlesource.com。

下面的 commit 見證了 Go 從 Mercurial 到 Git 的轉(zhuǎn)換:

commit 94151eb2799809ece7e44ce3212aa3cbb9520849
Author: Russ Cox
AuthorDate: Fri Dec 5 21:33:07 2014 -0500
Commit: Russ Cox
CommitDate: Fri Dec 5 21:33:07 2014 -0500

encoding/xml: remove SyntaxError.Byte

It is unused. It was introduced in the CL that added InputOffset.
I suspect it was an editing mistake.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/182580043

src/encoding/xml/xml.go | 1 -
1 file changed, 1 deletion(-)

commit 258f53dee33b9055ea168cb186f8c076edee5905
Author: David Symonds
AuthorDate: Mon Dec 8 13:50:49 2014 +1100
Commit: David Symonds
CommitDate: Mon Dec 8 13:50:49 2014 +1100

remove .hgtags.

.hgtags | 140 ----------------------------------------------------------------
1 file changed, 140 deletions(-)

commit 369873c6e5d00314ae30276363f58e5af11b149c
Author: David Symonds
AuthorDate: Mon Dec 8 13:50:49 2014 +1100
Commit: David Symonds
CommitDate: Mon Dec 8 13:50:49 2014 +1100

convert .hgignore to .gitignore.

.hgignore => .gitignore | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)

commit f33fc0eb95be84f0a688a62e25361a117e5b995b
Author: David Symonds
AuthorDate: Mon Dec 8 13:53:11 2014 +1100
Commit: David Symonds
CommitDate: Mon Dec 8 13:53:11 2014 +1100

cmd/dist: convert dist from Hg to Git.

src/cmd/dist/build.c | 100 ++++++++++++++++++++++++++++++---------------------
1 file changed, 59 insertions(+), 41 deletions(-)

commit 26399948e3402d3512cb14fe5901afaef54482fa
Author: David Symonds
AuthorDate: Mon Dec 8 11:39:11 2014 +1100
Commit: David Symonds
CommitDate: Mon Dec 8 04:42:22 2014 +0000

add bin/ to .gitignore.

Change-Id: I5c788d324e56ca88366fb54b67240cebf5dced2c
Reviewed-on: https://go-review.googlesource.com/1171
Reviewed-by: Andrew Gerrand

.gitignore | 1 +
1 file changed, 1 insertion(+)

??點此查看更多介紹。??

本文轉(zhuǎn)自O(shè)SCHINA

本文標題:Go 的版本控制歷史:始于 SVN,鐘于 Git

本文地址:https://www.oschina.net/news/182961/go-cvs


網(wǎng)頁名稱:Go的版本控制歷史:始于SVN,鐘于Git
新聞來源:http://m.5511xx.com/article/cdjojso.html