Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I avoid checking in local changes to the SVN repository?

Tags:

svn

svk

I have to make local changes to my project files in order to get it to run in a different environment. Twice now I accidentally checked those changes in (and messed up everyone else's running environment).

There are probably a lot of better ways to set up our build, but since I work as a consultant on an established project I can't really change how the customer works.

I've tried setting up a second branch in the same repository (which backfired, duplicating the entire tree in the root of their repository--I won't be messing around with that again).

Tried setting up a second repository of my own and checking in JUST those files to the new repository. This got really messy as well and basically didn't work.

I'm considering SVK--it looks like it MIGHT be able to help, but I can't quite figure out a pattern that would work.

I think I even posted here and didn't get a good answer, but that was before I was seriously considering SVK--I figured with that new parameter there might be a better solution.

I realize I could track the changes I WANT to check in and then just check those in, but that's a human dependent and buggy procedure that, to date, has failed me twice (because I'm a buggy human).

Any suggestions on just how to do this?

like image 422
Bill K Avatar asked Nov 13 '09 22:11

Bill K


People also ask

How do I get rid of local changes in svn?

If you want to undo all changes you made in a file since the last update you need to select the file, right click to pop up the context menu and then select the command TortoiseSVN → Revert A dialog will pop up showing you the files that you've changed and can revert.

Does svn update overwrite local changes?

Subversion is pretty smart about updating and never just overwrites files that have local changes with copies from the repository. The most important thing to take away from this section is: If you collaborate with others on one repository, remember to update your working copy regularly.

How does svn check for changes?

To get an overview of your changes, use the svn status command. You may use svn status more than any other Subversion command. If you run svn status at the top of your working copy with no arguments, it detects all file and tree changes you've made.

How do I commit local changes in svn?

Select any file and/or folders you want to commit, then TortoiseSVN → Commit.... The commit dialog will show you every changed file, including added, deleted and unversioned files. If you don't want a changed file to be committed, just uncheck that file.


2 Answers

What client do you use?

TortoiseSVN has a nifty feature that takes advantage of the changelist feature built into SVN. If you right click on a modified folder and choose "Check for Modifications," you can right-click on any of the modified files in that dialog and choose "Add to Changelist -> ignore-on-commit." From then on, whenever you perform a commit Tortoise makes sure not to add those files to the commit. See "Excluding Items from the Commit List" on this page.

If you're not using tortoise, you could set up a similar changelist manually.

like image 51
Nick Meyer Avatar answered Sep 20 '22 21:09

Nick Meyer


You could use git-svn. You get a local repo in which you can have local history, and several opportunities to consider your sins before inflicting them on the svn repo.

like image 40
bmargulies Avatar answered Sep 22 '22 21:09

bmargulies