Homesource Forums

Homeworld Source Editing Talk
It is currently Wed Mar 29, 2017 11:49 pm

All times are UTC - 5 hours




Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: Thu Jan 06, 2005 4:30 am 
Offline
coder
User avatar

Joined: Tue Dec 14, 2004 3:24 pm
Posts: 324
Location: UK (UTC+0)
When trying to svn commit some changes to the Macintosh project it fails due to <something> "not locked" or <something> "not up to date" even after doing a svn update. How do I fix this?

You have been bitten by one of the most useful features of Mac OS X: packages. Packages are a collection of files in a directory structure that appear, to the user, as a single file. For example, all applications on Mac OS X are packages which contain the actual executable file, xml configuration .plists, icons, localisation files etc., yet the user only perceives a single file which they can interact with. (In order to traverse the directory tree of a package you can either use Terminal or right-click on the bundle and select "Show Package Contents" and browse the contents in the Finder.)

The error you are getting is one of two things:

1) what was previously checked in as a file/directory is not what you have currently (a third-party may have converted from using a flat-file to a package or vice versa)
2) the directory is not the one that Subversion originally gave you, even though it may have exactly the same name

In both cases, the root cause is usually because you copied a new version of the package on top of the old, thinking it was just a flat file (which would otherwise work). This action caused the .svn subdirectory to disappear and so Subversion knows that this is a new directory tree and not just an amended one. An svn update will not resolve this since in the first case it is no longer sure how to deal with the directory/file mismatch and in the second the "new" directory tree is in the way.

Fixing this is a bit of a pain unfortunately as you have to either:

1) delete the new version; svn update to recover the original; copy over the new constituent files manually (hence leaving the original checked out directory tree intact)
2) svn delete the original and then svn add the new version (you may need to svn commit in between too as Subversion may otherwise get confused about state)

Having resync'd Subversion with the directory tree everything should be fine. For reference, packages currently used in the Mac Homeworld project are:

Homeworld.pbproj
Homeworld.xcode
SDLMain.nib

so beware of using the Finder to update these files with newer or alternate versions.

_________________
MacHomeworld | HomeworldSDL.org


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group