svn:ignore - difference between Project and Repository?

J S Green
Posts: 31
Joined: Wed Apr 12, 2006 12:28 am
Location: UK

svn:ignore - difference between Project and Repository?

Postby J S Green » Fri May 12, 2006 10:42 pm

This is a split off the post "Modifying revision properties".

My original question was:

Another property that I would like to edit is the server-side "svn:ignore" property. I can edit the client side but not the server side. I currently have svn:ignore set on my 'trunk' folder and I cannot get rid of it.

and the reply from ivinnykov was:

Regarding server-side "svn:ignore" what do you mean? "svn:ignore" property is applied to folder and is shared. In order to edit these properties you need to select folder, select Team>Edit Properties in context menu and SVN Properties view will open. You will be able to select any property and in context menu select required action: Edit, Remove, etc.
In your case you just need to remove svn:ignore if there is only one value, or edit svn:ignore value and manually delete "trunk" occurance if there many ignored resources.

I would like to explain the exact symptoms I am experiencing.

If I look in the "Java" perspective at [Project Properties / Subversive SVN Info / svn:ignore], I see:

bin
.settings

Other ways to get this exact same list:

    * Igor's suggestion of using Team>Edit Properties in context menu of the project (that is, I right-click on the name of the project in the "Package Explorer").

    * 'svn proplist svn:ignore' from the command prompt, when I'm in the project folder.
I can edit this list and the changes are saved correctly.

But when I go to the "Subversive SVN Repository Exploring" perspective, right click on TRUNK and choose "Show Properties", then "svn:ignore", I see:

.project
build.xml
bin
lib

lib.zip

I cannot edit this list, only "Save Value to File" is available.

I think this list of resources may have been part of the ignore list when the project was originally "Shared" (this was done by someone other than me) and I cannot change it from the "Repository Exploring" perspective. It also does not change if I change the svn:ignore list of the project.

Any ideas for where I should investigate would be most welcome!

    ivinnykov
    Posts: 473
    Joined: Tue Jan 03, 2006 11:57 am
    Location: Kharkiv, Ukraine

    Postby ivinnykov » Mon May 15, 2006 3:46 pm

    Dear John,

    I should pay your attention on the fact that in SVN there are no concepts of server-side and client-side properties. Properties, as well as file/folder content, are versioned and you can use the same approaches for their tracking as for content. For example if someone changed properties for resource and commit it, this change will be reflected in the server, but it doesn't mean that it will be reflected in working copy until update.

    First of all we should be sure that we have a deal with the same resource locally and remotely:
    1. Switch to the Java view
    2. Select resource and in context menu select Properties
    3. Go to the Subversive SVN Info tab where you can see resource's URL
    4. Switch to the SVN Repositories view
    5. Select the same resource in the repository and in context menu select Show Properties. In view caption you will see resource's URL
    Are URLs in step 3 and 5 the same?

    If we have a deal with the same resource let's update working copy to the latest revision stored in the server. After update please check that revision in the repository and in working copy is the same. You can simply see it near project/folder name in the label decoration. Now please check properties. Are they different?

    If properties are different, let's make an experiment. Please add some property to working copy, them commit the change and check properties in the repository. Does your change applied to server?

    I'm waiting for results of this check. Thank you for your efforts.
    Best regards,
    Igor Vinnykov
    Polarion Team

    J S Green
    Posts: 31
    Joined: Wed Apr 12, 2006 12:28 am
    Location: UK

    Postby J S Green » Mon May 15, 2006 11:54 pm

    Hi Igor

    Wow. This test has revealed some interesting things for me. Thanks for the explanations.

    Unfortunately, it has also shown problems with Subversion and Subversive.

    Firstly the bit that works. I did the test you described and the URLs are exactly the same, so this is not a problem.

    I then tested what happens when I change properties on individual FILES. The properties are updated correctly in the repository - perfect. HOWEVER, I discovered that there is no way to look at property history or to compare the properties of different revisions (or I should say, I could not work out how to do it) - something for the 'wish list'?

    I then tried to commit some changes to properties of a FOLDER - for example 'svn:ignore'. The 'Team Synchronizing' perspective shows that the folder has changed and must be committed (the blue arrow pointing to the right). However, when I try to commit, I get a very odd error message:

    Unresolved Conflict
    ---
    One or more of selected resources have unresolved conflicts. Go to the Synchronize View and do manual merge to resolve them.
    ---
    OK
    ---

    There are no conflicts shown in the 'Team Synchronizing', except on some other files I'm working on that I am not trying to commit (I just get the context menu for my one folder and choose Commit...).

    Then I thought I'd try something 'clever'. I started my command line and changed to the parent of the folder I wanted to 'commit', then type 'svn commit foldername'. I get this error:

    svn: Commit failed (details follow):
    svn: Your file or directory '.' is probably out-of-date
    svn: The version resource does not correspond to the resource within the transaction. Either the requested version resource is out of date (needs to be updated), or the requested version resource is newer than the transaction root (restart the commit).

    I thought that maybe this strange behaviour is happening because there were FILES inside the FOLDER, so I created a brand new, empty folder and tried again. This time, everything works - I can change the folder properties and commit the changes. As soon as I put a file in the folder, it breaks.

    It looks like there's a problem with Subversion (1.3.0), not Subversive. Do you agree?

    John

    ivinnykov
    Posts: 473
    Joined: Tue Jan 03, 2006 11:57 am
    Location: Kharkiv, Ukraine

    Postby ivinnykov » Tue May 16, 2006 1:34 pm

    Dear John,

    The problem with unresolved conflict during folder commit can be resolved by updating the project before the commit. In SVN each change causes revision changes for all parent folders. By default we don't display folder's update in Synchronize view, but nevertheless they have a place. In the Synchronize view options menu (button down) you should enable option Report revision change for folders. If you will enable this option you will see what happens underground and when you should perform update.

    I suppose that as soon as you will update project before commit of folder properties change, the issue will be resolved. But there is a big question regarding console report "The version resource does not correspond to the resource within the transaction...". Usually it means that by some reason the working copy is broken.

    Your "wish list" is good and I agree that it should be covered if possible technically. In any case I have posted it to our tracker as a future task.
    Best regards,

    Igor Vinnykov

    Polarion Team

    J S Green
    Posts: 31
    Joined: Wed Apr 12, 2006 12:28 am
    Location: UK

    Postby J S Green » Tue May 16, 2006 1:48 pm

    Hallo Igor

    Excellent - the problem is solved!

    As soon as I switched on Report revision change for folders, I could see all the updates that I missed. I was not updating the entire project because I was not feeling very comfortable about what I would be updating (I still don't know what was updated as I cannot do a properties diff in the GUI). As a result, there was a lot of missing folder information which was causing conflicts that were not displayed in the GUI.

    I now submitted the required svn:ignore changes and I am very pleased with the solution you provided! I hope others in the community find it useful as well.

    John


    Return to “Polarion Subversive - Eclipse Client for SVN”

    Who is online

    Users browsing this forum: No registered users and 3 guests