由於需要使用 jenkins 配合shell 指令碼來做一些 和svn 相關的處理, 而svn 不支援 類似git 的tag,而用svn copy 的方式太low,也不方便直接在 svn log 中體現出來.
所以 我想 直接修改svn
的 上次提交的log
資訊,類似git commit --ammend
,但是一般windows下用的tortoisesvn
可以直接修改,但是 svn 命令列如何修改呢?
1、將版本庫repos/hooks/pre-revprop-change.tmp修改成pre-revprop-change
2、為pre-revprop-change加上執bai行許可權:使用命令duchmod +x
3、修改pre-revprop-change
這不是我關心的,我當然已經配置過了的.我需要知道的是svn命令列如何修改.
svn pget -r33848 --revprop svn:log |iconv -f gb2312 -t utf-8
上面的 -r後面的陣列是 最近的修改版本號,不知道為什麼,我無法用head^1
或者commited
,prev
來表達最近的乙個log (而且是基於當前svn目錄的,不知全域性的),如果只能通過svn info
來獲取了
rev=`lang=en_us.utf-8 svn info|iconv -f gb2312 -t utf-8|grep "last changed rev: "|cut -d ':' -f 2-|awk ';1'`
svn propedit
是呼叫文字編輯器, 等待編輯結束 提交的
set svn_editor=notepad.exe
svn propedit -r33848 --revprop svn:log [svn_url]
svn propset
是直接通過命令列設定的, 設定的文字需要自己提取之前的文字,修改補充的.
svn propset -r33848 --revprop svn:log "new log message" url
svn 的屬性包括兩種,
乙個是 倉庫級別的,目錄屬性(包括遞迴獲得的屬性)
乙個是 提交級別的,僅僅限於svn的一次commit提交
所以 svn 修改 log 或者author ,都是修改 屬性, 這麼記,就好辦了~
svn命令列修改已提交的版本備註
參考文章 由於預設情況下為安全起見subversion不允許開發人員修改已提交reversion的日誌資訊,這樣會報錯誤,提示不能修改以及請svn管理員安裝pre revprop change hook。這個hook是什麼意思呢?實際上是乙個版本日誌變更的預處理程式,主要是用來儲存老的日誌資訊,以避...
svn 命令列提交忽略修改或新增的檔案
在開發中搭建測試環境時,經常碰到開發人員需要根據自己的情況修改本地checkout下來的配置檔案,比如jdbc,config等等,這些修改後的檔案往往是不需要再提交到svn repo中的。不然肯定亂套了。這樣就帶來乙個需求,怎樣才能在提交時忽略掉這些檔案呢?用tortoisesvn很簡單,直接在介面...
git 命令列提交
首先通過pycharm提交工程你早已經會了很簡單,之前上傳不了但是改了pycharm的設定之後,改的是git操作 用git的命令列去操作你是一定要會的平時我們 如果你想提交專案到遠端githup上面,首先找到你githup上面倉庫的位址 然後開啟git命令 git clone 就會在桌面出現乙個資料...