|
A Great Hole in the Art World... We`ll miss Paco
|
|
|
|
|
Does that make him a Great Arthole?
|
|
|
|
|
Well, it's a side effect, but...
http://what-if.xkcd.com/85/[^]
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
Meh, it fails to take in the co-efficient of restitution and the players handicap.
---------------------------------
Obscurum per obscurius.
Ad astra per alas porci.
Quidquid latine dictum sit, altum videtur .
|
|
|
|
|
And then we could go to the moon again fake another moon landing.
|
|
|
|
|
No, you'd be able to see a bag o' balls that big with the naked eye, never mind binoculars!
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
So... many... lines... must... not... comment...
|
|
|
|
|
HI all,
one of our client going to launch a 1.0 version of a product in the market in near future. as we are new with maintaining a version of a product i would like to know the best practice to take care about that. there may be new plugins/ functionality will be added to the product which may be separate module or may be interconnected with existing modules.
i want to know the best practice to maintain this, from document level to code level or something else as well.
Ravi Khoda
|
|
|
|
|
What you are talking about is release management and that's a much bigger topic than would fit in a single lounge response. To be honest, you should have been thinking about release management all along because it affects things such as source branching strategies, testing strategies, application architecture, regression paths, versioning, serialization - the list of things it encompasses is huge.
|
|
|
|
|
Alright thanks for your reply. i got a lot of new keywords to google and check about them. will do some more research on that.
Thanks
Ravi Khoda
|
|
|
|
|
Firstly, get thee to a repository. Use whatever you like, but use one.
Now use a file structure with head - the current head revision, development - branched off a version, and branch - holding each release.
This structure I've used successfully:
product
+- branch
| +- v1.0
| | <branched from head for build of version 1.0 and it's sub versions.>
| +- v1.0.1
| | <branched from v1.0 for build of patches to 1.0.1>
| +- v1.1
| | <branched from head for build of version 1.1 and it's sub versions.>
| <etc>
+- user
| +- <user>
| <branched from where the user is working>
+- head
| +- documents
| | <documents at the head revision
| +- source
| <source at the head revision
+- work
<any non version related files>
For any major piece of work, branch to a user area and on completion integrate back. Integration to the branch lines is only for release and there should be no development there.
Then have an automated build process that can pull down any line, say product\head or product\branch\v1.0 , build it and package it. As a super bonus, have the build process put on the version stamps to the files [left as an exercise for the reader].
This structure means you can patch any or all versions of the code and manage your code safely. But no one wants to reduce the risk do they?
|
|
|
|
|
alright something new for me but will give it a go. my project is in asp.net should i go with SVN or Visual Source Safe as version tool.?
Ravi Khoda
|
|
|
|
|
I purposefully did not use the phrase version tool or recommend any particular repository. There are many factors that go into choosing a scheme and with the information you give it is hard to say which is better for you.
|
|
|
|
|
Alright will check that. thanks for your time and suggetions.
Ravi Khoda
|
|
|
|
|
Branching is evil and is a sign of a flawed process.
This space intentionally left blank.
|
|
|
|
|
Ooh! Ooh! Holy War!
And what, pray tell, is evil about branching off at the point you build a product so that it can be easily be maintained separately or in parallel to the head revision?
TBH I have worked with various repository structures and branch to release has always seemed the easiest and most sensible to me. But what would I know after a quarter century of hacking?
|
|
|
|
|
Nagy Vilmos wrote: a quarter century of hacking
In my quarter century I have never created a branch. In CMS (Code Management System for VMS) we used Classes, now in TFS we use Labels. If your tool doesn't support something like this (I'm looking at you Subversion) then you are using the wrong tool.
Nagy Vilmos wrote: the head revision
That is totally wrong-headed thinking, which is a curse of the "Branch" mentality imposed by inferior tools.
This space intentionally left blank.
|
|
|
|
|
You can branch (to my way of thinking) if you have a legitimate branch in custom business software. A customer wants something and will from thence forth essentially have a separate product that must be maintained, hopefully using libraries to not be totally a new animal.
|
|
|
|
|
PIEBALDconsult wrote: Branching is evil and is a sign of a flawed process.
How do you do an emergency fix of an existing production application?
|
|
|
|
|
He doesn't. He changes his name and moves city to avoid them.
|
|
|
|
|
That depends on the nature of the problem. It's never been an issue.
This space intentionally left blank.
|
|
|
|
|
PIEBALDconsult wrote: It's never been an issue.
Lets make it more specific.
You are working in a company with 20 developers (actual developers not support people) who actively support 8 different products. Each of those products has its own production delivery schedule and each of them goes through following QA process
- Development signs off on the current code.
- QA (or CM) labels a build, then tests that build
- Bugs are cycled back to dev and QA/CM builds/labels/tests until an acceptable level of quality is reached.
- QA then specifies a version to deliver and hands that build (the labeled version) to Operations
- Operations installs that version. So say Operations is running version 5.3.14.
- Development starts or has been working on the next version(s) with some goal that in the future QA will again deliver a version to production.
Operations now reports bug that takes down the production server. It is going down once an hour.
QA is currently in the processing of validating version 5.7.3.
How are you going to fix production?
|
|
|
|
|
jschell wrote: 20 developers (actual developers not support people) who actively support 8 different products. Each of those products has its own production delivery schedule
That's not too far off from where I worked for much of the 90s, but there were more developers and it was about eight customized versions of one product for at least three operating systems. By the time I started there the product was very stable and I only recall one problem that brought down production at one client site.
We were using CMS, with classes, so we knew which version of which file needed to be worked on. It just wasn't an issue.
I didn't even know CMS could do branches until I installed it on my own systems a few years ago.
I'll also state that if you have a lot of bugs, that's also a problem in your process, and branching isn't going to fix it. If you're already entrenched in the "branches will save us" quagmire, then it's too late.
This space intentionally left blank.
|
|
|
|
|
PIEBALDconsult wrote: I'll also state that if you have a lot of bugs, that's also a problem in your process, and branching isn't going to fix it
I will state that in my world problems happen - in production. So solutions are needed - in production.
No one cares about broken process when the server is going down every hour.
But that doesn't mean that I want to deliver code into production without knowing exactly what is there.
PIEBALDconsult wrote: If you're already entrenched in the "branches will save us" quagmire, then it's too late.
That of course has nothing to do with what I said.
|
|
|
|
|
Hello Ravi,
One of the approaches would be to use Version tool like SVN (tortoisesvn.net/about.html).
You can then create branches to maintain different versions of your product.
Please visit the link mentioned above on the usage/details of the product.
Many Thanks & Regards,
Mehul Bhadricha
|
|
|
|