[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: How to compare working copy file with older version of that file?

From: Grant Edwards <grante_at_visi.com>
Date: Fri, 30 May 2008 15:44:33 +0000 (UTC)

On 2008-05-30, Les Mikesell <lesmikesell_at_gmail.com> wrote:

>> It appears from the log that I committed both the "copy"
>> operation that created the branch and the additions of the new
>> files in a single "commit". Is that illegal?
>
> If you copy workspace -> URL

I'm pretty sure I didn't do that (I wasn't aware you could do
that).

> you can get changes in the copy that aren't committed anywhere
> else - and sometimes you might want that.

I'm sorry, I don't understand what means (nor how it relates to
the question).

>> I guess I can create a new branch from the trunk and re-add
>> the current versions of the new files. Assuming that new
>> branch isn't broken, I'll at least have access to revisions
>> from this point forward. I won't have history on the added
>> files prior to today, but by access to old revs of those files
>> isn't really working anyway.
>
> If you expect the start of a branch to have continuous history
> back through the trunk before the branch was created, you need
> to either commit all changes back to the trunk before copying
> the workspace to a branch or create the branch by copying a
> trunk revision instead of the workspace.

The files that were copied from the trunk to the branch do have
continuous history back through the trunk before the branch was
created.

I'll try to explain the problem more clearly:

The problem is with the new files that were added when the
branch was created.

The new files that were added don't have history prior to the
point where they were added. Nobody expects them to -- except,
apparently, the "svn" command line client.

IOW, the svn command is failing because it can't find versions
of files prior to the point where they were added to svn:

   $ svn log -v sslStartup.c
   
   ------------------------------------------------------------------------
   r2065 | grante | 2008-05-22 18:00:28 -0500 (Thu, 22 May 2008) | 2 lines
   Changed paths:
      M /ecos/ecosapps/branches/MatrixSSL/sslStartup.c
   
   Handle case where DH support isn't included in
   crypto lib.
   ------------------------------------------------------------------------
   r1973 | grante | 2008-05-06 13:05:23 -0500 (Tue, 06 May 2008) | 3 lines
   Changed paths:
      A /ecos/ecosapps/branches/MatrixSSL (from /ecos/ecosapps/trunk:1972)
   [...]
      A /ecos/ecosapps/branches/MatrixSSL/sslStartup.c
   
   Branch in which MatrixSSL/SSH incorporation is being done.

   
   
   $ svn cat -r 2064 sslStartup.c
   
   ------------------------------------------------------------------------
   svn: File not found: revision 1972, path '/ecos/ecosapps/trunk/sslStartup.c'

The file was added to a branch in rev 1973. When I try to
cat or compare with any rev other than the current rev using
the "-r" option, svn kacks becaus it can't find the file in the
trunk in rev 1972. The file never existed (and still doesn't
exist) in the trunk. The file never existed at all prior to
revision 1973. Yet, svn insists on trying to find the file in
revision 1972 of the trunk.

If I do a "cat -r 2065" sslStartup.c, that works fine because
I'm asking for the current version of the file. Doing a "cat -r"
or "diff -r" on any older version fails.

-- 
Grant Edwards                   grante             Yow! for ARTIFICIAL
                                  at               FLAVORING!!
                               visi.com            
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-05-30 17:45:11 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.