Re: Annoying out-of-date error
From: Tena Sakai <tsakai_at_gallo.ucsf.edu>
Date: Mon, 23 Nov 2009 13:28:41 -0800
I am going to tell you something I have seen, but it may or may not be related to your problem. As such you need to take what I tell you with a few grains of salt.
For about 6 months, I worked in an environment that subversion was broken. (The guy broke it had no idea what he was doing and then left for a new job.) I was developing a medium size program, which I managed without version management software. The way I did it was (sorry, I hadn't mentioned that I use linux) to break a program into a bunch of subprograms and check each. I had, for example, a subprogram named foo, and as I changed the code, a new file was made by name foo.1, foo.2, and so forth. I made hard link to the latest subprogram (say, foo.17) and called it foo. Ie.,
If I wanted to go back to the previous version, all I had to do was to link foo to, say, foo.16.
The project got done and I went on to fix subversion. When that got done, I tried to check-in the project I finished. Subversion was upset because of my hard links. When I got rid of hard links, checking-in had no problem.
What I suggest is to experiment with a completely separate (and new) widget and see what happens if you put your code outside of the folder/directory. You might find some clue by seeing the behavior. Or not.
On 11/23/09 12:54 PM, "Israel Brewster" <israel_at_frontierflying.com> wrote:
On Nov 23, 2009, at 11:17 AM, Tena Sakai wrote:
> All my other files work fine, it's just the dashboard widget that has issues.
That's a good question, unfortunately I am not sure. The "widget" itself (the OS sees it as a single file) is actually a folder containing a number of different files. The particular file I am having difficulty with (and about the only one I edit frequently) is a simple java script file (.js). As far as I know, there is nothing special about this file. That said, however, since subversion sees the top-level widget project file as a folder (as it should), and puts the .svn directory into this "folder" (and any sub folders) it is possible that the IDE is somehow messing with the contents of the .svn folder when it saves. It all looks normal to me, but I could be missing something. Dunno.
On 11/23/09 11:02 AM, "Israel Brewster" <israel_at_frontierflying.com> wrote:
First off, I know this sort of thing has been asked before, but in my searching none of the answers have actually addressed my particular issue, at least not in full. Allow me to elaborate.
I am working on a Dashboard Widget in OS X, which I have under version control (along with an associated project) using Sourceforge's SVN server. I am the only one working on the project, and, in fact, the only one that even has checkin access to the repository. I have successfully checked in several revisions of my project.
This morning I went to check in another change to the widget (fairly simple, just a few lines changed in one .js file) and got a "Your file or directory is probably out-of-date" error. The commonly accepted solution for this (from what I've found) is to run an update, or in some extreme cases, to checkout a new working copy. Sure enough, running a 'svn up' did fix the error, BUT (and this appears to be where my problem differs from what I have found online) it also left me with a non-functional working copy, whereas before the code was working fine.
The problem here is that somehow SVN got confused and is declaring a conflict between the line as I had it at the last submit, and the now modified line. The conflict markers it put in the source naturally broke the source. Of course, the solution is simple enough - delete the last revision lines and markers, run a svn resolved, and re-commit, which works. The only problem is having to do this every couple of revisions, when apparently subversion looses track of the fact that this is a new revision I am submitting. All my other files work fine, it's just the dashboard widget that has issues. How can I fix this? Thanks.
P.S. In case I am unclear about exactly what is occurring here, let me give you a basic example. Say I have a file with two lines:
this is line one
I do a 'svn ci', and the file is successfully submitted to the repository as revision 21 (for example). I now change one of the lines so the file looks like this:
changed line one
and attempt to commit the change (again, I am the only one with access, so there is no way anyone else has submitted another change). Upon issuing the checkin command, I get the out-of-date error. I then run a svn up. This brings down a copy of the file, indicating that there are conflicts, and tells me I have successfully updated to revision 21 (which should be what I was already at). Upon looking at the file, I now see something like the following:
So supposedly my modifications are conflicting with the way the file was before I modified it, rather than just seeing my modifications as a new revision (which is what they are). What is going on here? Thanks for any assistance that can be provided.
Please start new threads on the <users_at_subversion.apache.org> mailing list.
This is an archived mail posted to the Subversion Users mailing list.