Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| versioncontrol:subversionmissing [2010/06/24 05:54] – DavidOBrien | versioncontrol:subversionmissing [2022/10/07 03:01] (current) – Move bakeoff stuff under a single namespace KubilayKocak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== This page describes some of the things I've found missing in Subversion, when coming from CVS: ===== | ===== This page describes some of the things I've found missing in Subversion, when coming from CVS: ===== | ||
| - There is no way using Subversion to diff a local change (" | - There is no way using Subversion to diff a local change (" | ||
| - | * With CVS I can do a MFC, fix the conflicts and compare with CURRENT by using; | + | * With CVS I can do an MFC, fix the conflicts and compare with CURRENT by using; |
| < | < | ||
| Line 19: | Line 19: | ||
| svn: Not all required revisions are specified | svn: Not all required revisions are specified | ||
| + | </ | ||
| + | |||
| + | Answer: Use the svn diff --old --new syntax: | ||
| + | |||
| + | < | ||
| + | $ cd / | ||
| + | $ svn diff --old cat.c --new ^/ | ||
| </ | </ | ||
| Line 54: | Line 61: | ||
| This is a stupid as CVS is in that you cannot give its date output from '' | This is a stupid as CVS is in that you cannot give its date output from '' | ||
| - | * Sean C. Farley < scf@%%FreeBSD%%.org > tells me that '' | + | * Sean C. Farley < scf@%%FreeBSD%%.org > tells me that '' |
| - | - Even sillier is that if I checkout a tree and make several commits from within the tree, '' | + | - Even sillier is that if I checkout a tree and make several commits from within the tree, '' |
| - Subversion does not automatically expand keywords. | - Subversion does not automatically expand keywords. | ||
| - | * One did not have to do anything to get '' | + | * One did not have to do anything to get '' |
| * | * | ||
| Line 87: | Line 94: | ||
| </ | </ | ||
| - | That wasn't very helpful in figuring out I had a tripple | + | That wasn't very helpful in figuring out I had a triple |
| - There is no option at not having base files in .svn. | - There is no option at not having base files in .svn. | ||
| * Thus you will always take up twice the disk space, and spend twice as long doing a check out or update than you need to be - if you're writing to NFS and your Subversion server is just as well, if not better, connected to the client system. | * Thus you will always take up twice the disk space, and spend twice as long doing a check out or update than you need to be - if you're writing to NFS and your Subversion server is just as well, if not better, connected to the client system. | ||
| + | |||
| + | Answer: A workaround that offers a partial remedy is to check out a single working copy for the entire freebsd repository at depth empty: | ||
| + | |||
| + | < | ||
| + | $ svn co --depth empty svn:// | ||
| + | $ cd base | ||
| + | </ | ||
| + | |||
| + | and then update desired branches to depth infinity: | ||
| + | |||
| + | < | ||
| + | $ svn up --depth infinity head | ||
| + | $ svn up --depth infinity releng/9.1 | ||
| + | </ | ||
| + | |||
| + | With Subversion 1.7, files that don't differ between branches now share the same pristine text base file in the .svn directory. | ||
| - Subversion does not sort files in '' | - Subversion does not sort files in '' | ||
| Line 97: | Line 120: | ||
| * It does not seem to give a combined log for the entire directory (or subtree) as I hoped it would. | * It does not seem to give a combined log for the entire directory (or subtree) as I hoped it would. | ||
| - | - The barren set of ' | + | - The barren set of ' |
| * | * | ||
| Line 113: | Line 136: | ||
| Unfortunately, | Unfortunately, | ||
| (Well, you can set '' | (Well, you can set '' | ||
| + | |||
| + | Answer: This was fixed in 1.7.0. See the ' | ||
| - Why does Subversion bother to tell me the number of lines in a commit log message? | - Why does Subversion bother to tell me the number of lines in a commit log message? | ||
| Line 124: | Line 149: | ||
| I don't see the benefit in this output. | I don't see the benefit in this output. | ||
| + | |||
| + | Answer: This was done to help tools that parse svn log output. See the cvsps problem where its log message parser fails if a CVS log message contains a log-message-separator line... | ||
| - Many Subversion commands bail out in processing their command-line arguments if the command operation cannot be accomplished on a particular file. | - Many Subversion commands bail out in processing their command-line arguments if the command operation cannot be accomplished on a particular file. | ||