subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ulrich Eckhardt <>
Subject Re: how to compare an exported file (or set of files) against the repository?
Date Wed, 05 Oct 2011 13:38:27 GMT
Am 05.10.2011 14:49, schrieb Mertens, Bram:
> I have been unable to find an answer to this in the FAQ or the
> mailing list archives. I found one question that appears to be
> similar to what  I'm trying to achieve but it did not contain a
 > reply that solves my problem.

I haven't found the need for that yet, even though I'm prepared (see 
below) for the situation.

> I've got a set of files that were exported from a repository some
> time ago. The files have been moved around and some have been
> edited since.
> I would like to find out:
> a) what revision these files are from and

There are so-called keywords, which SVN can be made to replace in text 
files. You can for example tell it to fill in the URL and revision a 
file is checked out from. This can be used to attach some metadata to an 
exported source tree. Of course that doesn't help you know, unless 
someone already prepared for this case. Note that the revision of a file 
doesn't change if you change a different file, so it can't give you 
_The_ revision of the source tree. OTOH, there is no guarantee that you 
don't have an export from a mixed-revision working copy.

> b) changes have been made to it that may not be in the repository?

Find out where this was exported from, and check out that revision. Copy 
the export on top of it and compare, or use a recursive tree comparison 

> Is this possible without looping through all the revisions and
> calculating checksums? The problem with appraoch besides the time it
> would take is that it  would obviously not catch files that are not
 > 100% identical to the files in that revision.

If the source tree contains files from several different revisions, that 
will be the only (hard) way to go. However, I guess you can expect that 
the export was made from one revision. If you know the history of the 
according project a bit, you might be able to find the approximate 
revision it was checked out and from there search for the exact 
revision. Another hint might be hidden in modification timestamps.

BTW: The most efficient way is to check out an approximate revision and 
then use "svn up -r ..." to move to the next revision quickly. In 
particular you shouldn't use export instead of an incremental update.

Good luck!

Domino Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
Visit our website at
Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten bestimmt und
kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend,
falls Sie nicht der beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu
löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder anderweitig benutzt
E-Mails können durch Dritte gelesen werden und Viren sowie nichtautorisierte Änderungen
enthalten. Domino Laser GmbH ist für diese Folgen nicht verantwortlich.

View raw message