svn:ignore not ignoring xcuserdata - xcode

I am using the svn:ignore property for the first time, so I may be misunderstanding something.
I am working on an iOS application. I have an Xcode project and I want to ignore the xcuserdata folder. Using the Mac Terminal application, I go to the root of my svn repository and try to ignore the folder using:
svn propset svn:ignore path/to/my/folder/MyProject.xcodeproj/xcuserdata .
If I check the svn:ignore property using:
svn propedit svn:ignore .
I see:
path/to/my/folder/MyProject.xcodeproj/xcuserdatata
I have committed and updated, but I do an svn status, I still see the folder with a ? mark beside it. Does anyone know what I'm doing wrong? I am using svn version 1.6.17 (r1128011).
Edited to add that my question seems similar to this one: SVN just won't ignore a folder, despite propset svn:ignore, but in my case none of the files in the folder I want to ignore seem to be added to svn, nor is the folder that I want to ignore added to svn.

I think you want:
svn propset svn:ignore xcuserdata path/to/my/folder/MyProject.xcodeproj
ie you want to ignore xcuserdata at the path.

There are a couple of ways to fix this globally. One is to edit subversion's config file located at ~/.subversion/config. Look for the line for global-ignores, uncomment it and change it to xcuserdata, like this
global-ignores = xcuserdata
Save that and svn status will no longer report xcuserdata folders. That makes the change on your local machine and it will only affect you. To make it on the repository itself so that it affects everybody, navigate to the root of your source tree and use the global-ignores property, like this
svn propset svn:global-ignores xcuserdata .
Then commit the change to make it active.

Related

Git ignore xcodeproj file

I am setting up a team project under git source control, and all members of the team will be using different IDE-s. The project is a basic command line application written in C. Personally I want to work within Xcode7, but I have a problem with the xcodeproj file (or folder) which is also being committed. I dont want this, since other team members dont work with Xcode and this xcodeproj file just does a mess when they checkout. I just want to be able to commit my regular source files to git and nothing else. What should I do? If the answer is .gitignore file, how should it look?
Just add these two lines to .gitignore:
*.xcodeproj/
DerivedData/
The first line excludes the Xcode project directory. The second excludes the default directory created for object files and other build data.

How to make AnkhSVN refer to existing project?

My team created a project. This project has already existed on each PC of each member. Now, I have just added this project to SVN using AnkhSVN. So I want to know how to each memeber of my team can use this project without check out or download this project because it has already existed. I want to using any SVN client to refer to it or something like that. Any idea for me ?
Short answer: they have to use SVN checkout into empty folders, sorry.
Ask your team members to:
create new folder named "fromsvn",
make an SVN checkout of project into that folder,
copy with replace existing project into "fromsvn" folder,
commit changes if there are any.
Long answer:
During checkout SVN creates folder named ".svn" in each folder. This ".svn" folder contains the so-called "base" versions of your files. Each "base" version is a copy of the original file which is inside SVN.
When you make "clean" checkout (i.e. you download project from server into empty folder using SVN client), SVN creates both "base" versions of files (and puts them into .svn folder) and "working copy" - the ones you actually will modify and then commit. Thus, if you checkout 10Mbytes project, SVN will create 20Mbytes of files, half of which will be stored in ".svn" folder, but it will download only 10Mbytes from server.
Other members already have their projects, but they do not have ".svn" folders. It means, that SVN client still have to download those folders from SVN server repository, and it will still cost those 10Mbytes.

AnkhSVN Newer Copy on Local

I started to work on a project without setting it up for SVN .I am using Visual studio 2008 and AnkhSVN. Now I have new copy of code on my local and SVN has older copy.How should I checkout those files and commit them?
Thanks
The easiest is probably with the command line client (or TortoiseSvn with similar options). You're looking to do a checkout with the force flag on:
svn co --force <URL> <WC>
From the help:
If --force is used, unversioned obstructing paths in the working
copy destination do not automatically cause the check out to fail.
If the obstructing path is the same type (file or directory) as the
corresponding path in the repository it becomes versioned but its
contents are left 'as-is' in the working copy. This means that an
obstructing directory's unversioned children may also obstruct and
become versioned. For files, any content differences between the
obstruction and the repository are treated like a local modification
to the working copy. All properties from the repository are applied
to the obstructing path.

Exclude Eclipse's hidden '.settings' directory from commits when using TortoiseSVN

I'm using the TortoiseSVN client and Eclipse. When I attempt to commit an Eclipse project, TortoiseSVN displays a .settings directory in the file list and says that it is un-versioned. The `.settings' directory seems to be where Eclipse keeps all of its settings for a project.
Is there a way to exclude this directory so that it is completely ignored by TortoiseSVN for this and any other Eclipse projects?
Since you want to ignore this folder globally, you should use…a global ignore!
Take a look at the file
%APPDATA%\Subversion\config
and uncomment the global-ignores line and add .settings to it.
Sample
Sample full path for the file config:
C:\Documents and Settings\pmn\Application Data\Subversion\config
Sample new content of the global-ignores line:
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store .settings
You can exclude directories like this by right clicking on them in Windows and going to TortoiseSVN/"Delete and add to ignore list" and then specifying it in the sub-menu:
This is really easy to do, I have to do it quite often.
You can specify resources to ignore under Window -> Preferences -> Team -> Ignored resources.
If you're using Eclipse you might want to try out subClipse, it's a free subversion plugin for eclipse and it will allow you to exclude the .setings folder. See this link.
However, are you sure you don't want these to be comitted? Since your project is build in Eclipse, one could say that the setings are a part of your project.
Personally I like to commit these files as they allow me to keep the same settings for every project on every location and for every developer.

VisualSVN - Upload Solution with multiple projects

I am trying to upload a solution with multiple projects but only the first project gets uploaded. When I try to load any of the others I get error "Project cannot be added to Subversion because it is out of working copy"
The folder structure on the drive is:
c:\myprojects\thisproject\project1
c:\myprojects\thisproject\project2
c:\myprojects\thisproject\project3
How do I remove a solution from the SVN library via VisualSVN? I don't see a remove solution, just add a solution.
I don't believe it's possible to remove a solution from SVN via VisualSvn. The options are either delete or export and only delete can be done, but that also removes the file from the solution and in most cases from the harddrive. VisualSvn offers minimal SVN features: update, commit, delete and branch commands.
I recommend if you are having problems with svn that you used Export from TortoiseSVN. Export removes all the .SVN folders from your solution and copies them to a new location.
If project1 is the root of your subversion repository, project2 or project3 will not add to your subversion repository.

Resources