[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 an exported file (or set of files) against the repository?

From: Dominik Psenner <dpsenner_at_gmail.com>
Date: Wed, 5 Oct 2011 15:50:17 +0200

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.eckhardt_at_dominolaser.com]
>Sent: Wednesday, October 05, 2011 3:38 PM
>To: users_at_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.
>***************************************************************************
>***********
Received on 2011-10-05 15:51:04 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.