2012-12-06 21 views
2

我有一個svn存儲庫,並且正在尋找將自定義屬性添加到文件的可能性。如何在SVN中設置一個自定義屬性(並找回所有已設置的文件)?

後來我想用存儲庫中的給定值來獲取包含給定屬性的所有文件。

例子:

我要定名爲label具有值123_ABC文件的屬性。

之後,我想從存儲庫中獲取標記爲「123_ABC」的所有文件。

這是可能以某種方式?

我使用SVN和TortoiseSVN

+2

這是第二次,當我看到**變態使用方法**自定義SVN屬性。你們都是怎麼過來的? –

回答

0
  1. 你應該明白,性的使用的相反的方向暗示
  2. 你不能用已知的唯一的財產價值的文件,從而忽略屬性名稱,因爲同一個文件的不同屬性可以有相同的值
  3. 您的任務(從屬性文件),你必須
    • 使用枚舉重中的所有文件pository
    • 申請svn propget label(或svn proplist),並驗證結果
0

你與這個屬性對所有版本搜索所有的文件嗎?是的,這是可能的,但它是緩慢的,並且不容易:

$ svn log --diff $REPO 

這將做日誌的差異。當它看到屬性差異時,就會像Subversion在區分文件時一樣打印屬性差異。當然,這將會區分日誌中的所有文件,這些文件非常非常慢,並且會產生大量的輸出。你可以使用grep或類似的東西來找到版本。

但是,如果你這樣做,你不妨在樓下跑到星巴克咖啡廳邊等咖啡。哎呀,跑到這個好咖啡店的街區,在你等待的時候喝一杯拿鐵咖啡。更好的是,飛到意大利,跑到海邊,在你等待的時候在咖啡館喝一杯拿鐵咖啡。這將需要一段時間。

如果你發現這種做法讓你灰心,那好!


或者,你只是在你當前的工作目錄中搜索特定文件的這個屬性?如果是這樣,事情並不是那麼糟糕:

$ svn plist --depth=infinity --verbose . 

這將打印出所有屬性和它們的值的所有文件在您的工作目錄。這需要一段時間,但不會很長。在它完成之前,你很幸運地將它下樓到星巴克。再次,我會管這到less,然後搜索我正在尋找的屬性。由於您使用的是Windows,請保存此命令生成的輸出,並使用類似Notepad ++的內容來搜索該文件。

+0

'svn proplist'或'svn pl'(**真的簡短**命令),我認爲 –

+0

所有三個工作。我知道我可以做'svn proplist'或'svn plist',但是沒有意識到'svn pl'。每天學點東西。 –

相關問題