• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Thoughts on choosing a source code control system?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Thoughts on choosing a source code control system?


  • Subject: Re: Thoughts on choosing a source code control system?
  • From: Ian Joyner <email@hidden>
  • Date: Mon, 13 Mar 2006 15:28:28 +1100

I think what I would appreciate is a light-weight version control system better-integrated with the development system, one where when I start on some functionality or patch, allows me to create a new patch, documenting the purpose, etc and that in the editor, the lines that are changed can be flagged with a spot down the side of something, and if I select that line, it displays on the bottom which patch it belongs to, and I can selectively undo patched lines (to see what was there before, which could be another patch), and that I can undo that line (without having to undo all other changes because undos are tied to a stack).

Actually, that's what line numbers were great for, something that everyone who was brought up on C and such seem to hate (because of FORTRAN and COBOL). Of course, if the intention of line numbers had been understood, perhaps we would have their functionality because editors understood the structure of software better, ie a patch might say "this is a change to line 6 of routine r of class C in library L". (Line numbers could be hidden because after all, they are just keys.)

Actually, the Burroughs editor (by a guy named Sharhem Jahari (I have no idea how to spell that!) and greatly extended by Matt Miller who integrated system dumps and debugger support into it) has that. Every compiler of any language wrote out XREFFILES containing information and location of every symbol in the system. Xcode has indexing, but not to the same extent.

But these tools along with the PatchManager were for the system software (MCP OS, compilers, environment and networking software) and doing WebObjects is supposed to not have such complexity, that is if you are even writing code, you are doing something wrong. So, I don't know, I find the need for SCS seems to be at odds with WebObjects. A 300 line class is really complex for what I'm doing (although I have one 1,500 line class which is a controller for a screen with about 18 tabs on it, with drag and drop and auto-save, and a lot of that is to provide functionality that I think could have been in WO in the first place).

So I kind of feel because of the difficulty of using most of these SCSs and the need for a librarian (where it should be controlled by the chief software developer) is kind of overkill – although I admit I would like some of the offered functionality and may buckle just to get some of it. But maybe my unease with these systems is that they seem more file-based because that's "the way computers and Unix work", rather than patch-based which would result from thinking about the development process at a high-level of abstraction.

Ian

On 13/03/2006, at 2:42 PM, Karl wrote:

I personally believe that an SCS, whichever poison / flavour you choose, is a very good idea. Its nice to be able to remove the 'oops' factor and to get back to a prior version of code. Or to have some assistance with branching code.

However I really understand what Ian is saying with respect to any overhead: I believe in the role of librairian..someone who manages your code, checks it in, etc, etc. Whichever language you use, it is a valuable role. Understanding every aspect of your code and its life cycle is critical. An SCS is a tool that can assist and also deal with the oops factor.

Karl

On 12-Mar-06, at 10:33 PM, Arturo Pérez wrote:

Well, Ian, that's certainly radical. I must say that I would really feel must comfortable having a SCS handy as I like to make lots of small revisions.

My personal process is make revisions, get to a stable (but not necessarily bug-free) point and do a backup. I prefer to use an SCS for backup as the tools are mostly engineered with that in mind. But a plain backup would probably work well, too.

The only OS I know of that supported that nicely is VMS but even it only supports 32,000 versions of a file :-)

-arturo

On Mar 12, 2006, at 8:08 PM, Ian Joyner wrote:

Now what are your real requirements? I'll throw in another thought for you – don't bother with an SCS at all! For small companies and small projects they really are not necessary and add so much overhead that you almost have to employ an expert to get whichever one you choose working.

Rather than wasting such resources, the money is better spent on someone who really understands software structure will get your class structure right and develop neat programs. Perhaps once that is right, an SCS might help, but too often the reverse is the case and an SCS is used to help manage a mess of a software system.

Of course, this comment might start off the real religious war since the process and methodology people don't like the real truth to be known that they are really just hiding behind their tools ("the project failed, but don't blame us we did everything right according to some misguided book"). Since I don't know the real structure of your company or development team I can't really comment, but I can only say that SCS systems are not necessarily a mandatory part of the development process, and it is worth thinking about, since none of these tools seem to be without their problems (which you must expend energy and resources to solve).

(Oh yeah and be wary of the marketing pitch of these methodologies that says you are obviously a hacker if you are not using this or that tool. They know how to make people feel inferior if they are not using them and of course can go straight to management, who will fall for the pitch. Goes back to the SA/ SD days and probably further, but I know even Larry Constantine who wrote the book with Yourdon woke up to that one and moved on.)

OK, I'm going back to reading "Object-Oriented Software Construction" now.

Ian

On 12/03/2006, at 8:24 AM, email@hidden wrote:

Hi all,

I hope this doesn't kick off a flame war; I know this can be one of those semi-religious topics. But I'm hoping we can have a civil discussion about it.

I've used CVS forever, and want to move into something more modern. I heard from several people I really trust that Perforce is da bomb, and in my tests it worked just fine. I had occasion to use their support, and was impressed by how good it was. However, the $800 per seat cost is pretty steep for a small company, and it seemed clear from reading both the Xcode and WO lists that there are a lot of people using Subversion. So I decided to look into that.

After reading through the Manning book on Subversion, I was starting to have doubts. There were a distressing number of places where the author seemed to be giving workarounds to limitations in Subversion, without quite admitting that was what he was doing. I just didn't feel like I was reading about a polished product, one that would be so much better than CVS that it would be worth the effort to switch. However the siren call of "free" was still beckoning me, so I started monitoring the Subversion user's list.

I don't read all the posts there but from the ones I do read it seems like a bit of a pattern is emerging. The users there are extremely protective of their software of choice, and they don't take kindly to people suggesting improvements. There was recently a knockdown dragout over whether the "cvs tag" functionality should be added to Subversion or not. Additionally, it appears that the Subversion developers are not terribly interested in what the user community cares about; a good number of the replies on the tags thread could be boiled down to "Subversion rulez, we don't need no stinkin' tags, and why are you bothering to argue about this since the developers don't take requests". It was not a terribly impressive or inspiring exchange. I've been part of communities like this before and it seems to me that when the users have a bad attitude they usually caught it from the developers, and when the developers have a bad attitude the software ends up suffering.

OTOH, there have been some big splashy conversions to Subversion lately; Sourceforge is now offering it, among others. So it's not like the Subversion project is going to fade into petulant obscurity any time soon, even if they deserved to.

So... any thoughts on why I should (or should not) go with Subversion or Perforce or something else entirely are all welcome. Also, for those using Subversion, are you using it through Xcode or with some other front end? It seems that some of it's limitations can be solved by using the right client software, but there are so many to choose from that it's hard to tell which one is the best.

Thanks!

janine

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40sportstec.com


This email sent to email@hidden


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40ethicist.net


This email sent to email@hidden


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40mac.com


This email sent to email@hidden



_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: Thoughts on choosing a source code control system?
      • From: Art Isbell <email@hidden>
References: 
 >Thoughts on choosing a source code control system? (From: email@hidden)
 >Re: Thoughts on choosing a source code control system? (From: Ian Joyner <email@hidden>)
 >Re: Thoughts on choosing a source code control system? (From: Arturo Pérez <email@hidden>)
 >Re: Thoughts on choosing a source code control system? (From: Karl <email@hidden>)

  • Prev by Date: Re: Thoughts on choosing a source code control system?
  • Next by Date: Re: Thoughts on choosing a source code control system?
  • Previous by thread: Re: Thoughts on choosing a source code control system?
  • Next by thread: Re: Thoughts on choosing a source code control system?
  • Index(es):
    • Date
    • Thread