There was a problem with my computer and I had to reinstall Windows (7). I installed TortoiseSVN (1.8.11 64 bit) and I see the context menus, but I don't have a commit option in my SVN directory (where the files are), only a few other options. I don't want to update the files from the server but just commit (because only I can commit to this repository). How do I enter my username & password and commit my changes to SVN?
The reason could be:
The file hasn't been changed, so there is no commit option available -> or the file is not versioned
your directory hasn't been added to the SVN
you haven't made a working copy and you are using some "backup" folders wher you lost the hidden .svn folder -> if so then make a working copy
Related
I forgot to commit on the directory where I was working and then I checkout to the previous commit and now I want to back to the directory where I used to work. What can i do ?
If your checkout of the previous version somehow deleted your folder, which was not added/committed, then you would need to rely on a file recovery utility, as detailed in "Can I restore deleted files (undo a git clean -fdx)?", or on your IDE. Some of them keep a local history (IntelliJ IDEA, VSCode through an extension, ...): you might get back some of your files content that way.
In the end, it depends on the exact git checkout command you did, considering this command can update files and/or branches.
That is why it is recommanded to use git switch (branch only) or git restore (files only), instead of git checkout.
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
I reinstalled my OS (KDE neon) and I thought why not backup my project git folder, before I reinstalled I made sure I commited any code and everything in my git project folder was up-to-date.
So after reinstalling, I moved my project back onto my PC from my backup drive and ran git-status and it wants to stage nearly all of my project?
What do I do? I don't want to commit all these files again when I have not editing any of them? Its nearly 800 files it wants to stage?
You could reset your project using:
git reset --hard branch_name
This would lose any unstaged files.
Or you could stash the changes:
git stash save 'msg'
This works like the previous one, but instead it saves the unstaged files in a separate "memory" (in case you need them later on).
Now, I may assume that the reason you got that situation in the first place is maybe when you restored your data back from the drive, the OS changed some properties on those files, stuff like creation/modification dates, permissions...etc. While the content of the files has not changed but the properties are. Still, git sees them as modified files.
I am extremely new to SVN, I am using SVN on Mac OS terminal. I have a file on my laptop that I want to transfer to my repository on my remote server.
This is what I have done:
I have checked out the repository. It says "checked out revision *".
I have used cd until the folder that I want to insert the file. So at this point I have a path like: (...../src/soln$) so I want to insert the file in the 'soln' folder.
When I try:
svn add ('...../lo.java') (the path to my file on my computer) it says:
('....../src/soln/') is not a working copy
svn import ...../lo.java it brought something weird to the screen
Please help me figure out what I am doing wrong or not doing.
The error indicates that the parent is not yet in svn. Try to svn add each folder above lo.java.
As an example if the repo root is at /path/to/my/repo and your file is in /path/to/my/repo/src/soln/lo.java then you'll not only want to svn add lo.java from inside the soln directory, but you'll also want to svn add /path/to/my/repo/src and then svn add /path/to/my/repo/src/soln before you can perform the svn add lo.java
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.