How to commit a mix of newly added files and modified files in tortoisesvn - tortoisesvn

A vendor gave me a tool to update my website, which added a lot of files and modified a lot of files.
I want to add all of the changes to TortoiseSVN, so I right clicked on the root folder of the website and clicked SVN commit. Almost 4k files are selected, and 11k files total.
I chose select all and did a quick review to confirm that they were. I commit the files, and I see that they are all successes. Click OK.
I then right click on the root folder, and again do SVN commit.
Why do the same files appear in the list with modified next to them?
How can I add all the new files and commit everything all at once?
I'd post the version if I new where it was :)
Thanks!

You probably forgot to do a SVN ADD before doing the commit to version them on the next commit. TSVN is just listing unversioned files again.

Related

Ignore folder before first commit in kdesvn?

I have an empty SVN repo on a remote server. I moved the code into kdesvn app and now I need to make a first commit. But I want to exclude some folders from commit (ignore them) so that they never upload later on.
How shall I do it in kdesvn? I went to Repository menu but could not find a command to mark folders ignored.
EDIT
I did not commit anything yet. Just copied sources into kdesvn. On each file and folder I have icon with a green plus symbol and the status saying "locally added". Look at the image
You want to make a SVN revert. With kdesvn you select the files to revert, then in the menu Subversion > Working Copy > Revert current changes.
If you want to SVN ignore them, just right-click on a file that is not under version control (grey background color) and select Ignore/Unignore current item.

Add new folder to depot in P4V client

I want to create a private branch folder in a depot using perforce visual client. Can somebody tell me how to do it? I looked up on Google but there is so little help for a P4V user.
Restating the question:
I have created a local directory: c:/depot/abc/myfile.txt. My p4v is mapped with the central repository as //depot... c:/depot/...
How do I submit abc/myfile.txt to the repository?
After reading your question, it sounds like you don't have any files in your depot yet? If that's the case, then you just need to add the files to your depot, not integrate. Here's how to do that:
In the edit workspace dialog, set the root to c:/depot
Then, change your workspace mapping to //depot/... //<workspace-name>/... as leaving the slash off as it is in your question can cause problems.
In the P4V workspace view, find the file that you want to add to the depot.
Right click that file, and select "Mark for add..." which will add it to a pending changelist.
Repeat step 3 for all the files that you want added (you can also multi-select files and then mark them for add).
Once you've got everything marked for add in a pending changelist, right click that changelist and pick "Submit" to commit the files to the depot.
Right click on the branch you want to branch from, and select Integrate(if it's 2011.1 you would select "Merge/Integrate") Then in the box that pops up, type in the target.
Note that you must have submit permissions in order to create the branch in the new location. So
//depot1/main/...
//depot2/sandbox/...
If you have submit permissions to //depot1 but not to //depot2 you wont' be able to branch from //depot1 to //depot2, but you can branch from //depot1/main/... to //depot1/sandbox/... as long as you have permissions for all of //depot1
If you're just starting out with P4V, consider spending some time reading this: http://www.perforce.com/perforce/doc.current/manuals/p4v-gs/index.html and this: http://www.perforce.com/perforce/doc.current/manuals/intro/index.html
There are many more docs at the Perforce site, but these are a good place to start.

SVN Ignore Not Applying?

I am trying to figure out svn:ignore. I am using:
svn propedit svn:ignore file://path/myrepository/project
Within there I am adding 'files' to that and then saving. It commits the revision fine. When I now go to a machine to SVN Update it, it downloads the files directory. How come that isn't applied? With SVN, do you need to apply things by doing some sort of restart? I am using a Red Hat Linux box.
Thanks.
EDIT:
Looks like I misunderstood ignore.
svn:ignore only works for untracked files. once you have added a file to your repository it cannot be ignored again (unless removed again). Why should you ignore a file that you initially wanted to track?
svn:ignore only saves you from accidentally adding garbage (build products, backup/swap-files, log files, etc.). It will not forbid downloading of files from the repository (if I understood your last sentence)

How to exclude a folder and not its children from SVN Update in Tortoise SVN

I am working on a shared project which is put in SVN. The directory structure of the project is as follows:
ParentDir
- Child_Dir_1
+ GrandChild_Dir_1
+ GrandChild_Dir_2
- Child_Dir_2
Child_Dir_1 contains configuration files (Eclipse's .LAUNCH files), and people put all sorts of file in this folder.
So each time I update my source code (by right clicking on ParentDir and picking Update), I got a lot of configurations that I don't really need, and I have to delete them manually.
I still need to have the children of Child_Dir_1 (which are GrandChild_Dir_1 and GrandChild_Dir_2) to be updated.
I have tried to go to set the "ignore" property of the of Child_Dir_1 to exclude *.LAUNCH files, but each time I update the source code, the ones that I manually deleted are restored to Child_Dir_1.
Since you are using TortoiseSVN:
Go into Child_Dir_1, select GrandChild_Dir_1 and GrandChild_Dir_2 and right click, TortoiseSVN -> Update.
That will update only those two folders.
Ignore is so that you can "ignore" ( from commit, status etc.) untracked files, files that are not checked in.
It could be that manojlds' answer is the solution for you, but I have doubts. The problem here is that those files are really part of the project. They are kind of unavoidable, and must be in sync with the rest of working copy.
Option 1 (best): Remove all configuration files form repository, or better yet have in repository only configuration template files (with, say, $ as first character in file names). Each user could copy those template files to true configuration files and change them accordingly. Configuration files should not ever be committed. Only template files should, but updating template files will not mess with current configuration files of any user.
Option 2 (second best): Ignore those configuration files. Use your own files for your own configuration, with names that don't clash with existing. You may even add your files to SVN, but you may just as well not add them. Does not matter, as long as you don't need your configuration on another machine.
Option 3: Use ignore-on-commit group. Use those configuration files that already exist. Change them to your likings, but don't ever commit them. To ensure that you don't commit them by accident flag them as non-committable (go to commit window, select all non-committable files, right click > Move to changelist > ignore-on-commit). The problem with this is your files are not protected from other users' updates, but may actually be a good thing.
Option 4: Chop the folder out (a horrible hack). Remove Child_Dir_1 from working copy (Right click on it > Update to revision > set Working depth to Exclude). Save the folder elsewhere first, because it will disappear. After that create it again, inside it checkout all subfolders (GrandChild_Dir_1 and GrandChild_Dir_2), and copy your configuration files. Now you have complete control over folder's contents, but update and commit become more complicated.
Edit: There is option 5 in theory, but I doubt it can be implemented successfully. You can try: Use NTFS hard links. Copy the whole tree with all files as hard links to existing files, except .svn folders and their contents. Original directory is used for SVN operations update, commit, add and delete, and new directory is used for editing files. From new directory delete all the files you don't need, and insert all the files you do need that are not the part of SVN. The problem here is minor extra work when deleting files from and adding them to SVN.

TortiseSVN - commit Item failed error

I use tortise svn in VS2010. When I go to commit my changes at the end of the day, I get the following error.
Commit item 'folder / filename' has copy flag but an invalid revision.
What does that mean and how do I resolve it? I Googled for it but really only saw a transcript of a rather esoteric discussion for a Java-related issue.
EDIT - 10/25/2010
Nothing? Really?
I agree with Pekka's comment. Right click on the project folder -> TortoiseSVN -> Check for modifications. Take note of the files you changed.
Create a new folder - and checkout the repository to the new folder. Move the files that changed back into the new folder, replacing any existing ones. Try your commit again.
You may try doing this with Windows Explorer instead of Visual Studio.
have you renamed that folder[say, folder1]?
If not then, "export" the content of that folder to somewhere else[say, folder2].
go back to parent of folder1 and delete then update folder1.
replace all the files[*not folder*s] in folder1 with the equivalent files from folder1
now commit folder1 independently after stealing any lock if exists.
What happens if you try to get the latest revision (update before committing, but after you back up your code ;)?
It sounds like there is potentially something that is in conflict in a bad way - you may need to back up your files, update or check out a new working copy, and then replace checked out files with your old ones.
check out a clean copy. put in the changes you previously made. commit.
do that, and try to forget your problems. it should work.

Resources