筆者複製了舊電腦的 Attitude Adjustment 12.09 final(20130425 SVN:r36088 / r37742)在新電腦上,本來應該是沒有問題,但是都不能順利編譯固件(Firmware),尋找了很多方法,包括下載不同版本的 Attitude Adjustment,都是徒然!經過一個星期的測試和理解,才發現是 SVN(Subversion) 的版本問題!
Subversion (SVN) 版本控制系統 |
Subversion (SVN) 分支管理系統 |
Subversion SVN 1.6.17 版本 |
Subversion SVN 1.8.10 版本 |
步驟 1:首先將新電腦內的版本移除。
# svn --version
# apt-get remove
subversion或
# apt-get autoremove subversion
|
移除SVN 1.8.17 amd64 版本 |
步驟 2:從新安裝 SVN 1.6.17
amd64 版本,由於 SVN 1.6.17是版本,需要下載 deb 來安裝。
# dpkg
-i libsvn1_1.6.17dfsg-4+deb7u10_amd64.deb
|
安裝 SVN 1.6.17 amd64 版本 |
步驟 3:安裝 SVN 1.6.17 版本,使用 SVN --version 本測試是否要安裝其它程式。
下載網址:https://packages.debian.org/wheezy/amd64/libsvn1/download
下載網址:https://packages.debian.org/wheezy/amd64/libsvn1/download
# svn --version
# dpkg -i subversion_1.6.17dfsg-4+deb7u10_amd64.deb
# dpkg -i libapr1_1.4.6-3+deb7u1_amd64.deb
# dpkg -i libaprutil1_1.4.1-3_amd64.deb
# dpkg -i libdb5.1_5.1.29-5_amd64.deb
# dpkg -i libgcrypt11_1.5.0-5+deb7u3_amd64.deb
# dpkg -i libgnutls26_2.12.20-8+deb7u3_amd64.deb
# dpkg -i libneon27-gnutls_0.29.6-3_amd64.deb
# dpkg -i libsvn1_1.6.17dfsg-4+deb7u10_amd64.deb
# dpkg -i libtasn1-3_2.13-2+deb7u2_amd64.deb
|
步驟4:安裝完成 SVN 1.6.17 版本,確認版本便可以使用。
完成 SVN 1.6.17 版本安裝 |
Subversion (SVN) 常用指令:
#svn
co svn://svn.openwrt.org/openwrt/trunk/
//Checkout將資料下載
#svn
up //將目前資訊更新成SVN線上最新版本
#svn
diff //自動以現在檔案跟 SVN 內最新版做 diff
#svn
log -l 10 //顯示最新10筆Log
#svn
st //看目前檔案結構 跟 SVN 線上的版本有哪些不同
#svn
add filename 或 svn add directory //將此檔案/目錄新增 svn
#svn ci -m "fix
message" //Commit將目前所做的修改commit 回 svn
|
Subversion (SVN) 測試結果:
OpenWrt Branch
|
Last Updated
|
Revision
|
1.6.17
|
1.8.10
|
Chaos Calmer
|
||||
Barrier Breaker
|
20150728
|
46516
46738
|
OK
|
|
Attitude Adjustment
|
20130807
|
37729
37742
|
OK
|
|
Backfire
|
Subversion (SVN) 功能介紹:
英文
|
中文
|
說明
|
check out
|
取出
|
從檔案庫中取出檔案。
|
commit/check in
|
存入
|
將檔案從本地端存入檔案庫。
|
export
|
匯出
|
把整個模組從檔案庫中取出來,取出來的檔案不包含版本控制系統的管理檔案,也就是匯出的模組將不再由 版本控制系統控管。
|
import
|
匯入
|
把整個目錄結構匯入檔案庫。當你要把一個新的專案放進檔案庫進行版本控管時,就需要執行這個動作。
|
local copy
|
本地複本
|
放在用戶端機器的工作目錄中的專案複本。
|
master copy
|
主拷貝
|
放在檔案庫裡的專案複本。
|
module
|
模組
|
一個目錄階層,通常一個專案就是一個模組。
|
release
|
發行版本
|
軟體產品的一個版本。為了區別產品的版本以及個別檔案的修訂版次,因此不使用
version,而用 release。
|
repository
|
檔案庫
|
存放所有檔案(包含歷史版本)的地方,用戶端執行 check out 時就是從這裡取出檔案。
|
revision number
|
修訂版次
|
一個檔案的修改版本,例如:1.1、1.3.2.2。
|
tag
|
標記
|
在開發過程的某個時間點上,為一組檔案提供的符號名稱。透過 tag 一群檔案,你可以很容易在某個 release 裡面找出這些檔案。
|
update
|
更新
|
從檔案庫中取得其他人修改的檔案,以更新本機的副本(local copy)。
|
workspace/
working directory |
工作區/工作目錄
|
本機的工作目錄,又稱為沙盒(sandbox)。
|
參考網址:
※ Apache Subversion 1.8 Release Notes
相關網址:
※ 在 Linux Debian 8.1 系統安裝及編譯 OpenWrt Trunk 程式
※ 在 Linux Debian 8.1 系統編譯 OpenWrt Trunk 8MB 固件程式
※ 如何將 OperWrt 8MB 固件程式寫入 8MB 閃存(Flash Memory)
※ 在 Linux Debian 8.1 系統安裝及編譯 OpenWrt Attitude Adjustment 程式
※ Subversion (SVN) 1.8.10 版本不兼容,錯誤編譯 OpenWrt Attitude Adjustment 程式
相關網址:
※ 微星(MSI)GS60 2QD Ghost 龍魂電競筆電(Gaming Notebook)- Debian(八)
※ 測試 Debian 8.1 Linux 系統的網絡功能設置
※ 修改 Debian 8.1 Linux 系統的 GRUB 和 80×25 文字解像度
※ 安裝 OpenSSH 在 Debian 8.1 Linux 系統
※ 在 Debian 8.1 Linux 系統讀寫 USB 手指
2015 年 8月 28日 天氣報告
氣溫:26.9度 @ 21:40
相對濕度:百分之 81%
天氣:微雨