Source Control and Mobile Working recommendations
-
For a while I've been my company's crack development team. I've taken regular snapshots of my source directory, and backed them up, so I've had *some* good habits. But we've now started some embedded development, and my PC development has changed style too, so I'm looking to a proper source control system. So far so ordinary - I'm sure most of you have gone through this stage. But I often work on site a lot, and quite often with no network connection to call on. I develop on a nice shiny laptop which travels with me, but could be off the grid for weeks at a time. How would that fit into a source control world? Can I do a checkout before I travel, then merge on my return? How would that affect my colleagues ability to work on the code? I'm sure I'm not unique with this, so any package / procedure recommendations would be welcome. I am price sensitive, but it doesn't have to be free. A few hundred dollars is OK, and few thousand is right out. Ideally any server would run on XP largely due to me experience (and a 90% spare machine...). Thanks, Iain.
What source control tool are you using now? You could checkout and continue working, but not being able to check back in for weeks would cause merging headaches depending on how much you and your colleagues change.
only two letters away from being an asset
-
For a while I've been my company's crack development team. I've taken regular snapshots of my source directory, and backed them up, so I've had *some* good habits. But we've now started some embedded development, and my PC development has changed style too, so I'm looking to a proper source control system. So far so ordinary - I'm sure most of you have gone through this stage. But I often work on site a lot, and quite often with no network connection to call on. I develop on a nice shiny laptop which travels with me, but could be off the grid for weeks at a time. How would that fit into a source control world? Can I do a checkout before I travel, then merge on my return? How would that affect my colleagues ability to work on the code? I'm sure I'm not unique with this, so any package / procedure recommendations would be welcome. I am price sensitive, but it doesn't have to be free. A few hundred dollars is OK, and few thousand is right out. Ideally any server would run on XP largely due to me experience (and a 90% spare machine...). Thanks, Iain.
We are using Subversion (http://subversion.tigris.org/) here and share code between us (9 devs) and German (3 devs) developers over small (2Mbit) pipe. Works ok. We also use TortoiseSVN GUI. For my small, personal projects I use bzr (http://bazaar-vcs.org/). HTH, -Marcin
-
What source control tool are you using now? You could checkout and continue working, but not being able to check back in for weeks would cause merging headaches depending on how much you and your colleagues change.
only two letters away from being an asset
What source control tool are you using now? None whatsoever. I have a directory on our server which is backed up daily to an offsite location. (we take turns with an external drive!). I make regular zipped snapshots of products I'm working on. So I'm a clean slate! Iain.
-
sorry. i guess i read too quickly. but, yeah. you can do all your checkouts, then resync. the only problem their would be if someone else was working on the same files - after a month, a merge might be pretty tough to get through (depending on how much you each changed). but you could maybe tell people to be conservative about what they do in those files while you're away.
I do 99% of the development anyway, so other people will not be toooo big a problem. But we are training our people internally, and discussing adding a second programmer, so the problem will become more real. I'm trying to get into good habits and sort things out before it becomes a disaster. Iain.
-
We are using Subversion (http://subversion.tigris.org/) here and share code between us (9 devs) and German (3 devs) developers over small (2Mbit) pipe. Works ok. We also use TortoiseSVN GUI. For my small, personal projects I use bzr (http://bazaar-vcs.org/). HTH, -Marcin
The critical thing that makes me slightly out of the ordinary (apart from my good looks and humility) is my disappearing off forf extended periods with no (or teeny weeny) net connection. And by teeny weeny I mean modem on rubbish hotel line, costing a fortune. Iain.
-
I do 99% of the development anyway, so other people will not be toooo big a problem. But we are training our people internally, and discussing adding a second programmer, so the problem will become more real. I'm trying to get into good habits and sort things out before it becomes a disaster. Iain.
all the places i've worked, each programmer is either assigned, or grows into, his (or her) own area of responsibility within the application. sometimes i'm the UI guy, sometimes the calculation guy, sometimes the web guy, etc., but there's usually some kind of implied separation between the files I work on and the files you work on. that's really what makes source control workable, IMO. otherwise, we'd always be competing for the same files and dealing with the headaches of merging. so, if you and your future dev partner can agree about who's responsible for what, the situation could be painless (as far as source control goes).
-
For a while I've been my company's crack development team. I've taken regular snapshots of my source directory, and backed them up, so I've had *some* good habits. But we've now started some embedded development, and my PC development has changed style too, so I'm looking to a proper source control system. So far so ordinary - I'm sure most of you have gone through this stage. But I often work on site a lot, and quite often with no network connection to call on. I develop on a nice shiny laptop which travels with me, but could be off the grid for weeks at a time. How would that fit into a source control world? Can I do a checkout before I travel, then merge on my return? How would that affect my colleagues ability to work on the code? I'm sure I'm not unique with this, so any package / procedure recommendations would be welcome. I am price sensitive, but it doesn't have to be free. A few hundred dollars is OK, and few thousand is right out. Ideally any server would run on XP largely due to me experience (and a 90% spare machine...). Thanks, Iain.
Like others have said, subversion is a good and free option. It adds meta data to special subdirectories so you can do all your edits completely disconnected. It only uses the network when you connect to the repository to get latest or send changes back. You don't need to be connected to do checkouts. I think CVS works the same way.
Using the GridView is like trying to explain to someone else how to move a third person's hands in order to tie your shoelaces for you. -Chris Maunder
-
Like others have said, subversion is a good and free option. It adds meta data to special subdirectories so you can do all your edits completely disconnected. It only uses the network when you connect to the repository to get latest or send changes back. You don't need to be connected to do checkouts. I think CVS works the same way.
Using the GridView is like trying to explain to someone else how to move a third person's hands in order to tie your shoelaces for you. -Chris Maunder
Thanks for that Andy - the sentence "You don't need to be connected to do checkouts" rang good alarm bells for me. As you the fourth person to point me in that direction I should probably take a hint and go have a proper look! Iain.
-
For a while I've been my company's crack development team. I've taken regular snapshots of my source directory, and backed them up, so I've had *some* good habits. But we've now started some embedded development, and my PC development has changed style too, so I'm looking to a proper source control system. So far so ordinary - I'm sure most of you have gone through this stage. But I often work on site a lot, and quite often with no network connection to call on. I develop on a nice shiny laptop which travels with me, but could be off the grid for weeks at a time. How would that fit into a source control world? Can I do a checkout before I travel, then merge on my return? How would that affect my colleagues ability to work on the code? I'm sure I'm not unique with this, so any package / procedure recommendations would be welcome. I am price sensitive, but it doesn't have to be free. A few hundred dollars is OK, and few thousand is right out. Ideally any server would run on XP largely due to me experience (and a 90% spare machine...). Thanks, Iain.
Subversion's good, svk might be worth a look if you plan on working with a *lot* of other remote devs, and / or want to do local commits and then merge your changes into the main repository when you get 'Net access. Just... don't use SourceSafe. It treats remote developers like sadists treat masochists. Not fun.
---- Scripts i’ve known... CPhog 1.8.2 - make CP better. Forum Bookmark 0.2.5 - bookmark forum posts on Pensieve Print forum 0.1.2 - printer-friendly forums Expand all 1.0 - Expand all messages In-place Delete 1.0 - AJAX-style post delete Syntax 0.1 - Syntax highlighting for code blocks in the forums
-
For a while I've been my company's crack development team. I've taken regular snapshots of my source directory, and backed them up, so I've had *some* good habits. But we've now started some embedded development, and my PC development has changed style too, so I'm looking to a proper source control system. So far so ordinary - I'm sure most of you have gone through this stage. But I often work on site a lot, and quite often with no network connection to call on. I develop on a nice shiny laptop which travels with me, but could be off the grid for weeks at a time. How would that fit into a source control world? Can I do a checkout before I travel, then merge on my return? How would that affect my colleagues ability to work on the code? I'm sure I'm not unique with this, so any package / procedure recommendations would be welcome. I am price sensitive, but it doesn't have to be free. A few hundred dollars is OK, and few thousand is right out. Ideally any server would run on XP largely due to me experience (and a 90% spare machine...). Thanks, Iain.
Obviously everybody will point out cvs or subversion. However as another option is to buy in the services of a hosted source control system. I came across www.projxpert.com which is extremly cheap and leverages subversion. But also provides offsite backup and management of features, requirements bugs, changes etc...
-
For a while I've been my company's crack development team. I've taken regular snapshots of my source directory, and backed them up, so I've had *some* good habits. But we've now started some embedded development, and my PC development has changed style too, so I'm looking to a proper source control system. So far so ordinary - I'm sure most of you have gone through this stage. But I often work on site a lot, and quite often with no network connection to call on. I develop on a nice shiny laptop which travels with me, but could be off the grid for weeks at a time. How would that fit into a source control world? Can I do a checkout before I travel, then merge on my return? How would that affect my colleagues ability to work on the code? I'm sure I'm not unique with this, so any package / procedure recommendations would be welcome. I am price sensitive, but it doesn't have to be free. A few hundred dollars is OK, and few thousand is right out. Ideally any server would run on XP largely due to me experience (and a 90% spare machine...). Thanks, Iain.
I've also heard that a Subversion server can somehow be installed locally on your development machine, but... I'm in exactly the same boat as you; I do both desktop and embedded development and I sometimes have to do bug fixes/enhancements waaaay out in the field. I've been happily using ComponentSoftware's RCS[^] for years now, in its free "single workstation" mode that stores all its files in a single directory on my computer. I keep a replicated (and encrypted) version of my project directories on my personal laptop, and I can copy the RCS directory to the same path on my laptop and it works great, as long as two conditions are met: - Don't keep anything unique under source control on the laptop (so I can just copy the whole RCS directory from my work machine). - Use the same Windows user name on both the work machine and the laptop. It worked great for me last year when I had an emergency job where I was sitting with my laptop in the darkroom of an X-Ray inspection truck by a river on the outskirts of a city three hours from home (no WiFi there!), reverting to previous versions of my firmware to track down a nasty bug. Thanks to this set-up, I found the bug within half an hour. I shudder to think how long it would have take otherwise -- days, for sure. :cool:
-
Subversion's good, svk might be worth a look if you plan on working with a *lot* of other remote devs, and / or want to do local commits and then merge your changes into the main repository when you get 'Net access. Just... don't use SourceSafe. It treats remote developers like sadists treat masochists. Not fun.
---- Scripts i’ve known... CPhog 1.8.2 - make CP better. Forum Bookmark 0.2.5 - bookmark forum posts on Pensieve Print forum 0.1.2 - printer-friendly forums Expand all 1.0 - Expand all messages In-place Delete 1.0 - AJAX-style post delete Syntax 0.1 - Syntax highlighting for code blocks in the forums