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

2005/12/27-30 [Computer/SW/RevisionControl] UID:41142 Activity:low
12/27   I have two subversion respositories A and B. I want to import the
        contents of A into B and get rid of A, but I don't want to lose
        the version history. Is there anyway to do this? tia.
        \_ what version control system?
           \_ dumbass - "I have two subversion respositories A and B."
              \_ not all vcs are created equal
                 \_ Have you not heard of subversion?  You're sounding stupider
                    by the post.
                    \_ And it all went quiet in the city
                       and the wind blew down the road
                       someone cried out SUBVERT
                       and the people all went cold
                    \_ never heard of it
                       \_ Who's on first?
           \_ I'm using subversion:
              http://subversion.tigris.org
              In cvs/rcs days this sort of thing was easy, I'd just copy
              the ,v files, but subversion uses BerkeleyDB so I'm exactly
              sure how to go about doing this.
              \_ Around 1.1 or 1.2 SVN began to use FSFS as default.  However,
                 it's not the file format that's complicated, it's the two
                 repositories.  Do you want to retain the date of the histories
                 as well as the revisions themselves?  You may want to look at
                 the vss2svn project, which is some perl scripts for doing this
                 for vss.
                 \_ No I just wanted to revisions, not the dates. The post
                    below was basically what I was looking for. Thanks.
        \_ http://subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=40600
           \_ Thanks. I figured it out from the manual as well:
              http://tinyurl.com/bbyft (svnbook.red-bean.com)
              I just had to dump the two respositories and then load
              them back into a new repository.  This preserved all of
              the version information I wanted.
              \_ a good software engineer is a good historian!
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 (1844 bytes)
subversion.tigris.org
org Apache-style license Owner svn Description The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. Subversion is meant to be a better CVS, so it has most of CVS's features. Generally, Subversion's interface to a particular feature is similar to CVS's, except where there's a compelling reason to do otherwise. Lack of these features is one of the most common complaints against CVS. Subversion versions not only file contents and file existence, but also directories, copies, and renames. It also allows arbitrary metadata ("properties") to be versioned along with any file or directory, and provides a mechanism for versioning the execute' permission flag on files. No part of a commit takes effect until the entire commit has succeeded. log messages are attached to the revision, not stored redundantly as in CVS. Subversion can use the HTTP-based WebDAV/DeltaV protocol for network communications, and the Apache web server to provide repository-side network service. This gives Subversion an advantage over CVS in interoperability, and provides various key features for free: authentication, path-based authorization, wire compression, and basic repository browsing. Subversion also offers a standalone server option using a custom protocol (not everyone wants to run Apache 2x). The standalone server can run as an inetd service, or in daemon mode, and offers basic authentication and authorization. Branches and tags are both implemented in terms of an underlying "copy" operation. and if you start committing on a copy, then it's a branch as well. The code is structured as a set of modules with well-defined interfaces, designed to be called by other applications. The links are recreated in Unix working copies, but not in win32 working copies.
Cache (775 bytes)
subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=40600
com> Date: Sat, 5 Nov 2005 18:48:59 +0100 Subject: Merge Repositories On Nov 5, 2005, at 18:04, Achim Domma (SyynX Solutions GmbH) wrote: > I want to merge one repository into another one. According to the > faq I should be able to do a svnadmin dump and then a reload. The > problem is, that there are folders with the same name in both > repositories which causes conflicts if I do a svnadmin load. I think you want the --parent-dir argument of svnadmin load. If the repository was previously empty, its UUID will, by default, be changed to the one specified in the stream. If you want to throw out certain directories from the old repo before importing, you can do that using svndumpfilter exclude. Valid options: --drop-empty-revs : Remove revisions emptied by filtering.
Cache (8192 bytes)
tinyurl.com/bbyft -> svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate
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. Doing the task well is all about knowing the tools--what they are, when to use them, and how to use them. This section will introduce you to the repository administration tools provided by Subversion, and how to wield them to accomplish tasks such as repository migrations, upgrades, backups and cleanups. An Administrator's Toolkit Subversion provides a handful of utilities useful for creating, inspecting, modifying and repairing your repository. Afterward, we'll briefly examine some of the utilities included in the Berkeley DB distribution that provide functionality specific 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 revisions and transactions in a repository. No part of this program attempts to change the repository--it's a "read-only" tool. svnlook is typically used by the repository hooks for reporting the changes that are about to be committed (in the case of the pre-commit hook) or that were just committed (in the case of the post-commit hook) to the repository. A repository 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 revision 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 transaction, respectively, to examine. Note that while revision numbers appear as natural numbers, transaction names are alphanumeric strings. Keep in mind that the filesystem only allows browsing of uncommitted transactions (transactions that have not resulted in a new revision). Most repositories will have no such transactions, because transactions are usually either committed (which disqualifies them from viewing) or aborted and removed. 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 youngest 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 youngest subcommand, which takes no options, and simply prints out the HEAD revision number. Take 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 displayed using a textual representation instead of something more obscure (such as the number of nanoseconds since the Tasty Freeze guy drove by). But this output is also machine-parsable--because the log message can contain multiple lines and be unbounded in length, svnlook provides the length of that message before the message itself. This allows scripts and other 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 last bit of data in the stream. Another common use of svnlook is to actually view the contents of a revision or transaction tree. The svnlook tree command displays the directories 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 paths (which is generally of more use to developers than to users). svnlook can perform a variety of other queries, displaying subsets of bits of information we've mentioned previously, reporting which paths were modified in a given revision or transaction, showing textual and property differences made to files and directories, and so on. The following is a brief description of the current list of subcommands accepted by svnlook, 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. Besides providing the ability to create Subversion repositories, this program allows you to perform several maintenance operations on those repositories. the section called "Repository Creation and Configuration"). Most of the others we will 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 files--those 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. lslocks List and describe any locks that exist in the repository. 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, attempting manual tweaks is unwise, if not quite difficult. And once data has been stored in your repository, Subversion generally doesn't provide an easy way to remove that data. You might need to strip out all instances of a file that was accidentally added to the repository (and shouldn't be there for whatever reason). Or, perhaps you have multiple projects sharing a single repository, and you decide to split them up into their own repositories. To accomplish tasks like this, administrators need a more manageable and malleable representation of the data in their repositories--the Subversion repository dump format. 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 aspec...
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.