versioncontrol:subversionmissing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
versioncontrol:subversionmissing [2010/10/01 04:05] – Grammar nits GordonTetlowversioncontrol:subversionmissing [2022/10/07 03:01] (current) – Move bakeoff stuff under a single namespace KubilayKocak
Line 19: Line 19:
 svn: Not all required revisions are specified svn: Not all required revisions are specified
  
 +</code>
 +
 +Answer: Use the svn diff --old --new syntax:
 +
 +<code>
 +$ cd /usr/src/bin/cat
 +$ svn diff --old cat.c --new ^/releng/7.0/bin/cat/cat.c
 </code> </code>
  
Line 54: Line 61:
  
 This is a stupid as CVS is in that you cannot give its date output from ''%%cvs log%%'' as-is as an argument to "-D". This is a stupid as CVS is in that you cannot give its date output from ''%%cvs log%%'' as-is as an argument to "-D".
-  * Sean C. Farley < scf@%%FreeBSD%%.org > tells me that ''%%svn merge -cr325249 .%%'' does work.  (Sean thanks for the info!) [Though I still think the Subversion parser need a clue-by-four.]+  * Sean C. Farley < scf@%%FreeBSD%%.org > tells me that ''%%svn merge -cr325249 .%%'' does work.  (Sean thanks for the info!) [Though I still think the Subversion parser need a clue-by-four.] Answer: svn merge -c -r42 is equivalent to svn merge -c -42, which performs a [[http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.undo|reverse-merge]]. The above parsing error was fixed in http://svn.apache.org/viewvc?view=revision&revision=1036032 (fix released in 1.7.0).
  
-  - Even sillier is that if I checkout a tree and make several commits from within the tree, ''%%svn log%%'' will not show them.  An ''%%svn update%%'' must be done first.  This is really annoying - even more so when doing a merge.+  - Even sillier is that if I checkout a tree and make several commits from within the tree, ''%%svn log%%'' will not show them.  An ''%%svn update%%'' must be done first.  This is really annoying - even more so when doing a merge. Anwser: This is an FAQ: http://subversion.apache.org/faq.html#hidden-log
  
   - Subversion does not automatically expand keywords.   - Subversion does not automatically expand keywords.
Line 91: Line 98:
   - 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.  This is a major issue at $WORK...     * 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.  This is a major issue at $WORK...
 +
 +Answer: A workaround that offers a partial remedy is to check out a single working copy for the entire freebsd repository at depth empty:
 +
 +<code>
 +$ svn co --depth empty svn://svn.freebsd.org/base
 +$ cd base
 +</code>
 +
 +and then update desired branches to depth infinity:
 +
 +<code>
 +$ svn up --depth infinity head
 +$ svn up --depth infinity releng/9.1
 +</code>
 +
 +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 ''%%svn diff%%'' output alphabetically.   - Subversion does not sort files in ''%%svn diff%%'' output alphabetically.
Line 113: Line 136:
 Unfortunately, ''%%~/.subversion/config%%'' does not seem to offer any relief from this. Unfortunately, ''%%~/.subversion/config%%'' does not seem to offer any relief from this.
 (Well, you can set ''%%"diff-cmd=/usr/bin/diff"%%'' and rely on one's ''%%DIFF_OPTIONS%%'' environmental variable setting, but then diff'ing is slower than it needs to be in the "typical" case.) (Well, you can set ''%%"diff-cmd=/usr/bin/diff"%%'' and rely on one's ''%%DIFF_OPTIONS%%'' environmental variable setting, but then diff'ing is slower than it needs to be in the "typical" case.)
 +
 +Answer: This was fixed in 1.7.0. See the 'diff-extensions' option in ~/.subversion/config (to view an up-to-date config template: svn help --config-dir /tmp/conf; less /tmp/conf/config)
  
   - 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.  Couldn't we get something  more useful instead?  Number of source lines changed in that commit for instance. I don't see the benefit in this output.  Couldn't we get something  more useful instead?  Number of source lines changed in that commit for instance.
 +
 +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.
  • versioncontrol/subversionmissing.1285905947.txt.gz
  • Last modified: 2010/10/01 04:05
  • by GordonTetlow