This procedure could be easily automated by a stupid script that does something like:
for REV in seq 0 NEWESTREV; do svn up -r REV cp updated-file repos-file if [ -z "`svn diff`" ]; then echo "found candidate rev $REV!"; fi svn revert . done JMTC, D. >-----Original Message----- >From: Ulrich Eckhardt [mailto:ulrich.eckha...@dominolaser.com] >Sent: Wednesday, October 05, 2011 3:38 PM >To: users@subversion.apache.org >Subject: Re: how to compare an exported file (or set of files) against the >repository? > >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 >utility. > > >> 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! > >Uli >*************************************************************************** >*********** >Domino Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland >Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932 >*************************************************************************** >*********** >Visit our website at http://www.dominolaser.com >*************************************************************************** >*********** >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 werden. >E-Mails können durch Dritte gelesen werden und Viren sowie >nichtautorisierte Änderungen enthalten. Domino Laser GmbH ist für diese >Folgen nicht verantwortlich. >*************************************************************************** >***********