先照這一篇 試試看。
從 repository 開始...
一般會使用subversion 大概是因為舊專案。所以 repo 應該都是 monitor type。
新版只有 new repo 三種可以選, import 的 icon 結果是說明。
所以 new 一個 svn repo。
然後修改 uri,再 active 。
因為要做 monitor 用。所以 new uri,指向真正的 repo https://subversion.my.com/svn/AI/testproj/phabrisvn
選 observe。
出現 error,說有一個 uri 是 read/write,所以沒辦法設這個 uri 是 observe。
所以去外面把 原來那個自己生成的 uri disable。
然後設定這格 uri 的 Credential (這個是設定https://subversion.my.com/svn/AI/testproj/phabrisvn 的 username/password)。
因為 出現 error, 在 repo mananger 的 sync fail:
Error updating working copy: Command failed with error #1! COMMAND svn --non-interactive --no-auth-cache --trust-server-cert --username '********' --password '********' info --xml 'https://subversion.my.com/svn/AI/testproj/phabrisvn' STDOUT用STDERR svn: E170013: Unable to connect to a repository at URL 'https://subversion.my.com/svn/AI/testproj/phabrisvn' svn: E230001: Server SSL certificate verification failed: certificate issued for a different hostname, issuer is not trusted
sudo su www-data -s /bin/bash轉換身份 www-data 執行看看..
出現..
... svn: E000002: Unable to open auth file for writing svn: E000002: Can't create temporary file from template '/var/www/.subversion/auth/svn.ssl.server/svn-XXXXXX': No such file or directory
改 /var/www 的 owner 為 www-data,結果 su www-data 後 co OK。但是 phabricator update 還是 fail
依照說明,用
sudo /opt/phabricator/bin/repository update --trace R13手動 update repo 'R13'。
結過還是錯。
所以用 root 來做..
sudo su - root 後, co 這個 svn repo,輸入 username/password, 並且接受 cert , server 後,
phabricator update 這格 error 消失,換出現另一個 error...
Error updating working copy: Repository "R13" does not have a correctly configured remote URI. The remote URI for a Subversion repository MUST point at the repository root. The root for this repository is "https://subversion.my.com/svn/AI", but the configured URI is "https://subversion.my.com/svn/AI/testproj/phabrisvn". To resolve this error, set the remote URI to point at the repository root. If you want to import only part of a Subversion repository, use the "Import Only" option.遵照指示,在 manage repo 頁面,左邊有 subversion 這一個選項,這個選項可以輸入 目錄。
所以把 uri 改成 https://subversion.my.com/svn/AI,然後在這個 subversion 項目, 輸入 testproj/phabrisvn。
這樣 update 就沒問題了。
checkout and conduct a review
先 checkout svn repo
svn co https://subversion.my.com/svn/AI/testproj/phabrisvn然後測試一下,arc diff..
$ arc diff Usage Exception: This command requires arc to connect to a Phabricator install, but no Phabricator installation is configured. To configure a Phabricator URI: - set a default location with `arc set-config default`; or - specify `--conduit-uri=uri` explicitly; or - run `arc` in a working copy with an '.arcconfig'.
第一次使用 arc,遵照這一篇,設定好 default phabricator server 位置
arc set-config default http://192.168.144.171之後..arc diff 說,需要 run arc install-certificate ..
$ arc install-certificate CONNECT Connecting to "http://192.168.144.171/api/"... LOGIN TO PHABRICATOR Open this page in your browser and login to Phabricator if necessary: http://192.168.144.171/conduit/login/ Then paste the API Token on that page below. Paste API Token from that page:follow 這個 說明,開啟 頁面,會叫你 login,然後顯示你login user 對應的 API token 字串。
把那個字串 copy 到 command 的 ':' 後面..
接著出現:
Writing ~/.arcrc... SUCCESS! API Token installed.上面這兩個是寫在 ~/.arcrc 裡..
n$ cat ../.arcrc { "config": { "default": "http://192.168.144.171/" }, "hosts": { "http://192.168.144.171/api/": { "token": "cli-txwsqp26sv3urka3t364xxxxxyhy" } } }OK,開始測試...參考這一頁subversion 的部份
修改檔案...
arc diff 提起 review ...會自動開啟 editor..
windows 10 的話,要先用.. arc set-config editor "C:\Program Files\Notepad++\notepad++.exe" 才會自動開啟 notepad++。然後寫好 Reviewers, save退出。
reviewer 會收到通知。確認後。
arc list 列出目前狀態, OK 的話,就可以用..
arc commit 結束(commit 到 svn)
svn branch and merge
arc 沒有支援 subversion 的 branch/merge 動作。
所以都要自己做。
branch 就自己 svn cp. svn switch。
branch 也可以用 arc diff要求 review,只是 arc commit 是 commit 到 branch,main trunk 沒有影響。
merge 動作就要手動 svn merge XXOO。
然後 先用 arc diff 要求 review 後再 arc commit 把 merge 完的 code commit
沒有留言:
張貼留言