You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Leonardo Azize Martins <la...@gmail.com> on 2010/06/10 18:50:56 UTC

svn move directory will create a new revision for every file inside this directory?

Hi,

The command below will create a new revision for directory SRC_REP_DIR?
And for files inside this directory? Had a new revision too?

"svn move SRC_REP_DIR DST_REP_DIR"

Command above use repository not WC.


Regards,
Leo

Re: svn move directory will create a new revision for every file inside this directory?

Posted by Ulrich Eckhardt <ec...@satorlaser.com>.
On Friday 11 June 2010, Leonardo Azize Martins wrote:
> It does not create a new revision for files inside directory that was
> moved.

Yes, the references in that directory still point to the revision where those 
files were last changed.

> So, if I want to get FILE_A in REV 2 from path /DIR_B/DIR_A/FILE_A, I
> must use PEGREV 4

I don't think so. The directory DIR_A at revision 4 actually refers to some 
data that was created in revision 2. You don't need any peg revisions for 
anything there.

OTOH, I don't even know what you want to do, so it's hard to give advise. If 
you're not just curious to understand how SVN works, it would be a better 
approach to tell the actual problem instead of asking for a specific solution 
that might be a sub-optimal one.

Cheers!

Uli



-- 
ML: http://subversion.tigris.org/mailing-list-guidelines.html
FAQ: http://subversion.tigris.org/faq.html
Docs: http://svnbook.red-bean.com/

Sator Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932

**************************************************************************************
Sator 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.satorlaser.de/>
**************************************************************************************
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. Sator Laser GmbH ist für diese Folgen nicht verantwortlich.
**************************************************************************************

RE: svn move directory will create a new revision for every file inside this directory?

Posted by Ul...@elektrobit.com.
Hi,

> -----Original Message-----
> From: Leonardo Azize Martins [mailto:lazize@gmail.com]
> Sent: Friday, June 11, 2010 2:16 PM
> To: Bob Archer
> Cc: users@subversion.apache.org
> Subject: Re: svn move directory will create a new revision for every file inside
> this directory?
> 
> Hi Bob,
> 
> You have already answered my question.
> It does not create a new revision for files inside directory that was moved.

Actually, when you check out a fresh working copy, you should see that all files are at the same revision (4, in this case). 

> So, if I want to get FILE_A in REV 2 from path /DIR_B/DIR_A/FILE_A, I
> must use PEGREV 4

I'm not quite getting what you're trying to do. 

You should be able to tell svn that you want this file, as it was in rev. 2 - it should automatically follow the trail back and hand you the correct state.

Best regards,

Ullrich Jans

-- 
Ullrich Jans, Specialist, IT-A
Phone: +49 9131 7701-6627, mailto:ullrich.jans@elektrobit.com 
Fax: +49 9131 7701-6333, www.elektrobit.com

Elektrobit Automotive GmbH, Am Wolfsmantel 46, 91058 Erlangen, Germany
Managing Directors: Otto Fößel, Jarkko Sairanen
Register Court Fürth HRB 4886 




----------------------------------------------------------------
Please note: This e-mail may contain confidential information
intended solely for the addressee. If you have received this
e-mail in error, please do not disclose it to anyone, notify
the sender promptly, and delete the message from your system.
Thank you.

RE: svn move directory will create a new revision for every file inside this directory?

Posted by "Cooke, Mark" <ma...@siemens.com>.
> 
> You have already answered my question.
> It does not create a new revision for files inside directory 
> that was moved.
> 
> So, if I want to get FILE_A in REV 2 from path /DIR_B/DIR_A/FILE_A, I
> must use PEGREV 4
> 
While I think you have answered the question it still sounds like you misunderstand how subversion handles revisions / version numbers.  A revision applies to the state of the _whole_repository_ at a point in the revision history.  There are no file-level version / revision numbers in subversion, only whole-repository revisions (this is one of the reasons why we use separate repositories for different projects).  It makes sense when you think that what you really want is a set of files that compile together...

So if a file is changed between r99/r100 and again at r105 /r106 then (I believe) any peg revision in the range 100..105 will be valid and return the same result.

As Bob asked earlier, have you read the first few chapters of the Red Book?

~ mark c

> 2010/6/10 Bob Archer <Bo...@amsi.com>:
> >> Thanks for you replay.
> >>
> >> I heve the structure below:
> >>
> >> DIR_A - Rev 1
> >> ----> File_A - Rev 2
> >> DIR_B - Rev 3
> >>
> >> If I move DIR_A to inside DIR_B the structure will be as:
> >>
> >> DIR_B - Rev 3
> >> ---->DIR_A - Rev 4
> >> ---->----> File_A - Rev 2
> >>
> >> So, the directory has a new revision (Rev 4), but files inside this
> >> directory does not ( Rev 2).
> >>
> >> If i try to get this file from:
> >>  - REV: 2
> >>  - PEGREV: 2
> >>  - Path: DIR_B/DIR_A/FILE_A
> >> svn show error, because this path is not valid in PEGREV 2.
> >>
> >> Regards,
> >> Leo
> >
> > Yes... you are 100% correct. What is your question?
> >
> > I think you may be making the mistake of expecting the each 
> file is revisioned separately. That is not the case. In 
> rev2-4 your File_A is the same. however, in rev4 its path in 
> the repo is different than in rev2. But, I'm babbling without 
> really knowing what your question is. Have you read the first 
> chapter of the doc redbook? 
> http://svnbook.red-bean.com/nightly/en/svn-book.html
> >
> > BOb
> >
> >
> >>
> >>
> >>
> >> 2010/6/10 Bob Archer <Bo...@amsi.com>:
> >> >> The command below will create a new revision for 
> directory SRC_REP_DIR?
> >> >> And for files inside this directory? Had a new revision too?
> >> >>
> >> >> "svn move SRC_REP_DIR DST_REP_DIR"
> >> >>
> >> >> Command above use repository not WC.
> >> >
> >> > That command is going to basically going to be the same as:
> >> >
> >> > svn copy SRC_REP_DIR DST_REP_DIR
> >> > svn delete SRC_REP_DIR
> >> >
> >> > Yes... a new revision will be created. The new path will 
> be in HEAD and
> >> the old path will not be.
> >> >
> >> > BOb
> >> >
> >> >
> >
> 

Re: svn move directory will create a new revision for every file inside this directory?

Posted by Leonardo Azize Martins <la...@gmail.com>.
Hi Bob,

You have already answered my question.
It does not create a new revision for files inside directory that was moved.

So, if I want to get FILE_A in REV 2 from path /DIR_B/DIR_A/FILE_A, I
must use PEGREV 4

Regards


2010/6/10 Bob Archer <Bo...@amsi.com>:
>> Thanks for you replay.
>>
>> I heve the structure below:
>>
>> DIR_A - Rev 1
>> ----> File_A - Rev 2
>> DIR_B - Rev 3
>>
>> If I move DIR_A to inside DIR_B the structure will be as:
>>
>> DIR_B - Rev 3
>> ---->DIR_A - Rev 4
>> ---->----> File_A - Rev 2
>>
>> So, the directory has a new revision (Rev 4), but files inside this
>> directory does not ( Rev 2).
>>
>> If i try to get this file from:
>>  - REV: 2
>>  - PEGREV: 2
>>  - Path: DIR_B/DIR_A/FILE_A
>> svn show error, because this path is not valid in PEGREV 2.
>>
>> Regards,
>> Leo
>
> Yes... you are 100% correct. What is your question?
>
> I think you may be making the mistake of expecting the each file is revisioned separately. That is not the case. In rev2-4 your File_A is the same. however, in rev4 its path in the repo is different than in rev2. But, I'm babbling without really knowing what your question is. Have you read the first chapter of the doc redbook? http://svnbook.red-bean.com/nightly/en/svn-book.html
>
> BOb
>
>
>>
>>
>>
>> 2010/6/10 Bob Archer <Bo...@amsi.com>:
>> >> The command below will create a new revision for directory SRC_REP_DIR?
>> >> And for files inside this directory? Had a new revision too?
>> >>
>> >> "svn move SRC_REP_DIR DST_REP_DIR"
>> >>
>> >> Command above use repository not WC.
>> >
>> > That command is going to basically going to be the same as:
>> >
>> > svn copy SRC_REP_DIR DST_REP_DIR
>> > svn delete SRC_REP_DIR
>> >
>> > Yes... a new revision will be created. The new path will be in HEAD and
>> the old path will not be.
>> >
>> > BOb
>> >
>> >
>

RE: svn move directory will create a new revision for every file inside this directory?

Posted by Bob Archer <Bo...@amsi.com>.
> Thanks for you replay.
> 
> I heve the structure below:
> 
> DIR_A - Rev 1
> ----> File_A - Rev 2
> DIR_B - Rev 3
> 
> If I move DIR_A to inside DIR_B the structure will be as:
> 
> DIR_B - Rev 3
> ---->DIR_A - Rev 4
> ---->----> File_A - Rev 2
> 
> So, the directory has a new revision (Rev 4), but files inside this
> directory does not ( Rev 2).
> 
> If i try to get this file from:
>  - REV: 2
>  - PEGREV: 2
>  - Path: DIR_B/DIR_A/FILE_A
> svn show error, because this path is not valid in PEGREV 2.
> 
> Regards,
> Leo

Yes... you are 100% correct. What is your question? 

I think you may be making the mistake of expecting the each file is revisioned separately. That is not the case. In rev2-4 your File_A is the same. however, in rev4 its path in the repo is different than in rev2. But, I'm babbling without really knowing what your question is. Have you read the first chapter of the doc redbook? http://svnbook.red-bean.com/nightly/en/svn-book.html

BOb


> 
> 
> 
> 2010/6/10 Bob Archer <Bo...@amsi.com>:
> >> The command below will create a new revision for directory SRC_REP_DIR?
> >> And for files inside this directory? Had a new revision too?
> >>
> >> "svn move SRC_REP_DIR DST_REP_DIR"
> >>
> >> Command above use repository not WC.
> >
> > That command is going to basically going to be the same as:
> >
> > svn copy SRC_REP_DIR DST_REP_DIR
> > svn delete SRC_REP_DIR
> >
> > Yes... a new revision will be created. The new path will be in HEAD and
> the old path will not be.
> >
> > BOb
> >
> >

Re: svn move directory will create a new revision for every file inside this directory?

Posted by Leonardo Azize Martins <la...@gmail.com>.
Hi Bob,

Thanks for you replay.

I heve the structure below:

DIR_A - Rev 1
----> File_A - Rev 2
DIR_B - Rev 3

If I move DIR_A to inside DIR_B the structure will be as:

DIR_B - Rev 3
---->DIR_A - Rev 4
---->----> File_A - Rev 2

So, the directory has a new revision (Rev 4), but files inside this
directory does not ( Rev 2).

If i try to get this file from:
 - REV: 2
 - PEGREV: 2
 - Path: DIR_B/DIR_A/FILE_A
svn show error, because this path is not valid in PEGREV 2.

Regards,
Leo



2010/6/10 Bob Archer <Bo...@amsi.com>:
>> The command below will create a new revision for directory SRC_REP_DIR?
>> And for files inside this directory? Had a new revision too?
>>
>> "svn move SRC_REP_DIR DST_REP_DIR"
>>
>> Command above use repository not WC.
>
> That command is going to basically going to be the same as:
>
> svn copy SRC_REP_DIR DST_REP_DIR
> svn delete SRC_REP_DIR
>
> Yes... a new revision will be created. The new path will be in HEAD and the old path will not be.
>
> BOb
>
>

RE: svn move directory will create a new revision for every file inside this directory?

Posted by Bob Archer <Bo...@amsi.com>.
> The command below will create a new revision for directory SRC_REP_DIR?
> And for files inside this directory? Had a new revision too?
> 
> "svn move SRC_REP_DIR DST_REP_DIR"
> 
> Command above use repository not WC.

That command is going to basically going to be the same as:

svn copy SRC_REP_DIR DST_REP_DIR
svn delete SRC_REP_DIR

Yes... a new revision will be created. The new path will be in HEAD and the old path will not be.

BOb