How to move svn folder one level up
Solution 1
If you are willing to use TortoiseSVN then you can simply move the folder with the repository browser. That is how I usually move folders around, very simple and painless.
Solution 2
I was just looking for this as well. Then I started looking for a solution and I didn't really find one, except that it did make me think of a solution.
You'd expect the command svn mv ./folder ./
to move everything from the ./folder
to ./
. This isn't actually true, it'll move folder
into the current directory. Since this is where it already is, the command fails.
So, the solution would be to move everything inside ./folder
to ./
. Indeed, the following command does just that:
svn mv ./folder/* ./
Solution 3
Try:
svn switch --relocate https://myserver.com/svn/Project/trunk/ https://myserver/svn/Project/
Please test this in a seperate repository before you run it on your real one!
Solution 4
I don;t know if you can move it that way, personally I would checkout repository, move folder in filesystem and then commit changes, deleting it at one location and adding at another.
Solution 5
I ran into a similar issue today but I didn't know how to move it up from tortoise, since I also had settings for that folder.
If the new location https://myserver/svn/Project/
should have only the items from your old location, here is what I did:
Moved
https://myserver.com/svn/Project/trunk/
to a new temporary location (e.g.https://myserver/svn/TempProject/
);Deleted the existing location you want to use (
https://myserver/svn/Project/
);Renamed
https://myserver/svn/TempProject/
tohttps://myserver/svn/Project/
.
This worked for me. It preserved all history, svn settings, etc. The history just got a couple new entries from all the moving around thing.
ihorko
Updated on June 11, 2022Comments
-
ihorko almost 2 years
I need to move svn folder to one level up and keep all history
All files and directories from
https://myserver.com/svn/Project/trunk/
intohttps://myserver/svn/Project/
I use a command:
svn move https://myserver.com/svn/Project/trunk/ https://myserver/svn/Project/
but it says:
svn: Cannot move path 'https://myserver.com/svn/Project/trunk/' into itself
Who knows how can I resolve that problem? Thanks!
-
ihorko over 13 yearsyou will not keep the history, after that you will have only last revision
-
ihorko over 13 yearsThanks, I tried, but svn says: svn: '.' is not a working copy
-
Nix over 13 yearsYou ran the command from the base directory of the project on your file system?
-
Tomasz Kowalczyk over 13 yearswhy? you'll have all changes, but in new tree.
-
Tomasz Kowalczyk over 13 yearsas i thought of the problem a little bit i found another solution - dump repository at a specified tree, let's say: svnadmin dump repo/path/other/inner > file.dump then delete dir "inner" -> it will remove it from repository, and now load it at another path: svnadmin load /repo/ --parent-dir /path < file.dump that way you'll have all directory tree committed and history saved
-
ihorko over 13 yearsYes, I use TortoiseSVN, it's really very simple in repository browser, Thank you so much for your help!!!
-
ephraim over 4 yearsHow do you commit that later? or is it "commited" by click? thx!
-
Stefan Egli over 4 yearsAs far as I recall this creates a commit automatically.