svn: local commits
Solution 1
It is not possible to do local commits with Subversion.
This is because, as a centralized version control system, your local working copy does not have all the information the server has about past revisions, log entries, etc. which it would have had if it was a Distributed Version Control System (DVCS).
A subversion working copy contains a copy of all files as they were checked out so you can revert changed files without contacting the server.
If you really want to do local commits you should have a look at SVK, which is built on top of Subversion and provides DVCS like features.
Solution 2
Much of the above has become somewhat obsolete, and since this question comes up as a hit in a google search for "svn local commit" here's an update:
Consider using the package "git-svn" (along with "git-gui" if you don't know git) to make local commits both possible and easy, with full remote SVN integration. A decent overview/tutorial/use-case is here. I've just started using this process with Sourceforge projects, so I can't yet report any problems. Be sure to get the Authors file right!
EDIT: Updated link. Thanks, hdl!
Solution 3
You could do such a thing so if you interface the SVN Server with a GIT or Mercurial Bridge. Since GIT and Mercurial are able to do local Commits you could then use them like that. Maybe check out git-svn or something similiar (I remember there being a bazaar-svn but not sure).
Solution 4
That is why it is called centralized. You could try using a repo inside a repo. One is local and the other is remote. You then commit the entire inner repository to the remote.
Solution 5
Further to BobC's answer, for mercurial you would use hgsubversion
.
Adrian Panasiuk
BBC News | How Poles cracked Nazi Enigma secret
Updated on August 11, 2020Comments
-
Adrian Panasiuk almost 4 years
Subversion: is it possible to commit local revisions without pushing them, and push them at a later date - or is the lack of this feature why it's called "centralized" ?
-
jon skulski almost 15 yearsDo you have experience with SVK? I've used it a bit and it seemed alright, but I don't have much faith in smooth svn uses any more. I'd imagine anything built on top of it would be just as wobbly.
-
Catskul about 13 years@jskulski: I have no experience with SVK, but their "antiFUD" page address your question: svk.bestpractical.com/view/SVKAntiFUD
-
Seth almost 13 years+1 - for noting redundancy. I think I even read somewhere that SVN will be introducing local commits.
-
H_JOHN over 11 yearsThis answer is a little misleading. It is not because SVN is centralized that local commits are not possible. It is simply an omitted implementation detail. Treating local commits as a queue of changesets that can get batch-pushed to the repo is technically feasible (svk shows this)-- it would just change the UX to the point where SVN becomes more "difficult" to use (using the standard workflow). SVN chooses to optimize on ease of use, not functionality; but it could be hacked into Subversion without breaking anything.
-
newenglander almost 10 years@thirtythreeforty: Archive.org has a copy of the webpage: web.archive.org/web/20130924234957/http://utsl.gen.nz/talks/…
-
Pototo over 9 yearsWhat if you create a local server in your computer so that you can commit to it, and then when you are ready to commit to the original repository, then you just commit the regular way. Is that possible?
-
hdl over 8 yearsLink has been moved to git-scm.com/book/en/v2/…
-
Ben over 8 yearsMercurial and Bazaar can both work with SVN repositories as well, actually. So look into those if you don't enjoy git's interface.
-
Ben over 8 yearsAlso since you mentioned git-gui, if you're on Windows check out TortoiseGit (or TortoiseHg if you choose that route).