Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to always (force) overwrite local changes when updating from SVN? Ignore conflicts?

I know I should be working on a branch of my own but a couple of us are on the same branch of a project. One of the Dev's made a commit and I just wanted to update my local copy with the latest from SVN. Running 'svn update' I get this output:

Restored 'index.html' U    somescript.php Conflict discovered in file.xml'. Select: (p) postpone, (df) diff-full, (e) edit,         (mc) mine-conflict, (tc) theirs-conflict,         (s) show all options:  

Is there an option/way to overwrite my local changes and get the latest file(s) from subversion and ignore all the conflicts?

I've looked at some of the other posts on Stack and they all don't answer the question. They say to delete the project and checkout again, which I guess if that's the best way so be it... But wanting more details as to why I can't force an update. Thanks

EDIT:

So I selected s 'show all options':

(s) show all options: s

  (e)  edit             - change merged file in an editor   (df) diff-full        - show all changes made to merged file   (r)  resolved         - accept merged version of file    (dc) display-conflict - show all conflicts (ignoring merged version)   (mc) mine-conflict    - accept my version for all conflicts (same)   (tc) theirs-conflict  - accept their version for all conflicts (same)    (mf) mine-full        - accept my version of entire file (even non-conflicts)   (tf) theirs-full      - accept their version of entire file (same)    (p)  postpone         - mark the conflict to be resolved later   (l)  launch           - launch external tool to resolve conflict   (s)  show all         - show this list 

I guess I should go with option 'tc'?

like image 276
Phill Pafford Avatar asked Sep 14 '10 13:09

Phill Pafford


People also ask

Will svn update overwrite my changes?

When you update, the contents of your working copy are updated with all of the changes that have been committed to the repository since you last updated. Subversion is pretty smart about updating and never just overwrites files that have local changes with copies from the repository.

How does svn update work?

Description. svn update brings changes from the repository into your working copy. If no revision is given, it brings your working copy up to date with the HEAD revision. Otherwise, it synchronizes the working copy to the revision given by the --revision ( -r ) option.

Which command is used to retrieve all the changes from the svn repository but without applying them to your local branch?

The svn shelve command stores your changes without submitting them.


1 Answers

If you really want a copy of HEAD (the latest revision in repos), then you should

svn revert -R <path> // discard all your changes inside path (recursive) svn update           // get latest revision of all files (recursive) 

That's it.

Beware that you will lose ALL your changes since your last 'commit'.

EDIT: added the -R <path> from Isu_guy answer for the sake of completeness and helping readers find a single full answer

like image 169
tato Avatar answered Sep 21 '22 09:09

tato