Berkeley CSUA MOTD:Entry 39096
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/05/25 [General] UID:1000 Activity:popular
5/25    

2005/8/11-15 [Computer/SW/RevisionControl] UID:39096 Activity:nil
8/11    Does anyone here use subversion? I recently switched over to
        subversion from cvs and I'm trying to figure out what the best
        way to back up the repository is (small personal repository).
        Any recommendations?
        \_ Are you using the file backend or the bdb one?
           \_ I'm using the Berkeley db back end (bdb?). My plan was
              to use svn dump and then burn the resulting file to a
              dvd-rw once a week or so.
        \_ I've been using it for about a year (and love it).  If your svn
           server version is 1.2 or higher then your default repository is in
           fsfs format.  You can just copy the repository folders on the fly
           and you should be fine.  Otherwise, look into 'svnadmin dump'.  See
           the svn book at: http://svnbook.red-bean.com in particular:
           http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.6
           \_ I am using the latest version of subversion (1.2.4?). I read
              that copying the files wasn't a good idea in the subversion
              book, which is why I was asking about this.
2025/05/25 [General] UID:1000 Activity:popular
5/25    

You may also be interested in these entries...
2012/4/2-6/4 [Computer/SW/Languages/Java, Computer/SW/RevisionControl] UID:54353 Activity:nil
4/02    We use Perforce at work for revision control. It seems to work okay.
        Lately, a lot of the newer developers are saying that Perforce
        sucks and we should switch to Mercurial or Git. I have done some
        searching on the Internet and some others have this opinion. Added
        advantage is that Mercurial and Git are free. However, there would
        be some work to switch for the sysadmins and the developers.
	...
2008/1/10-12 [Computer/SW/RevisionControl] UID:48922 Activity:nil
1/10    In subversion (svn) is there a way to check out a file from
        a different BRANCH for diff purposes?
        \_ More specifically, do you want to compare your working copy of
           file.c with one in a branch?  Or do you want to compare the
           repository copy of file.c in trunk vs. file.c in branch?
           \_ compare a particular revision in trunk with a particular
	...
2007/10/3-7 [Computer/SW/RevisionControl] UID:48238 Activity:high
10/3    Is there a command in cvs that'll tell me what files I've
        editted/changed from the original cvs update?  \_ Use the -n flag.
        I normally use cvs -n update.  \_ Do you have to use CVS or can
        you migrate to something else?
           \_ Yeah, subversion is quite nice.  I hated it at first, though
              \_ How do you find out what files I've editted in svn?
	...
2006/10/24-26 [Computer/SW/WWW/Browsers] UID:44940 Activity:low
10/24   So why is Firefox at 2.0 now?  Granted this revision is a bit bigger
        than most minor revisions, but neither the program architecture or
        plugin interface changed much.
        \_ Marketing?  Maybe even free software needs marketing?
           \_ The marketing wants to be freeeeee!!1111
        \_ http://www.mozilla.com/en-US/firefox/2.0/releasenotes/#whatsnew
	...
2006/6/14-16 [Computer/Companies/Apple, Computer/SW/OS/OsX] UID:43382 Activity:nil
6/14    I am thinking of getting a 17" Macbook Pro to replace my 17"
        Powerbook G4. I haven't been following CPUs lately. Is there any
        reason to wait (i.e. something better is just around the corner)?
        \_ merom is supposed to be released around september.  it will be
           64 bit and use less power than the current chip.  if you can wait
           that long, you might as well.
	...
Cache (832 bytes)
svnbook.red-bean.com
If you have spotted errors in the book (O'Reilly's har dcopy or otherwise), please do the following things: 1 Check the XML sources to see if the problem still exists. errata page for the book, and report the error there if it hasn't already been reported. Use the n avigation menu at the bottom of the page to select a different language. From each translated page you can get instructions on obtaining the tra nslated book (or a work-in-progress snapshot if it is not finished yet). Note that the English version is the master from which all translations derive, and if you have any comments about a translation you should con tact that translation's authors. That's the animal chosen by the publ isher for our book cover. It's cool, and our wives are pleased that at least something "ic ky" wasn't chosen to represent Subversion.
Cache (8192 bytes)
svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.6
Next Repository Maintenance Maintaining a Subversion repository can be a daunting task, mostly due to the complexities inherent in systems which have a database backend. Doi ng the task well is all about knowing the toolswhat they are, when to u se them, and how to use them. This section will introduce you to the rep ository administration tools provided by Subversion, and how to wield th em to accomplish tasks such as repository migrations, upgrades, backups and cleanups. An Administrator's Toolkit Subversion provides a handful of utilities useful for creating, inspectin g, modifying and repairing your repository. Afterward, we'll briefly examine some of the utiliti es included in the Berkeley DB distribution that provide functionality s pecific to your repository's database backend not otherwise provided by Subversion's own tools. svnlook svnlook is a tool provided by Subversion for examining the various revisi ons and transactions in a repository. No part of this program attempts t o change the repositoryit's a read-only tool. svnlook is typically us ed by the repository hooks for reporting the changes that are about to b e committed (in the case of the pre-commit hook) or that were just commi tted (in the case of the post-commit hook) to the repository. A reposito ry administrator may use this tool for diagnostic purposes. Note: any subcommand which takes the '--revision' and '--transaction' options will, if invoked without one of those options, act on the repository's youngest revision. Type "svnlook help <subcommand>" for help on a specific subcommand. Nearly every one of svnlook's subcommands can operate on either a revisio n or a transaction tree, printing information about the tree itself, or how it differs from the previous revision of the repository. You use the --revision and --transaction options to specify which revision or trans action, respectively, to examine. Note that while revision numbers appea r as natural numbers, transaction names are alphanumeric strings. Keep i n mind that the filesystem only allows browsing of uncommitted transacti ons (transactions that have not resulted in a new revision). Most reposi tories will have no such transactions, because transactions are usually either committed (which disqualifies them from viewing) or aborted and r emoved. In the absence of both the --revision and --transaction options, svnlook will examine the youngest (or HEAD) revision in the repository. So the following two commands do exactly the same thing when 19 is the younges t revision in the repository located at /path/to/repos: $ svnlook info /path/to/repos $ svnlook info /path/to/repos --revision 19 The only exception to these rules about subcommands is the svnlook younge st subcommand, which takes no options, and simply prints out the HEAD re vision number. T ake as an example the output of the info subcommand: $ svnlook info /path/to/repos sally 2002-11-04 09:29:13 -0600 (Mon, 04 Nov 2002) 27 Added the usual Greek tree. The output of the info subcommand is defined as: 1 The author, followed by a newline. This output is human-readable, meaning items like the datestamp are displ ayed using a textual representation instead of something more obscure (s uch as the number of nanoseconds since the Tasty Freeze guy drove by). B ut this output is also machine-parsablebecause the log message can cont ain multiple lines and be unbounded in length, svnlook provides the leng th of that message before the message itself. This allows scripts and ot her wrappers around this command to make intelligent decisions about the log message, such as how much memory to allocate for the message, or at least how many bytes to skip in the event that this output is not the l ast bit of data in the stream. Another common use of svnlook is to actually view the contents of a revis ion or transaction tree. The svnlook tree command displays the directori es and files in the requested tree. If you supply the --show-ids option, it will also show the filesystem node revision IDs for each of those pa ths (which is generally of more use to developers than to users). svnlook can perform a variety of other queries, displaying subsets of bit s of information we've mentioned previously, reporting which paths were modified in a given revision or transaction, showing textual and propert y differences made to files and directories, and so on. The following is a brief description of the current list of subcommands accepted by svnl ook, and the output of those subcommands: author Print the tree's author. changed List all files and directories that changed in the tree. dirs-changed List the directories in the tree that were themselves changed, or whose file children were changed. history Display interesting points in the history of a versioned path (places where modifications or copies occurred). info Print the tree's author, datestamp, log message character count, and log message. propget Print the value of a property on a path in the tree. proplist Print the names and values of properties set on paths in the tree. tree Print the tree listing, optionally revealing the filesystem node revision IDs associated with each path. uuid Print the repository's UUID Universal Unique IDentifier. svnadmin The svnadmin program is the repository administrator's best friend. Besid es providing the ability to create Subversion repositories, this program allows you to perform several maintenance operations on those repositor ies. the section called Repository Creation and Configuration). Most of the others we w ill cover in more detail later in this chapter. For now, let's just take a quick glance at what each of the available subcommands offers. deltify Run over a specified revision range, performing predecessor deltification on the paths changed in those revisions. If no revisions are specified, this command will simply deltify the HEAD revision. dump Dump the contents of the repository, bounded by a given set of revisions, using a portable dump format. You can run this command at any time and make a safe copy of the repository, regardless if other processes are using the repository. This list includes all log filesthose still in use by Subversion, as well as those no longer in use. You may safely remove these log files from the repository layout, possibly archiving them for use in the event that you ever need to perform a catastrophic recovery of the repository. load Load a set of revisions into a repository from a stream of data that uses the same portable dump format generated by the dump subcommand. lstxns List the names of uncommitted Subversion transactions that currently exist in the repository. recover Perform recovery steps on a repository that is in need of such, generally after a fatal error has occurred that prevented a process from cleanly shutting down its communication with the repository. rmtxns Cleanly remove Subversion transactions from the repository (conveniently fed by output from the lstxns subcommand). setlog Replace the current value of the svn:log (commit log message) property on a given revision in the repository with a new value. This includes, among other things, checksum comparisons of the versioned data stored in the repository. svndumpfilter Since Subversion stores everything in an opaque database system, attempti ng manual tweaks is unwise, if not quite difficult. And once data has be en stored in your repository, Subversion generally doesn't provide an ea sy way to remove that data. You m ight need to strip out all instances of a file that was accidentally add ed to the repository (and shouldn't be there for whatever reason). Or, p erhaps you have multiple projects sharing a single repository, and you d ecide to split them up into their own repositories. To accomplish tasks like this, administrators need a more manageable and malleable represent ation of the data in their repositoriesthe Subversion repository dump f ormat. The Subversion repository dump format is a human-readable representation of the changes that you've made to your versioned data over time. The great thing about the human-readability aspect o f the dump format is that, if y...