Xcode is not showing changes for files on SVN - xcode

We're using svn for version control on our Mac. Its working cool. But the only problem is we're multiple devs developing together and everyone can see any file changes status inside their Xcode ( attributes next to the file ) in their Xcode except me. How to resolve this?
This is what I want (see "M" next to the file name),
Even Xcode Source Control Menu is showing no changes.
I'm not sure if there's anything to set here?
I have checkout the code again and again, but still the problem persist.
I'm not sure, why this "Working Copies" menu "iOS" is disabled? Its enabled on other machine.
Any help would be highly appreciated.

I also encountered this problem, the following is my solution, hope I can help you.
Start the terminal, enter the code in the folder.
Type the command - svn status.
The output will be similar to this
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: The working copy at '/Users/chao/svn/project'
is too old (format 29) to work with client version '1.9.4 (r1740329)' (expects
format 31). You need to upgrade the working copy first.
Type the command - svn upgrade.
The problem is resolved,I wish you good luck.

SVN can define status of working copy files and directories comparing your local files with the current repository located on the remote SVN server.
I believe that checking "Refresh server status automatically" will do the job.
You can say this is true when your local files will have attributes aside (U, M etc)
Having no luck, you may run the command line tool, which is usually more verbose. More details here: https://stackoverflow.com/a/19922150/195812

Related

My git repository changes are constantly flagged as assume-unchanged

I've been using git on windows for years without any major issue.
However, it's been some time now that I believe I have something that tempers with my local git repositories and from time to time flags my modified files as assume-unchanged to the point I have an alias that runs all my repo files and update-index --really-refresh --no-assume-unchanged each and every one of them, and I use it nearly before every git status. But this is no way to live! :P
I had removed ConEmu from my machine in hope this might help, but didn't get any results (mind, I should probably restart my machine before). I doubt VS code has anything to do with it. I'm at lost tbh. Is there any git config value that may cause this?
Has anyone experienced a similar issue and found the evil forces that are behind this Machiavellian mechanism? I wish to name and shame it throughout the universe...
Seriously though, any help would be highly appreciated.
I had a similar problem, but on Linux. The answer from OP about git config didn't work for me but got me looking in the right direction.
The git config option core.fsmonitor was set to true (carried over from my Windows config where this was an experimental option that improved performance). On my Linux system, this causes basically no file system changes to be detected by git. Now that I've removed it, everything works just fine.
Hope this helps someone else with the same issue.
From your comment : something (some script or some other process) is setting the assume-unchanged flag on each of your files.
You may look into your .git/hooks directory (also check git config core.hooksPath to see if you have a custom hooks directory configured), or some other script/task that would pass on all the files in your repo.
If you really don't have a clue about what might be causing this : use grep -e "assume-unchanged" -r . (to try to spot a script which would run update-index --assume-unchanged), first in your repo, then in your home dir, in last resort from / ...
Ok, so after messing around with vs code, resharper and sublime text (uninstalling everything, deleting leftovers, restarting the machine and so on)- nothing was coming up as the reason behind this weird behaviour.
And then I commented out all of my gitconfig file- and the behaviour was gone. It then took me no time to figure out the reason behind this behaviour was the following configuration that was set to true:
core.ignoreStat
I have no idea how and when did it sneak into my gitconfig file and got set to true, but hopefully this will help others who may experience this.

Using Windows Notepad as commit log message editor in Subversion

I am trying to set up subversion on windows. I followed this blog (http://blog.codinghorror.com/setting-up-subversion-on-windows/) and did the setup as instructed, it was successfully installed i think, but i am stuck somewhere in-between while testing if it is working or not
After doing this :
set SVN_EDITOR=c:windowssystem32notepad.exe
svn mkdir svn://localhost/myproject
it opens up notepad and i modified and saved it and it was suppose to ask for credentials and all but it is showing some other messages.
I am not sure how to make it working. Am i doing something wrong ?
This can happen if you didn't save the commit message in notepad.exe. Press Ctrl+S and close Notepad. You should see authentication prompt after this step. If the server allows anonymous access then the commit should start without any additional actions.
I found the solution. This was down to a version conflict. I have Tortoise version 1.8 installed on my PC and I was downloading version 1.6 of Subversion.
Solution:
Subversion: SVN E160043. Expected FS format between '1' and '4
svnadmin create --compatible-version 1.6 PATHNAME
Fixed my problem.
As far as I know you have to save your message correctly. If you have to work with Windows/OSX parallely, be aware that you have to use different Shortcuts(Windows: Crtl+S OSX: cmd + S). Otherwise it should work, if the server allow access (as you're hopefully the admin)

How to add a project to svn server?

I have to add a project to the SVN server repository and I would be thankful to get some links or little help on how to do that.
The URL to the SVN repository is https://192.168.1.4:448/svn/BDRAsigViata/.
The project is located on the desktop. The path is /Users/name/Desktop
and the name of the project is BDRAsigurariViata v1.0.zip.
I tried to add the project this way
svn import /Users/name/Desktop/BDRAsigurariViata v1.0.zip https://192.168.1.4:448/svn/BDRAsigViata
But it isn't working. Am I supposed to follow other steps too, in order to be able to do that?
I get the error:
svn: E205000: Try 'svn help' for more info
svn: E205000: Too many arguments to import command
[Tedious mode ON] Are you trying to add a ZIP archive to a version control repository? Apache Subversion is a
version control system, not a simple file storage or Dropbox! It's designed to store and manage your code. Since you use the term "project", I assume that you simply zipped your source code files and wanted to commit them as the archive. That's not how it works. [Tedious mode OFF]
Nevertheless, the command you need is
svn import "C:\Users\name\Desktop\BCRAsigurariViata v1.0.zip" "https://192.168.1.4:448/svn/BCRAsigViata/BCRAsigurariViata v1.0.zip" -m "Commit Message"
Since you are new to Apache Subversion and VisualSVN Server you definitely should set aside some time to read SVNBook. These introductory topics are highly recommended for novice Apache Subversion users:
What Is Subversion?
Fundamental Concepts
Basic Usage
As a Windows user, I strongly recommend you to consider TortoiseSVN client (and it's manual in addition to the above docs).
Your command looks strange with the backslash. The first one and the one in front of the server URL looks like they don't belong. Also I believe you need to escape the spaces in your path. (but I wouldn't put the last file, you want a directory).
I would write this command:
svn import /Users/name/Desktop https://192.168.1.4:448/svn/BCRAsigViata
except you might not want to put your whole "Desktop folder".

Anyone got a sample Windows batch file for auto-deploying Collabnet repo to a file folder?

I'm using CollabNet Subversion Edge on Windows 2008 … and trying to auto-deploy (so update from repo to folder) when any commits are made by developers using Tortoise SVN.
I've got a post-commit hook file in the correct repo /hooks folder. The file is named post-commit.bat
The file has one line -
"C:\Program Files\TortoiseSVN\bin\tortoiseproc.exe" /command:update /path:"c:\wamp\www\thewebsite*" /closeonend:1 /outfile:"c:\csvn\update-logs\thewebsite-out.txt"
When I commit anything, it's timing out if I have the file present. If the file is not present, the commits work without any problem. So that tells me the post-commit file is being called … and it's got a problem!
Anyone got a sample post-commit Windows batch file that can help me? Or know how to solve my particular problem?
You should try testing your script by simply calling it from the command line and passing in the repo and version parameters. This might give you some more insight as to why it is timing out. For example:
script.bat PATH_TO_REPO REPO_VERSION
Also instead of using Tortoise, use the native SVN client library. In your script you can navigate to the folder you want to update, and call the "svn update" command. This will be more straightforward and not have to go through Tortoise just to make the update command back to the native library.
Try something like this:
cd "c:\wamp\www\thewebsite"
svn update
If your SVN server requires permissions you may need to pass these in your script as well.

Subversion control No Such file or directory. Can't open file

Error message :
"svn: Can't open file '/Users/username/Projects/myproject/trunk/project/.svn/text-base/filetoupdate.h.svn-base': No such file or directory"
Question:
I have an issue I've replaced a file in a project (in Xcode) with a new file (For reference and if this makes a difference, the new file has the same name as the one I deleted previously).
Now when I try to commit my changes in Xcode I get the error message detailed above and am unable to commit the changes (i.e. adding the new file).
In the file system view (in Xcode on the left hand side of the screen) the file has an R next to it (indicating Replaced in the repository).
Does anyone know how to fix it so I can commit the files?
Thanks
There is a bug or limitation in Subversion when using case-insensitive filesystems:
https://superuser.com/questions/303348/cant-checkout-in-subversion
This bug normally shows up when checking out a repository that contains two files whose names differ only in case. Of course, these cannot exist at the same time in the same directory on a case-insensitive filesystem. SVN could give a much more helpful error message, but it can't really solve the problem.
Your issue is a bit different because I assume the file filetoupdate.h (with the old case) no longer exists in your filesystem. So it's not a case conflict in the working directory. But I guess that SVN is trying to create the file in .svn/text-base with the new case, while the old one still exists, and that is failing (for the same reason).
You could try deleting the file from Subversion first, keeping the local copy (untested). The new copy must be removed from SVN control for the commit to succeed:
svn rm --keep-local --force FileToUpdate.h
And the old copy must be removed as well, to allow us to add the new copy later:
svn rm --keep-local filetoupdate.h
Commit this change:
svn commit
Now hopefully you can add the new file to version control:
svn add FileToUpdate.h
If that doesn't work, you might need to blow away the whole checkout and start again with a fresh one.
Are you on a Mac or Windows? Those have case-insensitive filesystems which causes the above problem when
a file currently exists with the same name but with different cases.
To fix , checkout out the tree on a Linux machine, then "svn rm" one of the files.
Maybe your local version has permission issues. Check if your user have the permissions to write for the .svn directories.
good luck
It looks like something got confused somewhere. To fix, I simply copied the offending files, saved them under a new name. Removed the originals from the project and the added the copied (renamed) version of the file to the project.
It seems to be that SVN doesn't like it if you add and remove a file with the same name. I tried cleaning the SVN through terminal, but it had no affect on this issue. But changing the name did work for me.

Resources