There now, let’s not be completely fucking retarded.

Kalle-Alms-MacBook-Pro:trunk me$ svn st
?       build
?       universe.orig
?       scratchpad.rtf
M       asynchro.xcodeproj/user.perspectivev3
M       asynchro.xcodeproj/project.pbxproj
M       asynchro.xcodeproj/user.pbxuser
?       Classes/multilineTableViewController.h
?       Classes/multilineTableViewController.m
M       Classes/gridreaderViewController.h
M       Classes/gridreaderViewController.m
M       Classes/mgXMLWorld.h
M       Classes/mgXMLWorld.m
!       Classes/MultilineTableViewController.h
!       Classes/MultilineTableViewController.m
?       tavern/world.xml
?       universe/uni.jpg-files
M       asynchro-Info.plist
?       examples/stiles

Oh, right, I renamed that “MultilineTableViewController” to “multilineTableViewController” (lowercase M) because everything else has lower-case-initial-letter.

Kalle-Alms-MacBook-Pro:trunk me$ svn rm Classes/MultilineTableViewController.h
D         Classes/MultilineTableViewController.h
Kalle-Alms-MacBook-Pro:trunk me$ svn rm Classes/MultilineTableViewController.m
D         Classes/MultilineTableViewController.m

Great! Let’s add the new lower-case one to SVN now while at it…

Kalle-Alms-MacBook-Pro:trunk me$ svn add Classes/mult*tab**tab**tab**beep**beep*

Hm?

Kalle-Alms-MacBook-Pro:trunk me$ svn add Classes/*tab**tab*
.DS_Store                     gridreaderViewController.h    mgImageSourceRequest.m        mgScrollView.m                muddyGrid.m
.svn/                         gridreaderViewController.m    mgImageView.h                 mgWindow.h                    tile.h
UIImage+Scaling.h             gridreaderViewController.xib  mgImageView.m                 mgWindow.m                    tile.m
UIImage+Scaling.m             mg2DTileSet.h                 mgMinimap.h                   mgXMLParser.h                 worldViewController.h
fileIO.h                      mg2DTileSet.m                 mgMinimap.m                   mgXMLParser.m                 worldViewController.m
fileIO.m                      mgImageSource.h               mgMinimapButton.h             mgXMLWorld.h
gridreaderAppDelegate.h       mgImageSource.m               mgMinimapButton.m             mgXMLWorld.m
gridreaderAppDelegate.m       mgImageSourceRequest.h        mgScrollView.h                muddyGrid.h

Wait.

Where’s my class…?

Turns out SVN fucktardedly presumed “oh im shure he ment delt da fl thats lcase here insted lolstfucoksknmfur”. Luckily I had the files in memory.

The wonderful adventure continues.

svn: Failed to add file 'foo/Doc-credits.png': an unversioned file of the same name already exists
Kalle-Alms-MacBook-Pro:iphone me$ rm foo/Doc-Credits.png
Kalle-Alms-MacBook-Pro:iphone me$ svn up
Restored 'foo/Doc-Credits.png'
svn: Failed to add file 'foo/Doc-credits.png': an unversioned file of the same name already exists
Kalle-Alms-MacBook-Pro:iphone me$ masturbate furiously
-bash: masturbate: command not found

This time, the file Doc-Credits.png exists and the file Doc-credits.png needs to be added.

For the record, Mac OS X is at fault here — Apple decided to “be compatible” with Windows and not allow filenames of the same size with different capitalization, which *NIX does allow.

That doesn’t make SVN any less retarded though. After all, it’s running on the OS, so it should know the OS.

This entry was posted in Work and tagged , , , , , , . Bookmark the permalink.

10 Responses to There now, let’s not be completely fucking retarded.

  1. Skout says:

    I have to tell ya kb, “delt da fl thats lcase here insted lolstfucoksknmfur” took me a while to decipher, and I’m still only sure of about half of it, but it’s an amusing post… glad to see you sharing again :)

  2. Kalle says:

    LOL! Yeah I see what you mean. I sort of presumed noone would pull it off, to be honest.

  3. SixDays says:

    Kalle, touk me liek 15 sec to die-zypher teh mess-age. Purrhapz I has hanged round with LOLcatz 2 much.

    I R B/tard

  4. Kalle says:

    Haha, well, okay, I DID expect you to pull it off, but noone else. :P

  5. Erik says:

    Ahem…

    http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.delete.html says:
    “The command will not remove any unversioned or modified items”

    Ergo: if you’d saved the file you were editing, you would probably have gotten an error message from svn.

    All scm:s does the same… actually bazaar even allows you to delete files outside the scm, and then notes it as deleted on the next commit… unsure what hq and git does in the same situation… svn complains…

    Oh, and no, I don’t get the “lostfuckmumblemumblewhatever…*#!” ;o)

    /E

  6. Erik says:

    P.s. sorry… yeah, and since the file was freshly committed (in svn’s eyes) you just have to restore it… D.s.

    P.p.s. didn’t svn mv work? perhaps you have to rename the new file outside svn, rename the old with svn, and then copy over the old with the new… if you get me…

    ok, like such:


    mv MultilineTableViewController.h MultilineTableViewController-my_new.h
    svn mv MultilineTableViewController.h multilineTableViewController.h
    svn co
    mv MultilineTableViewController-my_new.h multilineTableViewController.h

    etc. D.d.s.

  7. Erik says:

    P.p.p.s. oh, and sorry for being a total Messerschmidt :-D .d.d.s.

  8. Kalle says:

    Erik: yeah, that’s the problem.

    I had a file called “Monkey” which I renamed to “monkey”. SVN then claimed “Monkey does not exist, and I have no idea what monkey is.” so I told SVN to remove the (now non-existent) “Monkey” and then to add the (new) “monkey”. When I told it to remove the former, it happily deleted the latter.

    The inconsistency is what gets to me. SVN should either agree that “Monkey” and “monkey” are the same file or it should agree that they’re not. It can’t do both. Hence, retarded. :)

  9. Erik says:

    Eh, now IC…

    Didn’t see that M-case thing… However, if the OS is case insensitive, then… svn should be too… which it’s apparently not, in this case… it shouldn’t have complained about the renamed file not existing… I get it.

    Since it’s open source you could supply a patch ;o) or at least report the bug… perhaps there’s a new version out there waiting to be downloaded? :D

    Otherwise, stay clear of operative systems that does that… ;o) I mean, OSX must be one step worse than Windows… After all, Windows never looked at case in the first place while OSX actually bastardized BSD that does care about case…. And apparently it’s not about the terminal being case sensitive either… or svn wouldn’t have deleted the wrong file… Curious…

    Seems either OSX or svn is at fault here… probably svn…

    /E

  10. Kalle says:

    Nah, it’s the Mac, in the end. They rewrote the file system to NOT support case sensitivity, and consequently SVN is screwed up because of it.. and yeah, SVN should be case insensitive, but I guess that gets complex quickly. If SVN is case sensitive on Macs but NOT case sensitive on linux boxes, how will they interact when a linux user adds two files with the same name or, as in my case, changes the case for one?

    Today I actually spent like an hour+ refactoring classes. I literally had to rip the entire trunk out, build it again with the new filenames, then commit again, because SVN goes wackoo when someone else tries to svn up a dir where files were renamed (it goes into a loop where it restores a deleted file in one case then claims that the file (in the other case) is already versioned, ad infinitum).

    Fun stuff.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">