隨着每個新版本我做的標籤都包括在內,最終導致這種結構:Maven的發佈插件 - tagbase配置 - 標籤文件夾包含在項目
...VersionExperimentation/tags/VersionExperimentation-0.0.7/tags/VersionExperimentation-0.0.6/tags/VersionExperimentation-0.0.5/tags/VersionExperimentation-0.0.4/tags/VersionExperimentation-0.0.3/tags/VersionExperimentation-0.0.2-beta/tags/VersionExperimentation-0.0.2-alpha/src/main/java
我POM看起來是這樣的:
<scm>
<developerConnection>scm:svn:https://[..root svn folder]/VersionExperimentation</developerConnection>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<tagBase>[..root svn folder]/VersionExperimentation/tags</tagBase>
</configuration>
</plugin>
</plugins>
</build>
很明顯,標籤應該位於根中,而不是位於項目所在的VersionExperimentation文件夾中,該文件夾在developerConnection中定義。
這裏的最佳做法是什麼?我們是否應該在SVN根目錄下的某個文件夾內有一個項目,並且項目文件夾位於同一路徑中?
像:
./projectFolder
./tagsFolder
其中DeveloperConnection是要指向projectFolder並向tagsFolder發佈tagbase標籤的配置?
這似乎遵循SVN書推薦的版本庫佈局,可以發現here
$ svn list file:///var/svn/single-project-repo
trunk/
branches/
tags/
如果有的話,我們應該怎樣做,如果我們有個項目,其中,不幸的是立即存儲項目根文件夾?
我們是否應該創建文件夾,將數據移動到正確的位置並適當地配置pom,將標籤存儲在標籤文件夾中並提交到trunk/projectFolder?
嗨,謝謝你的回答。爲不同的項目創建不同的svn倉庫的決定不是我的,我認爲做出這個決定的原因是由於代碼隱藏。只有那些需要查看代碼的人才能看到它 - 他們只能訪問與它們一起工作的存儲庫。我不認爲這是最好的決定,但它不是我的。我喜歡你提出結構的方式。所以爲了澄清 - 將這些項目移動到trunk文件夾並在同一個文件夾中創建標籤文件夾,這是一個好主意嗎? – Ev0oD 2014-10-19 12:07:28
爲了防止他人爲此目的爭取權限,並轉向最佳實踐。是。 – khmarbaise 2014-10-19 15:48:38