Tortoise SVN: deleted folders reappear after being removed with the Repo Browser - tortoisesvn

Windows XP SP3; TortoiseSVN 1.6.16, Build 21511 - 32 Bit, which is the current version at the moment.
We're using Eclipse Helios for some Android development. When one of the projects was first checked in using TortoiseSVN, the bin and gen folders were included. I'm trying to delete them from SVN.
I went to the Repo Browser and deleted the bin and gen folders from the project. The Repo Browser log shows two "Deleted" entries for revision 40583. I then went to my working copy and did an SVN Update. It deleted the folders, as expected. The File Explorer shows a green icon for the project.
Next, I ran Eclipse and did Project/Clean. The bin and gen folders were created. The gen folder shows the purple question mark icon as an unversioned folder, as expected. The bin folder, however shows a red exclamation point icon, and it and all of its child folders all contain a .svn version control subfolder. If I exit Eclipse and do a TortoiseSVN Cleanup, the bin folder temporarily shows a green icon and then immediately switches back to the red exclamation point icon.
What's going on?

You should install a SVN client in eclipse, and don't use TortoiseSVN altogether on the same directory as eclipse is working on. This is the root cause of your problem, and it will come again and again.
So the proper use is:
Install a SVN client like subversive or subclipse inside eclipse.
Depending on the client you choose, checkout the project from your subversion repository using the menu entries of the client you have installed.
After having checked-out the project, check the properties of the root folder of the project. They should define that the bin folder (or target if you are using Maven) should be ignored.
If you have to add that property, ensure to commit it, so others will not have the same problem.

Related

Why does the git client open local repositories in the /run/ folder?

I have a repository in a folder /var/www/. Through the git client, I select this folder as "open an existing repository", but the repository opens as if it is located in the /run/ directory.
This did not happen on the old computer. And now I have a number of problems. For example, auto-updating of the state of files after their modification does not work. It also fails to use Stash. There are also other problems.
UPDATE and a solution: I found out that this problem appeared due to the fact that I installed the flatpack version of Sublime Merge on
a new computer. When I reinstalled it as a regular package, everything
works as it should.
I'm not sure if the problem is exactly in the changed repository path, but this is my main suspicion.
I'm using Linux Mint 21.1. Test this with git-clients Sublime Merge and Gittyup. Sublime Merge shows the path to repositories as /run/user/1000/doc/c9e48011/<repo_name>.
Gittyup as /run/flatpak/doc/c9e48011/<repo_name>.
On the path from Sublime Merge, there really is a folder with all the files from my repository. And the path that Gittyup shows is inaccessible because the /run/flatpak/ folder doesn't actually exist.
Why is this happening and how to fix it?

Gradle folder fills on open

When i clone my github repository my gradle folder automatically fills with 3000 + files. I have a .gitignore file ignoring the .gradle folder. This results in 3000+ files needing a commit on git. No other users of the repo gets these, and their gradle folder only has few files shown in picture 1 (my gradle folder is shown in picture 2).
Its frustrating, since it leads to errors in github, when i have to commit this many files.
Mostly likely - the gradle home is probably set as ./gradle in your Intellij or your login profile.
it should ideally be /Users/<>/.gradle

Tortoise SVN undo checkout in repository

I am very new to Tortoise SVN so I hope I use the correct terminology...
I have a repository, say C:/RCode and I was checking it out into say C:/Working. I do not know what exactly went wrong, but I must have checked out something in my repository C:/RCode. As a result, this folder has now features of both a repository and a checked out folder - e.g. it now also has the green v icon overlay next to the icon overlay of a repository.
How can I tell Tortoise that this is should not be a checkout folder?
To make Tortoise SVN forget a folder is a checked out folder, it suffices to show hidden files and folders in the folder of interest and then delete the hidden folder .svn
The command you're looking for is an svn export. An svn checkout is the process of tracking local changes into a series of deltas (inside that .svn folder) so that you may commit changes back to the repository.
An export does essentially what a checkout does, but without the version control aspect of it. The command you would run for your example would be:
svn export file:///C:/RCode C:/Working
Or if you're using TortoiseSVN:
Right click anywhere in Windows Explorer
Enter the URL of the repository and output directory
Specify a revision (HEAD by default)
Select OK.
Simply deleting the .svn folder works as well, but it's an extra step (along with cleaning your Recycle Bin). It's also worth noting that svn export is useful for making a copy of your local working copy (a checkout) to a non-versioned copy somewhere else on your local machine.
svn export C:/Working C:/NonCheckout

Why is Nuget trying to access my SVN files?

I'm trying to update the Nuget packages in a solution I have, but this is what it does for all of them when I try to update
Successfully installed 'knockoutjs 2.2.1'.
Updating 'knockoutjs' from version '2.2.0' to '2.2.1' in project 'MyProject'.
Directory 'Scripts\.svn\text-base' is not empty. Skipping...
Directory 'Scripts\.svn' is not empty. Skipping...
Successfully removed 'knockoutjs 2.2.0' from MyProject.
Successfully added 'knockoutjs 2.2.1' to MyProject.
Access to the path '(solution path)\packages\knockoutjs.2.2.0\Content\Scripts\.svn\text-base\knockout-2.2.0.debug.js.svn-base' is denied.
Access to the path '(solution path)\packages\knockoutjs.2.2.0\Content\Scripts\.svn\text-base\knockout-2.2.0.js.svn-base' is denied.
Access to the path '(solution path)\packages\knockoutjs.2.2.0\Content\Scripts\.svn\all-wcprops' is denied.
Access to the path '(solution path)\packages\knockoutjs.2.2.0\Content\Scripts\.svn\dir-prop-base' is denied.
...
It pretty much does that for every SVN file. Then says it wasn't properly uninstalled and I need to restart Visual Studio for the changes to take effect, but that doesn't solve anything. I have to manually clear out the files and remove the .deleteme file that gets created.
I also tried running Visual Studio 2012 as Administrator but that didn't change anything. I also have full permissions on my Windows 7 machine to the entire project.
I thought .svn folders were supposed to be ignored by Nuget? Is it trying to delete the older package folder? I'm fine with it taking out all the content files, as long as it leaves the .svn folder alone. I can always mark the files as deleted on the next commit.
Also, I know I can run Nuget without commiting the packages to source control, but I don't want to do that. The feature isn't enabled and the checkbox that lets Nuget download missing packages is not checked. So if it thinks that source control integration is disabled I don't know why.

How do restore an existing repository using TortoiseSVN?

After my OS crashed, I've installed a fresh version (Windows 7 Pro x64).
I want to commit my project changes, so I need to restore my local repository to do this. Of course I have the all files located in my folder where was the repository before the OS crash, but of course TortoiseSVN doesn't know that there was a repository. How can I do it (I believe it is possible to restore that repository)?
If you still have your repository folder, intact with all the .svn subfolders, all you should need is installing TortoiseSVN itself after the OS reinstall. TortoiseSVN does not rely on anything outside the file system to identify working folders, so you should be able to just check in.
I think you're mixing up "repository" and "working-copy" here.
Assuming you have a local repository created on your harddrive:
To find your repository you could do a fresh checkout of your local repository and specify the location starting with "file://". If you have an old working-copy, but the repository is not at its old location, you can relocate it with the TortoiseSVN command "relocate".
An old working-copy should just show up. Chances are that it doesn't show up, because you installed a new version of TortoiseSVN (1.7.x) which uses a newer working-copy-format that is different from the older format. You need to select your working-copy directory and select "upgrade working-copy" so you can work with it.
Simply checkout a new project and copy the .svn folder into existing project.

Resources