You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Matheus Leite <ma...@gmail.com> on 2005/06/11 16:12:42 UTC

General question about webdav and autoversioning

Hello,
I am thinking of creating a autoversioned SVN repository using webdav
and a mounted network drive. However I would like to know the
following:

- SVN normally remembers file renaming and moving accross revisions.
Does the same happens with an autoversioned repository? I am afraid
that, if someone renames a file, that would be equivalent to deleting
and adding a new file, and this could cause a lot of headache.
- What happens if there is a conflict when an autoversioned repository
tries to commit? For example, if someone had a local working copy of
the repository and commited separatedly, this could potentially cause
a conflict.

Thanks everyone

Matheus

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: General question about webdav and autoversioning

Posted by Toby Johnson <to...@etjohnson.us>.
Matheus Leite wrote:

>I am using WebDrive, and to test its behavior, I renamed a file and
>issued a "svn log --verbose" command. Below is the output. It seems
>the file got deleted, then added again. Does anyone else has had this
>experience with WebDrive?
>
>Autoversioning commit:  a non-deltaV client made a change to
>/
>------------------------------------------------------------------------
>r3 | matheus | 2005-06-11 03:15:19 -0300 (sáb, 11 jun 2005) | 2 lines
>Changed paths:
>   D /foo.doc
>   A /bar.doc (from foo.doc:2)
>  
>
Subversion does not currently have true "rename" support. What it does 
is delete the old file, then add a new file "with history". This means 
that you can inspect the new file's history and see everything that 
happened to it under the old filename. For all intents and purposes, 
this is really the same thing as a rename; Subversion just doesn't 
really do a good job of hiding those details from the user.

That's what the "bar.doc (from foo.doc:2)" means: it added a new file, 
but with all the history of foo.doc at Revision 2. So yes, your client 
correctly performed a file rename. Do an "svn log" on bar.doc and you 
will see all its history.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: General question about webdav and autoversioning

Posted by Ben Collins-Sussman <su...@collab.net>.
On Jun 12, 2005, at 5:13 AM, Max Bowsher wrote:

> Chris Jensen wrote:
>
>>>> Could you clarify? I'm not sure exactly what you are asking.
>>>>
>>>
>>>
>>> Suppose I have a repositoy on a mounted drive with autoversion
>>> enabled. I could also checkout a separate working copy and make
>>> changes/commit files manually -- for example, making a change to
>>> foo.doc. Then, if someone edits foo.doc on the network drive, the
>>> autocommit *could* fail because the revision is not up to date.
>>>
>>> I guess I should check this by myself, anyway :)
>>>
>>
>> Isn't this what locking in 1.2 is supposed to solve?
>> If the webdav client is well behaved then it should get a lock on
>> foo.doc when it's opened for editing, and then the user trying to  
>> commit
>> from the working copy should be prevented because they don't have  
>> a lock?
>> Isn't that how it works?
>>
>
> But, if you consider the case of a general text editor, and a  
> webdav mount, the webdav components are unaware of the editing  
> session, so locking cannot occur.


Chris:  yes, this is why WebDAV has the LOCK/UNLOCK http methods.

Every webdav client behaves differently.  The file may be locked when  
it is opened for editing via webdav, or it may not be.  You'll have  
to experiment with different clients.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: General question about webdav and autoversioning

Posted by Max Bowsher <ma...@ukf.net>.
Chris Jensen wrote:
>>> Could you clarify? I'm not sure exactly what you are asking.
>>
>>
>> Suppose I have a repositoy on a mounted drive with autoversion
>> enabled. I could also checkout a separate working copy and make
>> changes/commit files manually -- for example, making a change to
>> foo.doc. Then, if someone edits foo.doc on the network drive, the
>> autocommit *could* fail because the revision is not up to date.
>>
>> I guess I should check this by myself, anyway :)
>
> Isn't this what locking in 1.2 is supposed to solve?
> If the webdav client is well behaved then it should get a lock on
> foo.doc when it's opened for editing, and then the user trying to commit
> from the working copy should be prevented because they don't have a lock?
> Isn't that how it works?

But, if you consider the case of a general text editor, and a webdav mount, 
the webdav components are unaware of the editing session, so locking cannot 
occur.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: General question about webdav and autoversioning

Posted by Chris Jensen <cj...@edex.com.au>.
>> Could you clarify? I'm not sure exactly what you are asking.
> 
> 
> Suppose I have a repositoy on a mounted drive with autoversion
> enabled. I could also checkout a separate working copy and make
> changes/commit files manually -- for example, making a change to
> foo.doc. Then, if someone edits foo.doc on the network drive, the
> autocommit *could* fail because the revision is not up to date.
> 
> I guess I should check this by myself, anyway :)

Isn't this what locking in 1.2 is supposed to solve?
If the webdav client is well behaved then it should get a lock on 
foo.doc when it's opened for editing, and then the user trying to commit 
from the working copy should be prevented because they don't have a lock?
Isn't that how it works?

Re: General question about webdav and autoversioning

Posted by Matheus Leite <ma...@gmail.com>.
2005/6/11, Max Bowsher <ma...@ukf.net>:
> Matheus Leite wrote:
> > Hello,
> > I am thinking of creating a autoversioned SVN repository using webdav
> > and a mounted network drive. However I would like to know the
> > following:
> >
> > - SVN normally remembers file renaming and moving accross revisions.
> > Does the same happens with an autoversioned repository? I am afraid
> > that, if someone renames a file, that would be equivalent to deleting
> > and adding a new file, and this could cause a lot of headache.
> 
> It all depends on what operations the specific webdav client sends. Most
> good webdav clients will properly do the operation as a move.

I am using WebDrive, and to test its behavior, I renamed a file and
issued a "svn log --verbose" command. Below is the output. It seems
the file got deleted, then added again. Does anyone else has had this
experience with WebDrive?

Autoversioning commit:  a non-deltaV client made a change to
/
------------------------------------------------------------------------
r3 | matheus | 2005-06-11 03:15:19 -0300 (sáb, 11 jun 2005) | 2 lines
Changed paths:
   D /foo.doc
   A /bar.doc (from foo.doc:2)

Autoversioning commit:  a non-deltaV client made a change to
/bar.doc
------------------------------------------------------------------------


> 
> > - What happens if there is a conflict when an autoversioned repository
> > tries to commit? For example, if someone had a local working copy of
> > the repository and commited separatedly, this could potentially cause
> > a conflict.
> 
> Could you clarify? I'm not sure exactly what you are asking.

Suppose I have a repositoy on a mounted drive with autoversion
enabled. I could also checkout a separate working copy and make
changes/commit files manually -- for example, making a change to
foo.doc. Then, if someone edits foo.doc on the network drive, the
autocommit *could* fail because the revision is not up to date.

I guess I should check this by myself, anyway :)

> 
> Max.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 
> 


-- 
------------------------------
Matheus Costa Leite
matheus@mindsatwork.com.br
 
Minds at Work
Tecnologia da Informação
------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: General question about webdav and autoversioning

Posted by Max Bowsher <ma...@ukf.net>.
Toby Johnson wrote:
> Max Bowsher wrote:
>
>> Matheus Leite wrote:
>>
>>> What happens if there is a conflict when an autoversioned repository
>>> tries to commit? For example, if someone had a local working copy of
>>> the repository and commited separatedly, this could potentially cause
>>> a conflict.
>>
>>
>> Could you clarify? I'm not sure exactly what you are asking.
>
> Such as:
>
> * User A opens foo.c from a webdav-mounted folder using a text editor
> and begins to edit the file.
> * User B checks out foo.c, makes a change, and checks it back in using
> the svn command-line client.
> * User A then tries to save the changes he has made to foo.c in the
> meantime.

In that case, I suspect User B's changes would be silently undone by User 
A's save.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: General question about webdav and autoversioning

Posted by Toby Johnson <to...@etjohnson.us>.
Max Bowsher wrote:

> Matheus Leite wrote:
>
>> What happens if there is a conflict when an autoversioned repository
>> tries to commit? For example, if someone had a local working copy of
>> the repository and commited separatedly, this could potentially cause
>> a conflict.
>
>
> Could you clarify? I'm not sure exactly what you are asking.

Such as:

* User A opens foo.c from a webdav-mounted folder using a text editor 
and begins to edit the file.
* User B checks out foo.c, makes a change, and checks it back in using 
the svn command-line client.
* User A then tries to save the changes he has made to foo.c in the 
meantime.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: General question about webdav and autoversioning

Posted by Max Bowsher <ma...@ukf.net>.
Matheus Leite wrote:
> Hello,
> I am thinking of creating a autoversioned SVN repository using webdav
> and a mounted network drive. However I would like to know the
> following:
>
> - SVN normally remembers file renaming and moving accross revisions.
> Does the same happens with an autoversioned repository? I am afraid
> that, if someone renames a file, that would be equivalent to deleting
> and adding a new file, and this could cause a lot of headache.

It all depends on what operations the specific webdav client sends. Most 
good webdav clients will properly do the operation as a move.

> - What happens if there is a conflict when an autoversioned repository
> tries to commit? For example, if someone had a local working copy of
> the repository and commited separatedly, this could potentially cause
> a conflict.

Could you clarify? I'm not sure exactly what you are asking.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org