Does any source control software support this?

Started by
13 comments, last by GameDev.net 17 years, 11 months ago
I'm going abroad for a week, and I want to take my personal code on a laptop for when I get spare time. All my code is in a source control system on my PC, which raises a problem - while abroad I can't connect to my home PC so I can't check things out. I have to just remember which files I change and merge them back in when I return. What I'd like is some 'local' versioning tool which will do this for me - I can just make changes and then when I reconnect the laptop to my home PC it will see what files should be checked out automatically. I know that a web-based repository is possible but that's just not convenient - does what I want exist?
Advertisement
That's the model CVS uses. If you're Windows-based, check out Tortoise CVS.

Perforce can do a consistency check. It will show what files have changed and let you revert or edit them or whatever. It can take a while if you have a large code/art-base.
With the source control I use (Perforce), just make the file writable manually while disconnected, then open for edit when you return to being connected to your server. Then integrate(if someone else mucked with the file while you were gone) and submit. Works perfectly.
Subversion keeps a copy of the original files in its working copy, so you can locally (without network) check which files are modified.
You can even see what changes you have made over time, and even revert to the old revision.
When you get home, just press commit and your changes are on you PC.
I'm not exactly sure what the OP is asking, but I have a similar question that may be the same or not.

Basically, I worked on a project where I had to work in the field (i.e., no internet) debugging code. All subversion offered me away from the repository was 'diff' and 'revert'. Frequently I would write & test code to fix the bug while debugging, all without internet.

I would have _greatly_ appreciated a feature that would let me commit to a "local" repository while away from the main repository, so that once I fixed one bug I could "commit" it and move on to the next one, knowing that if I f'd up the code fixing the second bug, I could just revert back to my commit that fixed the first bug. Then when I got back I could commit the whole code base to the main repo.
I second Subversion. I use Tortoise SVN on my own machines and for my job.
Quote:Original post by Anonymous Poster
Perforce can do a consistency check. It will show what files have changed and let you revert or edit them or whatever. It can take a while if you have a large code/art-base.
That sounds what I want. I use Perforce so I'll look into it. The problem I have is just making sure I note down all the files I change!

Don't bother noting them. Every SCCS ever made will check files against the repository for you, to see what's changed.
Quote:Original post by etothex
I would have _greatly_ appreciated a feature that would let me commit to a "local" repository while away from the main repository, so that once I fixed one bug I could "commit" it and move on to the next one, knowing that if I f'd up the code fixing the second bug, I could just revert back to my commit that fixed the first bug. Then when I got back I could commit the whole code base to the main repo.

Maybe you can solve this by installing svn on your laptop, and importing the code base when you go away. Then, commit to your local repository. When you get back, copy the (.cpp, .h, or whatever you have) files of your laptop over the files in your working copy at home/in office. Good thing about svn is that it uses a MD5-hash to check if a file is altered, not the timestamp as CVS does.

Other possibility is to make a script that issues:
  svn merge svn://laptop/repo@2 svn://laptop/repo@3 my_local_working_copy/  svn commit -m "Another bug fixed while I was away"

for every revision on your laptop. However, that might require a bit of tweaking [wink].

This topic is closed to new replies.

Advertisement