Source control and roaming the glens...
-
We use ClearCase, and each developer working on new features uses a different branch for development. This won't block others from checking out the file while you're gone, even though you have it checked out (but on a different branch). When you get back, it's a simple matter to merge things back to the mainline code after it's been tested and ready for the wild.
Karl - WK5M PP-ASEL-IA (N43CS) PGP Key: 0xDB02E193 PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
krmed wrote:
it's a simple matter to merge things back to the mainline code
That statement can only be true for the most degenerate cases, where the components that the separate users are working on are completely separate and have static, well-defined interfaces to other components.
Software Zen:
delete this;
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
Use the source controls branching feature then merge when you get back.
Recent blog posts: * Introduction to LINQ to XML (Part 1) - (Part 2) - (part 3) My website | Blog
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
In our case, the developer took a copy of the working code with him on the laptop and made his changes locally. After he got back, he carefully merged his changes in with the rest of the code. He was lost in the outback of southern France for a while :rolleyes:.
Software Zen:
delete this;
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
In our case, the developer took a copy of the working code with him on the laptop and made his changes locally. After he got back, he carefully merged his changes in with the rest of the code. He was lost in the outback of southern France for a while :rolleyes:.
Software Zen:
delete this;
Gary Wheeler wrote:
He was lost in the outback of southern France for a while
I can think of worse places to be stuck. You sure he was having lots of difficulties that required him to stay on site? And weren't you suspicious when he didn't get phone reception...? Iain. Bonnie Tyler: Lost in France. I was lost in France In the fields the birds were singing I was lost in France And the day was just beginning As I stood there in the morning rain I had a feeling I can't explain I was lost in France in love I was lost in France In the street a band was playing And the crowd all danced Didn't catch what they were saying When I looked up he was standing there And I knew I shouldn't but I didn't care I was lost in France in love Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing I was lost in France And the vines were over-flowing I was lost in France And a million stars were glowing And I looked round for a telephone To say 'baby I won't be home' I was lost in France in love Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing And I looked round for a telephone To say 'baby I won't be home' I was lost in France in love Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing...
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
Gary Wheeler wrote:
He was lost in the outback of southern France for a while
I can think of worse places to be stuck. You sure he was having lots of difficulties that required him to stay on site? And weren't you suspicious when he didn't get phone reception...? Iain. Bonnie Tyler: Lost in France. I was lost in France In the fields the birds were singing I was lost in France And the day was just beginning As I stood there in the morning rain I had a feeling I can't explain I was lost in France in love I was lost in France In the street a band was playing And the crowd all danced Didn't catch what they were saying When I looked up he was standing there And I knew I shouldn't but I didn't care I was lost in France in love Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing I was lost in France And the vines were over-flowing I was lost in France And a million stars were glowing And I looked round for a telephone To say 'baby I won't be home' I was lost in France in love Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing And I looked round for a telephone To say 'baby I won't be home' I was lost in France in love Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing Ooh la la la Ooh la la la dance Ooh la la la dancing...
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
He does keep mumbling something about Marseille, beaches, and pastis...
Software Zen:
delete this;
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
Iain Clarke wrote:
If you checked out the code, would that prevent colleagues from working on it in your absence?
SVN doesn't lock files on checkout by default, which is a good thing. Your colleagues can do all the simultaneous edits they want. It comes down to when people commit back to the repo, SVN will then check for differences between your working copy and the repo. In your situation, as Trollslayer and others said, branch. Then merge when you get back. BTW you can also contribute patches over email to SVN repos.
regards, Paul Watson Ireland & South Africa
Fernando A. Gomez F. wrote:
At least he achieved immortality for a few years.
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
Partial Classes
- A random opportunity is like a taller chair, those who sit hang on, those who hang on fall L.W.C. Nirosh. Colombo, Sri Lanka.
OK, that means absolutely nothing to me (not in this context anyways). This thread is showing more and more of my ignorance. Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
Iain Clarke wrote:
If you checked out the code, would that prevent colleagues from working on it in your absence?
SVN doesn't lock files on checkout by default, which is a good thing. Your colleagues can do all the simultaneous edits they want. It comes down to when people commit back to the repo, SVN will then check for differences between your working copy and the repo. In your situation, as Trollslayer and others said, branch. Then merge when you get back. BTW you can also contribute patches over email to SVN repos.
regards, Paul Watson Ireland & South Africa
Fernando A. Gomez F. wrote:
At least he achieved immortality for a few years.
Another point of ignorance exposed. If I can just do a chunky checkout, then merge on return without stepping on too many toes, the problem goes away. I had understood checkout to be more of a locking activity than it apparently is! And emailling back changes could be a handy trick. Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
OK, that means absolutely nothing to me (not in this context anyways). This thread is showing more and more of my ignorance. Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
Another point of ignorance exposed. If I can just do a chunky checkout, then merge on return without stepping on too many toes, the problem goes away. I had understood checkout to be more of a locking activity than it apparently is! And emailling back changes could be a handy trick. Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
Iain Clarke wrote:
I had understood checkout to be more of a locking activity than it apparently is!
Yeah, it is a hangover from older source control systems which locked files on checkout and unlocked them on commit. SVN can be setup to work like this and other source control systems still do it (perforce for instance.) It is up to you what you prefer but you'll find most major open source projects use the "copy-modify-merge" model instead of the "lock-modify-unlock" model.
regards, Paul Watson Ireland & South Africa
Fernando A. Gomez F. wrote:
At least he achieved immortality for a few years.
-
Iain Clarke wrote:
I had understood checkout to be more of a locking activity than it apparently is!
Yeah, it is a hangover from older source control systems which locked files on checkout and unlocked them on commit. SVN can be setup to work like this and other source control systems still do it (perforce for instance.) It is up to you what you prefer but you'll find most major open source projects use the "copy-modify-merge" model instead of the "lock-modify-unlock" model.
regards, Paul Watson Ireland & South Africa
Fernando A. Gomez F. wrote:
At least he achieved immortality for a few years.
So, I'm not terribly ignorant, just out of date. Hmm, is that better? Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
If your source control supports branches, I would create a branch off your main development branch, and create a local view of that on your laptop. You could either check out all the source files and work on them, or manually keep track of which files you've changed. Then check everything back in to your once you are back, and merge from your branch to your main branch. Generally speaking most source control systems would allow multiple checkouts, although it relies on people being smart enough to be able to merge their changes in correctly
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
Lovely sig :D
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist -
Lovely sig :D
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighistIt does have a little history behind it... We played a lot of sig tag when I was about more two months ago. Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
krmed wrote:
it's a simple matter to merge things back to the mainline code
That statement can only be true for the most degenerate cases, where the components that the separate users are working on are completely separate and have static, well-defined interfaces to other components.
Software Zen:
delete this;
Gary Wheeler wrote:
That statement can only be true for the most degenerate cases, where the components that the separate users are working on are completely separate and have static, well-defined interfaces to other components.
Actually, even complex cases can be merged very easily in ClearCase. Perhaps you've not worked with ClearCase and merged such cases. It works extremely well, even if 3 or 4 people have modified the same file on different branches.
Karl - WK5M PP-ASEL-IA (N43CS) PGP Key: 0xDB02E193 PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
-
A question came up at work recently, though I've thought about before. You have a nice shiny source control system, and many happy developers at code headquarters. But you need to take your laptop and go to a customers site in the deep arctic, and internet access there is limited at best, and you can only borrow a pc to check your email. You'll be there for a few weeks, and for nothing better to do, will be writing a feature or two in the software, or may need to tweak it to match immediate customer demands. How would that work with source control? If you checked out the code, would that prevent colleagues from working on it in your absence? Your's knowing-source-control-is-a-Good-Thing-but-has-some-conceptual-hurdles, Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
You can also consider a distributed SCS[^] if you are not already set on a centralized one.
-
You can also consider a distributed SCS[^] if you are not already set on a centralized one.
One of the earlier posters mentioned Bazaar (bzr), which sounds quite interesting. It doesn't require a server setup, so is easier to experiment with. Iain.
Plz sir... CPallini CPallini abuz drugz, plz plz help urgent.
-
Gary Wheeler wrote:
That statement can only be true for the most degenerate cases, where the components that the separate users are working on are completely separate and have static, well-defined interfaces to other components.
Actually, even complex cases can be merged very easily in ClearCase. Perhaps you've not worked with ClearCase and merged such cases. It works extremely well, even if 3 or 4 people have modified the same file on different branches.
Karl - WK5M PP-ASEL-IA (N43CS) PGP Key: 0xDB02E193 PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
CC's merge tool only burned me once. I was dealing with a client defined WTFXML format help document. Version N of the application temporarily removed feature A. I branched the help document at that point with the A documentation in the new branch and the main branch having it removed. Version N+1 of the app added feature A back. At that point I went to merge the A branch into the main branch. Because of the xml structure and how rationals diff merge tool parsed XML there were (literally) over three thousand changes identified. Automerge didn't add anything that was in the A branch but not the main one. Manual merge required moving through the changes sequentially with no option to go out of sequence, (although you could tell it to automerge all unresolved changes). The problem changes were around the 1500 point. :omg: :wtf: :omg: :wtf: After sending an SoS to the internal helpdesk ("either my finger will fall off, the mouse button will break, or the mouse will throw itself in front of a cat"), which was forwarded to IBM, the official solution was to replace CCdiff with KDiff for XML files. Aside from a truely hideous color scheme it worked fine that way. :laugh:
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall