題 通過SubVersion進行個人源控制 - 在我走得太遠之前阻止我!


我最近被SVN的小蟲咬了;很大程度上是由於在工作中大量使用個人倉庫來控制概念驗證代碼,文檔和小文件,以及保持我的兩台機器同步。

我的家庭NAS,一個D-Link DNS-323,是一個堅固的小盒子,安裝了一些額外的腳本和軟件包以提供一些日常備份 - 但它也有一些缺點,使它不能像我想的那樣被使用。我希望將它作為我的永遠存在的文件服務器用於家庭和遠程使用 - 但權限控制相當薄弱且不靈活,從我的家庭網絡外部訪問它僅限於SSH / SCP和FTP(僅限於暫時如果有的話)。

所以我想:如果我主要將它用作基於SVN的文件服務器,並允許通過SSH + SVN進行遠程訪問,該怎麼辦?我仍然可以為大型文件(例如我的筆記本電腦備份)提供非SVN窗口共享;但我可以將它作為個人文件的SVN-repo使用。

這裡的問題是我在哪裡停止,SVN對存儲在其中的文件的最大倉庫大小或大小有什麼限制?


4
2017-08-02 14:34


起源




答案:


Debian項目的開發人員Joey Hess撰寫了一篇關於將subversion用於個人用途的長篇指導性文章: 顛覆你的homedir,或保持你的生活在svn。我想你會在那裡找到一些好主意。

如果您仔細閱讀該文章的頂部和底部,您會看到他首先在CVS中實現了這個想法,現在將他的大部分主目錄保存在git中


4
2017-08-19 17:50





Subversion主要用作源控制系統,因此它的主要目的不是版本二進製文件。使用Subversion保持系統同步有什麼優勢(我覺得總是不得不在我的普通文件中保存Subversion元信息並管理它可能會變得非常煩人)?

也許像一個備份工具 rsync的 或文件同步器 齊奏 通過FTP或SSH更適合您想要做的事情。


13
2017-08-02 14:42





雖然subversion用於源代碼控制,但我(ab)使用它進行備份。我遇到了許多有趣的限制:

  • 使用http傳輸,我有時在結賬和提交時遇到2GB傳輸限制,但並非總是如此
  • .svn子目錄包含每個文件的第二個副本,因此您可以立即將空間需求增加一倍
  • 目錄中的大量文件變得非常慢
  • subversion存儲庫永遠不會縮小;它只會在大小上增長,即使你“刪除”一個文件,因為它保留了該文件的歷史記錄

然而,即使有這些限制,我發現它對我來說非常有效。您可以在服務器上執行的一件有趣的事情是使用post-commit掛鉤將每個提交的副本自動推送到異地位置(使用svnadmin工具執行該修訂的增量轉儲)。


4
2017-08-13 15:48



哦,只記得另一個:當我的主目錄結帳到一台全新的機器時,我必須確保我觸摸mbox索引文件,以便kmail不重建它們並拋出read / reply / etc標誌在上面。使用maildir而不是mbox會遇到我已經提到的第三個缺點。 - retracile
Retracile,您可以編輯您的答案以包含您的評論。在相關說明中,您還可以在將註釋合併到答案中後刪除它。 - Travis


就尺寸限製而言,我從來沒有拒絕過文件。包括將ISO文件放在那裡等 回購郵件大小幾乎總是受硬盤驅動器大小的限制,而不是 顛覆

回應 DAFF的 回答: rsync 不做什麼 顛覆 能夠。有一個 Ubuntu的 您希望在任何地方都可以使用ISO進行刻錄?大! rsync 可以分發文件,效果很好。但現在你更新到 Ubuntu的 69.88,但是你發現一周後它對你的舊版本不起作用 486sx筆記本電腦。同 rsync,你必須去尋找舊的ISO,下載它,等等 顛覆,您只需回滾到該文件的舊版本即可。

如果你打算用 顛覆 對於某些文件,您可以全力以赴並將其用於所有內容。較大的文件效率不高,但也可以保持集中。

</ 2美分>


4
2017-08-13 16:15



您可以使用RSync進行增量版本化備份,重點是,有一個比SOURCE版本控制系統更適合處理二進製文件備份的工具(對於備份我更喜歡它反過來:讓服務器取代新備份必須一直承諾所有的一切)。如果你能忍受所有的缺點,我從來沒有說它不起作用。 - Daff
backuppc.sourceforge.net 顯示瞭如何在使用rsync時保留備份的修訂版。 - gbjbaanb


我試圖將subversion用於開發代碼之外的其他事情。我理解雖然它對設計師的用戶非常有效,因為它有藝術品進展的歷史記錄。我為subversion購買的這本書首先提到他們確實使用了顛覆功能,包括他們的雜貨購物清單。雖然我沒有做太多的圖形藝術,但是mediawiki在一個易於使用的基於Web的界面中提供了相同的功能。它還具有其他功能,例如關於內容的討論。我認為Trac做得非常好,通過加倍努力並將wiki與svn相結合。作為svn的新手,除了額外步驟所需的額外時間之外,我沒有遇到任何限制。


2
2017-10-23 22:23





搖滾! 我已經這樣做了幾年,它真的很棒!雖然它確實需要一點點關注,但現在每當我得到一台新機器時,我都會svn co,並在那裡運行一個腳本,我得到了firefox以及我喜歡的一切。


1
2017-08-13 16:02