views:

46

answers:

2

Is there a way to queue multiple commits (with message) before I actually commit them?

On work we have a SVN server running and I update the code on my laptop. When I'm at home I can't commit, but I still like to log these commits.

Is this where changelists are for?

+4  A: 

Yeah, use git-svn. You can check out a Subversion repo so you have a local git copy of it, do all of your work on it, and then push it back to the server when you have a chance.

coreyward
I only want to use SVN and not install any SVN/GIT servers on my laptop.
jerone
You don't need to run a server. Git is a distributed, file-based SCM that's more like a filesystem than it is like Subversion. It's really a blessing for you that someone went through the work to put together git-svn, really. // You can't commit to a Subversion repository without connecting to it. Since they're centralized, that's that. You can create patch files and then just apply them in order once you get connected again, but that's messy.
coreyward
ATM this goes above my head and I need time to check this out. Thank you for your answer and I'll give you the points as people seems to agree.
jerone
+1  A: 

Its not possible to just do this with plain svn. As it defeats the purpose of a centralized version control.

However svk(with svn) will be a best fit for your need. svk is a decentralized version control system(it wraps svn).

From svk's FAQ

<snip>
    * Does svk allow you to make several commits to your local copy of the repository and then be able to merge all the commits back to the main repository (keeping all the log messages)? 

Yes - this was its very first feature. However the merge of local changes will be one commit in the remote repository by default, unless you use smerge -I. Meanwhile, smerge -l will bring the logs to the commit made to remote repository. 
</snip>
Version Control Buddy
ATM this goes above my head and I need time to check this out. Thank you for your answer.
jerone