[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: some subversion issues

From: Ryan Schmidt <subversion-2008b_at_ryandesign.com>
Date: Tue, 27 May 2008 04:24:57 -0500

On May 27, 2008, at 02:38, maheshwar singh wrote:

> I use subversion as a versioning system for all our sales content.
> The content usually includes materials like PPT, PDF, DOC etc.
> I'm running into a few issues and have pasted them here, hoping for
> a response.
> I know subversion is optimised for this workflow, but want to use
> it as manual backups is causing a lot of grief.
>
> Sorry for the long email
>
> Q1:
> Does Subversion allow non-linear editing of versions
> create v1 -> put in VMS v1
> edit v1 to make v2 -> put in VMS v2
> edit v2 to make v3 -> put in VMS v3
> realise v3 is a mistake; get v2 from VMS to edit
> so now system looks like: Local version v2 ; VMS version v3
> edit v2 to make v4 (or a new v3 depending on semantics) -> put in VMS
> **after adding to subversion I cannot see this version that I have
> added - where is it? I cannot get it
> if i look at history i see the 3 original versions - there is NO
> version 4 & the version 3 is the original version 3;
> if i say Get Latest Version or get v3 I get the original v3

What's "VMS"? Is that your Subversion repository?

I'm really going to need to see some actual svn commands here, their
output, what you expected to get instead, etc. Your version of svn
and what OS you're running on are important too for our comprehension.

> Q2.
> How can i lock a file or make other users aware that the file has
> been checked out by User A.
> I know subversion does not allow locking, i'm looking for any
> mechanism available that will warn User 1 that User 2 has checked
> out the file, User 1 can then call User 2 about the changes.

Subversion does offer locking. Here's the chapter in the book:

http://svnbook.red-bean.com/en/1.4/svn.advanced.locking.html

> Q3.
> I delete a file from the local system due to a mistake, is there
> any way i can get a list of objects that exist in the subversion
> repository and not in the local system.

You can use "svn status" in your working copy to see what files have
been scheduled for removal (e.g. you used "svn rm foo") and also
files which Subversion finds to be unexpectedly missing (e.g. you
used "rm foo").

> Q4.
> When 2 users are have requested for latest version of same document
> and working on 2 different changes
> Example in a Sales Revenue report
> User 1 - Add Margin to the report
> User 2 - Add Discount to the report
> Both change are check in at the same time by the respective users.
> Only one user change is reflected and the other user change is
> lost. Is subversion able to resolve the conflict and allow users to
> Version all changes

The first user to commit will have the commit accepted. The second
user will be told their working copy is out of date. The second user
will need to "svn update". At this point Subversion will try to merge
the changes from the repository into the working copy. If the file in
question is a text file, Subversion will often succeed. But if the
file is binary, Subversion will not attempt a merge, and will just
leave you with the original file, your changed file, and the new file
from the repository, and will mark the file as being in conflict. The
second user now opens these three versions of the file and manually
resolves the conflict. For binary files, it's best if users do not
simultaneously edit, since manually merging binary files can be
tough. Locking files beforehand, and using svn:needs-lock, can
minimize simultaneous editing.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-05-27 11:25:44 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.