|
Mailing Lists
|
Home /
Groups /
ColdFusion Talk (CF-Talk)
Simple source control
Author: Hugo Ahlenius
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265289
Claude,
Even though you don't see the benefits of using full, concurrent,
version control, maybe you should consider the the combined wisdom of
developers through-out the ages (please study the evolution of version
control from rcs and the like up to svn, through cvs, and further -
arch, svk etc), and the suggestions and comments you are getting here on
the list... ?
Even if you don't see the need for SVN now, it would be a good
investement in yourself and you developers for the future.
Anyways - before I started using CVS (and later SVN), I experimented
with a source control system based on CVS predecessor - CS-RCS. This is
a non-concurrent (i.e. no merging) revision control system, based on the
ancient RCS. It is a long time since I played with it, but you might
want to give it a shot.
http://www.componentsoftware.com/csrcs/
:)
/Hugo
--
Hugo Ahlenius
-------------------------------------------------------------
Hugo Ahlenius E-Mail: hugo.ahlenius@grida.no
Project Officer Phone: +46 8 412 1427
UNEP GRID-Arendal Fax: +46 8 723 0348
Stockholm Office Mobile: +46 733 467111
WWW: http://www.grida.no
Skype: callto:fraxxinus
-------------------------------------------------------------
###########################################This message has been scanned by
F-Secure Anti-Virus for Microsoft
Exchange.Formore information, connect to http://www.F-Secure.com/
Author: Richard Kroll
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265245
> >>Yes. But why would would you want to automatically download code
from
> there?
>
> To make sure that a programmer will get the last version before he
> starts working on a file.
> At least, this should be checked by the system when a user request a
> lock on a file.
>
Making sure that you are working on the latest version of a file is not
automatic, but does not hurt anything if it is not the latest either.
When the developer attempts to commit their changes, SVN will simply
notify them that their code is out of date and force them to update
their local copy prior to committing. When they update, any conflicts
will be caught, merged / fixed, and they are then free to commit the
changes.
I think this is beginning to become a relentless circle of you
challenging source control systems and people that use them offering up
solutions to the challenges you propose. In any event, you have heard
from every response that a SCM tool will solve the problems you are
facing as well as many problems you have YET to face. Each SCM tool
that has been proposed (CVS, SVN, VSS), now it is just a matter of
deciding which will best suit your needs. I've personally given you
advice based on experience walking the road that you seem to be
currently on. You can take it or discard it, but the answers from this
list are going to stay the same: You need a source control tool. And
the 3 that are most widely used are:
SVN - Based on CVS and addresses some of its shortcomings
CVS - Tried and true with some small limitations.
VSS - M$'s SCM and IMO a pain to work with.
HTH
Rich Kroll
Author: Damien McKenna
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265243
On 12/28/06 3:55 PM, Claude Schneegans wrote:
> Thanks to everyone for your feedback on that subject.
You're very welcome.
> I appreciate all your comments, even if I'm aware that most of them came
> from people working on fairly large applications, with tens of developers,
> which is definitely not what I am involved in.
As the saying goes, I'm an army of one, and even for little olde me the
benefits *far* outweigh the tiny amount of hassle. I could probably wager
that everyone who uses a revision management system has had their ass(et)s
and possibly their jobs saved at least once by using it.
--
Damien McKenna - Web Developer - dmckenna@thelimucompany.com
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
#include <stdjoke.h>
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265242
Thanks to everyone for your feedback on that subject.
I appreciate all your comments, even if I'm aware that most of them came
from people
working on fairly large applications, with tens of developers, which is
definitely
not what I am involved in.
But thanks anyway.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Michael Traher
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265227
Hi Claude, I think many of us who have implemented source control will
recognize the issues and concerns you are grappling with - they are quite
natural. What I would say is that I wish I had tried a pilot of CVS/SVN
sooner rather than all the worrying and discussing I did over a couple of
months :-)
In other words give it a try on a smallish project maybe even a pretend
project and play out several of the scenarios that concern you.
Even before we had deployment fully sorted out, having CVS was far better
than not having it.
----- Excess quoted text cut - see Original Post for more -----
Author: Jochem van Dieten
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265221
Claude Schneegans wrote:
----- Excess quoted text cut - see Original Post for more -----
Personally I think consistency is much more important then recency. I wouldn't
want to start working on version 4 of file X, then check out file Y a few hours
later only to discover that somebody updated the repository and I get version 6
of file Y that conflicts with version 4 of file X. I would want to continue
working on version 4 of file Y until my part works, update my working copy with
the changes from the repository for both file X and file Y, check the
functionality and then push them both to the repository. If I do that, at every
point in time both the repository and my working copy are consistent.
Jochem
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265219
>>Yes. But why would would you want to automatically download code from
there?
To make sure that a programmer will get the last version before he
starts working on a file.
At least, this should be checked by the system when a user request a
lock on a file.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Steve Brownlee
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265217
Claude:
First off, what you want doesn't exist and I think you need to
understand that initially. What does exist, however, are source control
packages that WILL save you time and headaches in the future working in
a team environment.
That said, the next thing you need to understand is that there are
policies that need to be followed when working with source control. One
of your questions...
"Ok, but what if they don't? They can create a new version from an
obsolete copy?"
Standard source control policy dictates that before you being any work
at all, you lock and download the latest copy of the file from the
repository. If a developer submitted code changes on a file that (s)he
did not lock and update first would get severe disciplinary action in
the first instance. Any subsequent instances would get them fired.
To cover another remark...
"and overwrite some more latest code already pushed by someone else?"
Again, policy. You designate one person as the build coordinator who is
the final, absolute, total overseer of when a tag is released to your
production server. No overwriting possible in that case, and even if
you had a rogue employee who decided to do their own publish of the
code, then once you've fired them, you simply go back in your code
repository and get the build you want. Nothing is ever lost and you can
always recover.
And lastly...
"Well, I may be wrong, but my vision of a source control system is to
manage things so that they don't need to be fixed"
Imagine the above scenarios if you DIDN'T have source control.
Catastrophic. With source control? Easily managed. Just remember is a
mixture of the right policies and the right tools.
Source control prevents problems. Absolutely, unequivocally, and has a
solid track record to prove it.
Good luck!
Steve Brownlee
http://www.fusioncube.net/
>>You have all of the previous versions available to you so you can
easily fix things,
Well, I may be wrong, but my vision of a source control system is to
manage things so that they don't need to be fixed.;-)
If it is to create problems and then fix them, I don't really need any
tool for this ;-)
Author: Jochem van Dieten
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265216
Claude Schneegans wrote:
>> when the user logs into what?
>
> Well, there must be some repository manager on the server, no?
Yes. But why would would you want to automatically download code from there? Only
exchange code with the repository when you explicitly want to and have authorized
the changesets going in both ways.
----- Excess quoted text cut - see Original Post for more -----
Of course. That is how you fix bad fixes. You just have to jump through a few
hoops when you want to check in code based on old code because a conflict will be
detected and you need to manually resolve the conflict and overwrite the new
version.
----- Excess quoted text cut - see Original Post for more -----
There is no 'more latest code'. The repository is authoritative, if the
repository says it is the latest code it is the latest code.
Jochem
Author: Doug Bezona
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265215
> Well, I may be wrong, but my vision of a source control system is to
> manage things so that they don't need to be fixed.;-)
No system can entirely prevent human error (and modifying stale code
because you didn't do an update is human error), source control systems
just dramatically reduce the impact when they occur.
All source control systems in existence, regardless of the model,
require a certain amount of knowledge and discipline from the developers
to use properly, but it's still far less problematic than not using such
a system and having your code being arbitrarily edited by multiple
people with no way to track who changed what when, and to recover from
the problems that inevitably arise.
> If it is to create problems and then fix them, I don't really need
any
> tool for this ;-)
Yeah, source control is all about creating problems. That's why everyone
uses it - we just like making problems for ourselves. *sigh*
Author: Damien McKenna
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265212
On 12/28/06 11:37 AM, Claude Schneegans wrote:
>> You have all of the previous versions available to you so you
>> can easily fix things,
>
> Well, I may be wrong, but my vision of a source control system is to
> manage things so that they don't need to be fixed.;-)
There's only so much magic a tool can do for you, at some point you are
going to have to, you know, do some work too. If your developers aren't
able to cope with not messing up each other's work then you should either
give them the tools they need to more easily work as a team (i.e. svn,
Mantis, etc) or get them a new project manager who understands team
workflows. I've worked with people who didn't understand this need and
ultimately they killed the company (over 100 jobs) due to their lack of
knowledge.
> If it is to create problems and then fix them, I don't really need any
> tool for this ;-)
SVN *fixes* problems, not create them. You already have a huge problem
given that you have no revision management, SVN is a solution to this
problem and something like Mantis or Trac can help you manage the
development team to coordinate everyone's efforts.
--
Damien McKenna - Web Developer - dmckenna@thelimucompany.com
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
#include <stdjoke.h>
Author: Doug Bezona
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265211
> >>when the user logs into what?
>
> Well, there must be some repository manager on the server, no?
There is - it comes into play when the user performs an operation
against the repository, i.e. an update or a commit. Since your working
copy is a disconnected resource until you initiate an interaction with a
repository, you can't really force an update when the user simply looks
at their files.
----- Excess quoted text cut - see Original Post for more -----
If they don't, and the files they are checking in are out of synch with
the repository, then they have to go through the merge process. Merging
is fairly painless if you are working with up-to-date code, but can be
painful if you started from a copy that is several revisions out of
date.
Believe me, if this sort of thing happens to a developer more than a
couple of times, they tend to get much more responsible about keeping
their working copy updated in the future. You will likely find in
practice that developers tend to update more often than necessary to
avoid this sort of thing as opposed to not frequently enough.
----- Excess quoted text cut - see Original Post for more -----
Generally, you don't just arbitrarily deploy whatever is newest. This is
why source control systems have the ideas of branching and tagging, and
why you can export specific revisions of the code.
Your deployment process is something you would have to determine based
on your release schedule/requirements. The point is that the mechanics
of doing a deployment can be made very simple by combining the
functionality of the source control system with something like Ant to
automate the process.
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265209
>>You have all of the previous versions available to you so you
can easily fix things,
Well, I may be wrong, but my vision of a source control system is to
manage things so that they don't need to be fixed.;-)
If it is to create problems and then fix them, I don't really need any
tool for this ;-)
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Michael Traher
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265208
> .... and overwrite some more latest code already pushed by someone
> else?.... BADAMMMM! ;-)
What happens is that you always deploy from the repository - not from an
individuals copy. so you deploy from the latest committed version.
--
Mike T
Blog http://www.socialpoints.com/
Author: Damien McKenna
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265207
On 12/28/06 11:28 AM, Claude Schneegans wrote:
----- Excess quoted text cut - see Original Post for more -----
So? You have a complete record of all changes made so it is easy to go back
and see what has changed.
>> Using asimple ANT script, you can get all th latest code from the
>> repository and push it to a server....bammm!
>
> .... and overwrite some more latest code already pushed by someone
> else?.... BADAMMMM! ;-)
See above. You have all of the previous versions available to you so you
can easily fix things, as opposed to being stuck not knowing what
modifications have been made.
--
Damien McKenna - Web Developer - dmckenna@thelimucompany.com
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
#include <stdjoke.h>
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265204
>>when the user logs into what?
Well, there must be some repository manager on the server, no?
>>users have to go and fetch the latest versions. Its really
simple in Eclipse, right-click > Team > Update...done!
Ok, but what if they don't? They can create a new version from an
absolete copy?
>>Using asimple ANT script, you can get all th latest code from the
>>repository and push it to a server....bammm!
... and overwrite some more latest code already pushed by someone
else?.... BADAMMMM! ;-)
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: C. Hatton Humphrey
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265203
> he who commits first wins, eh? Second place entires have to be merged IF
> there is a conflict. Sure, lock the files, but this defeats the purpose of
> 'concurrent versions' to steal a term from the CVS world.
I think the point is that if locking and "concurrency" are mutually
exclusive terms.
Author: Michael Traher
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265199
Hi - just like to second what Richard has said below. We have used CVS for
over two years now and cannot think of developments without it. We have
projects distributed over teams in up to 5 countries. Even so CVS coupled
with [CF]ECLIPSE (which has very sweet CVS built in) make working together
possible and easy.
I also worried about locking and merging, but as Richard says conflicts are
fairly rare and when they do crop up it actually highlights early in the
development where there might be some miscommunication in the team. Either
that or it is a trivial 'conflict' that can be merged seemlessly.
I also designed my own 'Source Control' system when I first considered this
issue but soon realised that it was better to go with a tried and tested
system.
I can personally recommend CVS but SVN seems to be the defacto standard for
the community and is basically CVS re-written and improved.
----- Excess quoted text cut - see Original Post for more -----
Author: Richard Kroll
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265196
Claude,
I recently went through exactly what you are dealing with now. Our
development environment began with all developers working against the
exact same code base, where developers would overwrite each others
changes as well as break code during the development process that would
affect other people. Don't even get me started on the problems we ran
into when deploying to production servers.
Our first step into source control was to use Microsoft VSS which used
the lock model. This worked ok for a short time but once our
development team grew, having people constantly forced to wait for files
to be unlocked became unbearable and began to kill our productivity.
We recently (about 8 months ago) converted to SVN where each developer
has a local copy of the code, makes their changes and then commits those
changes to the main code. With a team of 20 developers constantly
working with the same files, conflicts happen VERY rarely, and when they
do it is 99% of the time a miscommunication as to what should be changed
in that part of the code. Most of the time when code is committed, SVN
merges in changes from other developers transparently. This idea at
first sounds scary, but in practice it has been a TREMENDOUS advantage
in terms of productivity, communication, and stability of our code.
The ability to look back in time at our code has been invaluable in
countless ways. If a bug was introduced, we can simply merge that
change out of the code while we fix it. It truly is an unbelievable
tool. The only downside that we've experienced is that the computers we
use to work on have to be a little more "beefy" to be able to run local
copies of our applications (CF, SQL, TSVN, Eclipse, etc.).
> IMO the merging solution implies more overhead and clumsiness than no
> solution at all.
Hopefully I have communicated how this is truly not the case in a real
world scenario (or at least in ours). If you have the chance, save
yourself the growing pains of moving to a lock model, then outgrowing it
and moving to SVN. If you are going to have your development team learn
a new methodology for how they deal with source, have them learn how to
effectively use SVN.
In the end, we went from a development team of 5 using no source control
to MS VSS, to over 20 developers using SVN. I can attest to the
struggles of converting to source control, as well as not moving to SVN
first.
I hope that my experiences will help you in your efforts.
HTH,
Rich Kroll
Author: Robertson-Ravo, Neil (RX)
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265189
Indeed, there should only be some occasions when an update each day may be
required such as when a new feature is just added and everyone needs it for
their work.
The use of SVN etc is way more advanced than the old VSS system which is
effectively just a store of files to get back when you have a disaster to
overcome.
"This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant,
Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business,
Registered in England, Number 678540. It contains information which is
confidential and may also be privileged. It is for the exclusive use of the
intended recipient(s). If you are not the intended recipient(s) please note
that any form of distribution, copying or use of this communication or the
information in it is strictly prohibited and may be unlawful. If you have
received this communication in error please return it to the sender or call
our switchboard on +44 (0) 20 89107910. The opinions expressed within this
communication are not necessarily those expressed by Reed Exhibitions."
Visit our website at http://www.reedexpo.com
There's a very good reason for it. Your developers may not want the latest
code - they may be working on entirely different branches of the code, or
they may be writing test code locally that don't want to be overwritten.
Basically, the designers of these source control systems wrote them for the
LCD. Each individual user has control over which version of the code that
they have on their machine. There are a myriad of reason why this would be
so. For your needs, this may not make sense, but for projects that have
dozens of developers, automatically downloading the latest code to their
machines every time they start up their editor is a disastrously bad idea.
Let's say Developer A checks in code that has bugs in it. Happens every
day. Now, Developer B who's happily working away on a stable copy of the
code comes into work the next day, fires up Eclipse, does some work and
starts testing the application and things start breaking all over the place.
He has no idea that Developer A checked in code, what that code does, or why
it's now breaking his code. It'd be a nightmare.
Steve Brownlee
http://www.fusioncube.net/
> The only thing is I wonder why this is not automatic when the
> user logs in.
Author: Steve Brownlee
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265185
There's a very good reason for it. Your developers may not want the latest
code - they may be working on entirely different branches of the code, or
they may be writing test code locally that don't want to be overwritten.
Basically, the designers of these source control systems wrote them for the
LCD. Each individual user has control over which version of the code that
they have on their machine. There are a myriad of reason why this would be
so. For your needs, this may not make sense, but for projects that have
dozens of developers, automatically downloading the latest code to their
machines every time they start up their editor is a disastrously bad idea.
Let's say Developer A checks in code that has bugs in it. Happens every
day. Now, Developer B who's happily working away on a stable copy of the
code comes into work the next day, fires up Eclipse, does some work and
starts testing the application and things start breaking all over the place.
He has no idea that Developer A checked in code, what that code does, or why
it's now breaking his code. It'd be a nightmare.
Steve Brownlee
http://www.fusioncube.net/
> The only thing is I wonder why this is not automatic when the
> user logs in.
Author: Douglas Knudsen
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265184
when the user logs into what? I tell my team all the time, nothing in SCM
is automagic, users have to go and fetch the latest versions. Its really
simple in Eclipse, right-click > Team > Update...done!
Here's another neato thing about using CVS or SVN....automated code pushes!
Using asimple ANT script, you can get all th latest code from the
repository and push it to a server....bammm!
DK
----- Excess quoted text cut - see Original Post for more -----
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265180
>>I'm not sure if this is a feature that you see as a con, but since the
procedure takes about 2 seconds to complete, it's not something to be
concerned about.
The only thing is I wonder why this is not automatic when the user logs in.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Steve Brownlee
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265175
I'm assuming you mean the other developers - the ones who did not modify
the code for a specific issue. Yes, they would then have to manually
grab the latest revision (whether it be HEAD or some variation of a
"current build" tag). For example, in Eclipse/SVN, you go to the "Team
> Update" selection on your project. This then downloads any file that
has a different version (on the same tag) than the one on your disk. So
if you pulled down your working copy a week ago and ten files had been
committed since then, that command would pull down all ten files.
I'm not sure if this is a feature that you see as a con, but since the
procedure takes about 2 seconds to complete, it's not something to be
concerned about.
Steve Brownlee
http://www.fusioncube.net/
>>1. Lock the file (noted on the server) >>2. Download the HEAD
revision - the latest copy of the code - in case >>someone else has
changed it since their last download >>3. Start working on their job
>>Then once they are finished with their files, they commit them. This
>>does two things...
>>1. Releases the lock on the server
>>2. Makes the file read-only on their working copy again
This is almost how I imagined it.
The only thing, do they have to look by themselves for the new things to
update, or is this automatically done during some login procedure ?
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265174
>>If you need more detailed assistance, email me offline and I'll do
what I can.
Thanks, I downloaded it and I'm presently reading the F*** manual ;-)
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265173
>>1. Lock the file (noted on the server)
>>2. Download the HEAD revision - the latest copy of the code - in case
>>someone else has changed it since their last download
>>3. Start working on their job
>>Then once they are finished with their files, they commit them. This
>>does two things...
>>1. Releases the lock on the server
>>2. Makes the file read-only on their working copy again
This is almost how I imagined it.
The only thing, do they have to look by themselves for the new things to
update, or is this automatically done during some login procedure ?
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265171
>>So tell me, how do you currently cope with multiple developers wanting
to
make changes to the same file?
I am just moving from a ONE developer environment to a COUPLE OF
developers "team",
this is why I used the term "Simple". ;-)
>>Do they download the file from a central
server and then make their changes?
No, everyone has a complete set of files on his PC, develop and test on
it, then upload modification on the server, when everything work fine.
Then others are warned and the get the new files by FTP from the server.
Usually, I create a new sub-directory for any new module to develop, but
there are a certain number of files that a common to all modules, like
custom tags, application.cfm, language specific text files, etc.
>>Do you restrict developers from working
on the same files often?
Yes, but generally for a short period of time, and we deal with this by
telephone or eMail.
I was just imagining that there could exist some more efficient method
for programmers ;-)
>> What if they both actually need to work on the
same file over the course of a day or two day's worth of work, do they spend
all day juggling the file back 'n forth?
The longer they have to work on a file, the more likely they are alone
to work on it, so it is not a problem.
In this case, the file is locked only for security, it is not really a
restriction.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Pete Ruckelshaus
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265170
I'm going to echo the Subversion/TortoiseSVN recommendations.
I'm a one man show but I work on two systems and have two development
servers, and SVN makes keeping files synced very simple. I don't do
anything beyond the basics with SVN, i.e. add/update/commits, and it's
quite simple to use. Setup isn't quite like falling off a log, more
like tripping over one. Once you get it installed on the server, get
it set up as a Windows service using svnserve and you're good to go.
If you need more detailed assistance, email me offline and I'll do what I can.
Pete
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265169
>>Developer B is still going to have to frequently at least review what
changes where made to the file so that (s)he understands them and how
them may or may not affect the task they are about to use the file for.
If I had to develop such a tool, this would be done automatically,
either when developer B re logs-in, either during he is logged, via AJAX.
When he logs, he actually opens his browser on a page in his client
module, this page would check for modifications in the application
regularly, download every new file, and lock (mark read-only) his own
files when other developers lock files on the server.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Steve Brownlee
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265168
Claude:
When working with code repositories, the first thing each developer does
is download the current version of the entire repository. This is
called their working copy. When you give them an issue/defect to work
on, they...
1. Lock the file (noted on the server)
2. Download the HEAD revision - the latest copy of the code - in case
someone else has changed it since their last download
3. Start working on their job
Then once they are finished with their files, they commit them. This
does two things...
1. Releases the lock on the server
2. Makes the file read-only on their working copy again
You can work on any file on your disk ad inifinitum, however, source
control only kicks it when a developer COMMITS the file back to the
server.
You could then also specify one of your developers as a build
coordinator. Before the code gets put into the main tag (you usually
don't want to build off of the HEAD revision) they download the code
from each issue and tests that it a) fixes the defect correctly, and b)
does not cause conflicts with other code. Again, this step it optional
and for complex projects.
CVS and SVN both support file locking on the server. If you do not want
to support file locking, you then move the responsibility of build
coordinator to each developer. If they commit a file and the server
notifies them of conflicts, it is then their responsibility to merge the
code, test it thoroughly again, and then re-commit the file.
Hope that helps,
Steve Brownlee
http://www.fusioncube.net/
>>If I have the file checked out and someone else attempts to download
the file,
So you mean one has to download every file he wants to work on?
What if he opens a copy of the file he already has on his disk?
Author: Damien McKenna
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265167
On 12/27/06 4:35 PM, Claude Schneegans wrote:
> Lets say I don't agree AT ALL with neither the cons of the locking
> solution, neither the pros of the merging.
So tell me, how do you currently cope with multiple developers wanting to
make changes to the same file? Do they download the file from a central
server and then make their changes? Do you restrict developers from working
on the same files often? What if they both actually need to work on the
same file over the course of a day or two day's worth of work, do they spend
all day juggling the file back 'n forth?
Do you have any project management tools in use, like MantisBT
(http://www.mantisbt.org/, which I've used for several years and is good
stuff), Basecamp, etc? How do you decide what projects need to be done,
what files need to be changed, who does what work, etc? Revision management
tools, like subversion, fit into this and the fact that you aren't seeing
this (or don't want to deal with the complexities) suggests that you've
already got a nest of problems you may not be aware of.
What happens if developer B makes changes to developer A's code and all of a
sudden something breaks, e.g. some custom Javascript code that isn't heavily
used? Can you go back to see what was changed, who changed it, what task
was being worked on at the time? Or are you SOL left to pull the entire
project apart until you find the problem?
Yes, you can develop large applications without revision management, but you
shouldn't. Doing so will cause you problems - maybe not today, maybe not
tomorrow, but you can bet that someone is going to get rather upset the day
it does and you just better hope that person isn't a client.
--
Damien McKenna - Web Developer - dmckenna@thelimucompany.com
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
#include <stdjoke.h>
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265166
>>It's only ridiculous if you routinely have developers working on the
same part of the same files at the same time.
This happen evry day with some files, ie: files that contain strings in
any language used in the system.
But these files are quickly modified, so locking them for a short period
of time is not a problem.
>> In practice that shouldn't (and doesn't) happen a lot.
Whether it happens a lot or not is not the question. The question is
being able to properly handle the situation when its happens.
And for me, having to handle the merge by hand is not handling the
situation at all.
>>may I suggest looking for project management
tools instead so they aren't all working on the same file at the same
time to begin with?
Let's say be this is the "correct term" then ;-)
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Ian Skinner
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265165
IMO the merging solution implies more overhead and clumsiness than no
solution at all.
I'm no expert and we currently use locking model tools, Dreamweaver and|or Visual
Source Safe.
But I would like to point out that the merging still goes on, it just happens at
a different point. With locking, after developer A has checked in a file so
developer B can now edit it. Developer B is still going to have to frequently at
least review what changes where made to the file so that (s)he understands them
and how them may or may not affect the task they are about to use the file for.
--------------
Ian Skinner
Web Programmer
BloodSource
www.BloodSource.org
Sacramento, CA
---------
| 1 | |
--------- Binary Soduko
| | |
---------
"C code. C code run. Run code run. Please!"
- Cynthia Dunning
Confidentiality Notice: This message including any
attachments is for the sole use of the intended
recipient(s) and may contain confidential and privileged
information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the
intended recipient, please contact the sender and
delete any copies of this message.
Author: Casey Dougall
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265164
----- Excess quoted text cut - see Original Post for more -----
With dreamweaver, if you don't have the file checked out and want to work on
your local copy, you right click and check the file out. It will in turn
grab the newest version of the server.
I've yet to find anything that works better for quick "overwrite control"
than checkin-checkout we have 3 separate devisions of people who could be
editing a file at any one time. SEO, Designers, or Developers, and over the
course of the last year I think we had one or two minor problems with
someone not checking the file out correctly and overwriting code. It's all
about procedures. IF you do shit correctly to begin with, version control is
just overkill.
I can always get a copy of that file from the last X amount of incremental
backups from the last 2 weeks anyway.
Casey
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265163
>>This page covers the different "models" (locking vs. merging) better
than I could.
http://svnbook.red-bean.com/nightly/en/svn.basic.vsn-models.html
Thanks, this is quite clear indeed.
Lets say I don't agree AT ALL with neither the cons of the locking
solution, neither the pros of the merging.
IMO the merging solution implies more overhead and clumsiness than no
solution at all.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265161
>>the newest versions of SVN support locking of a file. The tortoiseSVN
(explorer integration) even has a right click option to lock the file.
That looks more what I'm looking for.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265160
>>If I have the file checked out and someone else
attempts to download the file,
So you mean one has to download every file he wants to work on?
What if he opens a copy of the file he already has on his disk?
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Doug Bezona
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265159
> But this is ridiculous!
It's only ridiculous if you routinely have developers working on the
same part of the same files at the same time. In practice that shouldn't
(and doesn't) happen a lot. If it does, you have problems source control
won't solve for you.
Considering the vast number of hugely complex projects that use CVS or
Subversion, the system clearly works.
You really should read the link I gave you on the topic if you haven't
already. It couldn't be more right about why locking = evil.
> So programmer B has to read and check all what programer A has done,
and
> integrate either his own code into A's file, or A's code ito his own?
IF there is a conflict, that's the general idea. It may sound wacky, but
it's rare, and actually quite easy with a decent diff tool.
> During all this, he has to check if every line of code is still
> compatible, and during all the time it takes, there is still a chance
> programmer C has modify the same file again?
Sometimes, but again rarely.
> May be I didn't use the right term with "version control".
The term isn't incorrect, you just expect it to work a certain way, and
most of the highly respected tools don't - for a reason.
You CAN get source control systems that work primarily on a locking
model - Microsoft would be happy to sell you a copy of Visual Source
Safe, for example.
> I don't need to recover previous versions (although that might be an
> option), I just need to manage users so that only one at a time can
> modify a file.
Being able to recover previous versions is a rather important use for
source control.
If your main use case for it is just to lock files so developers aren't
stepping on one another, may I suggest looking for project management
tools instead so they aren't all working on the same file at the same
time to begin with?
Author: Damien McKenna
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265157
On 12/27/06 4:13 PM, Zaphod Beeblebrox wrote:
> the newest versions of SVN support locking of a file.
FYI that feature has been in there for some time, it isn't a new thing.
--
Damien McKenna - Web Developer - dmckenna@thelimucompany.com
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
#include <stdjoke.h>
Author: Damien McKenna
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265152
On 12/27/06 3:59 PM, Claude Schneegans wrote:
> So programmer B has to read and check all what programer A has done, and
> integrate either his own code into A's file, or A's code ito his own?
You mean that your development team will have to work together to ensure
that there aren't any incompatibilities? Say it ain't so! We'd also best
not tell you about distributed revision management tools, like svk, I think
you'd keel over :^)
Yes, this is what you can do. You can also optionally lock files to a
specific user with SVN (and the older less capable CVS, and probably
everything else out there), but it works best when a) you have some project
management tools in place to coordinate what people are working on, b) good
communication between the developers, c) separate development installations
of your code per developer. I worked at one place a few years ago that
considered file locking a good thing but only because some of the
development staff weren't technically capable enough to handle the issues
(and ultimately the system was so bad that it took down the company).
> I don't need to recover previous versions (although that might be an
> option), I just need to manage users so that only one at a time can
> modify a file.
Version control with a system like SVN is a best practice for a reason - its
one of the best things your development team can do. Couple it with
MantisBT or Trac and you've got yourself a heck of a powerful combination.
--
Damien McKenna - Web Developer - dmckenna@thelimucompany.com
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
#include <stdjoke.h>
Author: Zaphod Beeblebrox
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265154
the newest versions of SVN support locking of a file. The tortoiseSVN
(explorer integration) even has a right click option to lock the file.
----- Excess quoted text cut - see Original Post for more -----
Author: Damien McKenna
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265155
On 12/27/06 4:05 PM, Claude Schneegans wrote:
>>> This sounds like a job for Dreamweaver.
>
> I read somewhere that this feature what buggy in DW, and I'd rather have
> an editor independent tool.
Yes, it is. It also works off the production server, which isn't a good
idea anyway.
--
Damien McKenna - Web Developer - dmckenna@thelimucompany.com
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
#include <stdjoke.h>
Author: Casey Dougall
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265156
----- Excess quoted text cut - see Original Post for more -----
Guess it just really depends on how many developers you have working on the
same application. We use Dreamweaver Check-in / Check-out and it's done well
for what we need it to do. If I have the file checked out and someone else
attempts to download the file, it will download it in a "Locked" version and
if they try to edit the file they need to check it out which will tell them
I have it checked-out.
Now this is where we Skype each other and find out when one or the other is
going to be done with the file so the other can do their part. Since we
always have multiple projects running concurrently it's not a big deal to
drop the project for a bit and get into something else until the file is
checked back in.
Casey
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265151
>>Sure, lock the files, but this defeats the purpose of 'concurrent
versions'
"who commits first wins", "concurrent versions", "merged IF there is a
conflict." are PRECISELY the things I want to avoid.
So I guess I didn't use the correct term ;-)
But what would be the correct term then?
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Doug Bezona
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265149
Really the concept was WAY better than the execution here. Dew's
check-in/check-out is rudimentary (I'm being kind), and the locking is
extremely fragile...not to mention not enforced at all (you can simply
unlock it on demand)
And it's not doing actual source control - you can't, say, revert back
to previous versions of a file, or compare versions to see who made what
change when, or deploy multiple versions of an app from a single
repository.
It's just a "convenience" feature that I think causes more problems than
it solves.
Oh, and if by chance someone isn't using Dreamweaver, well....
> This sounds like a job for Dreamweaver. However, if you are wanting a
> free/cheap solution, DW may not be it.
>
> However, DW's site management features, such as the testing server,
> remote server and check-in/-out may do what you need.
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265147
>>This sounds like a job for Dreamweaver.
I read somewhere that this feature what buggy in DW, and I'd rather have
an editor independent tool.
If the tool could just mark local files as read-only, any editor opening
the file will tell its user he cannot modify it.
Then he could use the client module of the system for some options like
being warned when the files are available, or reserve them, have the
list of other files which are locked or unlocked, etc.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Douglas Knudsen
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265145
he who commits first wins, eh? Second place entires have to be merged IF
there is a conflict. Sure, lock the files, but this defeats the purpose of
'concurrent versions' to steal a term from the CVS world.
DK
----- Excess quoted text cut - see Original Post for more -----
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265144
>>What happens is when developer A commits a file changed by developer B,
he is told there is a conflict, and is prompted to compare the two
versions, generally using diff or some variant of it.
But this is ridiculous!
So programmer B has to read and check all what programer A has done, and
integrate either his own code into A's file, or A's code ito his own?
During all this, he has to check if every line of code is still
compatible, and during all the time it takes, there is still a chance
programmer C has modify the same file again?
May be I didn't use the right term with "version control".
What I mean is some tool that will allow programmer A (even force him)
to tell the system "I want to work on file such and such". Then all
these files are "locked", and when user B comes to ask for the same
files, he will be answered "Sorry, these files are already used by
programmer A".
When programmer A upload the new files, they will be sent automatically
to all other programmers, and programmer B will be said "now you've got
the new files, you may lock them for yourself if you want."
I don't need to recover previous versions (although that might be an
option), I just need to manage users so that only one at a time can
modify a file.
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Dawson, Michael
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265143
This sounds like a job for Dreamweaver. However, if you are wanting a
free/cheap solution, DW may not be it.
However, DW's site management features, such as the testing server,
remote server and check-in/-out may do what you need.
Hi,
I've followed about all threads in the list about source control tools,
and I'm still wondering if there exists some tool SIMPLE to use and that
would do some elementary task and ONLY those.
Assuming we have some application on some CF server somewhere, and a
team of developers working remotely on it.
Each developer has a copy of the application on his own development PC,
with CF etc.
When his work is completed and tested, he just updates the application
on the server by sending all new stuff.
The tool I'm looking for would just allow some developer to lock files
on the server the time he needs to modify them.
During that time, no other developer could make the same request for
these files.
This operation would also make the same file write enabled on his own
PC, so he can edit them.
Otherwise, all the files in his project are read-only.
When modifications are over, he would just send a request for updating
the files. This would simply upload the new files to the server and
unlock them, so that other developers could work on them too.
The system would also provide for synchronization, so that new files are
automatically sent to all developers when they log in.
This would require some managing system on the server, and a client
module on every development station, probably linked to the server
module using AJAX.
Any idea about this?
Author: Doug Bezona
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265140
What happens is when developer A commits a file changed by developer B,
he is told there is a conflict, and is prompted to compare the two
versions, generally using diff or some variant of it. If the changes can
be merged non-destructively, the developer can simply merge all of them,
and the combined file is committed. Or he can merge only parts of his
changes, or none of them.
This page covers the different "models" (locking vs. merging) better
than I could.
http://svnbook.red-bean.com/nightly/en/svn.basic.vsn-models.html
----- Excess quoted text cut - see Original Post for more -----
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265138
>>3. They work with their local files as normal, and when they have
changes that are ready to go back into the repository, they "commit"
them.
Ok, but what happens if two developers have modified the same file?
Isn't there any way they can lock files so that no other developer can
open it for modification?
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Doug Bezona
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265136
> Well, I'd like to give it a try, but I've never been able to find a
link
> to download it in their site.
> Even when one clicks on Download, there is nothing to download, except
> source code.
> If I have to compile it, this is not what I call "simple".
http://svn1clicksetup.tigris.org/
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265134
>>I would say get SVN and follow standard process for it.
Well, I'd like to give it a try, but I've never been able to find a link
to download it in their site.
Even when one clicks on Download, there is nothing to download, except
source code.
If I have to compile it, this is not what I call "simple".
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Doug Bezona
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265135
I just rolled out Subversion in my office, and so I'll speak in terms of
that. Most systems work roughly the same way though
> I've followed about all threads in the list about source control
tools,
> and I'm still wondering if there exists some tool SIMPLE to use
Subversion is VERY simple to use. Really, I promise.
> and that
> would do some elementary task and ONLY those.
Well, most systems probably do more than you think you want, but that
doesn't mean you have to use the "extra" features.
> Assuming we have some application on some CF server somewhere, and a
> team of developers working remotely on it.
> Each developer has a copy of the application on his own development
PC,
> with CF etc.
> When his work is completed and tested, he just updates the application
> on the server by sending all new stuff.
Here's the workflow with Subversion.
1. The developer does an initial "checkout" of the files from the source
repository on the remote server. This gives them a local copy of the
files that is "source control aware". They do this once.
2. Once a day or so, they do an "update" on their local copy. This gets
any fresh changes from the repository since their last update to keep
their copy current.
3. They work with their local files as normal, and when they have
changes that are ready to go back into the repository, they "commit"
them.
These tasks are all very simple to accomplish. There are several GUI
tools available depending on platform, editor of choice, etc. to make it
very painless.
Best case is an integrated plug-in for your editor. For example, the
Subclipse plug-in for Eclipse adds some context menus so, for example,
and update is a matter of right clicking on the code directory in
Eclipse and selecting "Team" -> "Update". It also shows the status of
the files right in the file browser.
Second best is something like TortoiseSVN, which adds Windows shell
integration so instead of doing the commands from within your editor,
you simply go out to Windows explorer and right click on the directory
or files and do the command from there.
Subversion is well supported out there, so it's a matter of finding the
right app or plug-in for what your people are using. And most of them
are free (as is Subversion, of course).
> The tool I'm looking for would just allow some developer to lock files
> on the server the time he needs to modify them.
> During that time, no other developer could make the same request for
> these files.
> This operation would also make the same file write enabled on his own
> PC, so he can edit them.
> Otherwise, all the files in his project are read-only.
This part is tricky, mostly because few systems use a locking model
these days. Visual Source Safe is one example that does.
Subversion uses a merge model, where files aren't locked, but when a
developer commits a change, if the file in the repository also has newer
changes from another developer, he/she is prompted to merge the changes
with a diff tool. It works much more smoothly than it may seem.
You CAN lock files with Subversion, but it's not the typical way to use
it, and it adds complexity.
From experience, the locking model is a pain. Developers are forever
forgetting to unlock files when they are done with them, for example.
> When modifications are over, he would just send a request for updating
> the files. This would simply
> upload the new files to the server and unlock them, so that other
> developers could work on them too.
See "commit" above.
> The system would also provide for synchronization, so that new files
are
> automatically sent to all developers when they log in.
See "update" above.
You could perhaps use a boot time batch script to force the update each
login, but simply having the developers manually update on a regular
basis usually works out just fine.
> This would require some managing system on the server, and a client
> module on every development station, probably linked to the server
> module using AJAX.
Pretty much (although I don't know what the AJAX part is about)....
You install subversion on the server. I highly recommend the SVN 1 Click
setup: http://svn1clicksetup.tigris.org/
It's a package of Subversion and TortoiseSVN, which installs all of the
key bits, and prompts for initial setup parameters. It takes all of 10
minutes to install and then it's good to go.
For the client side, there are a lot of options and it depends on the
editor(s) and/or platform(s) your developers are on. The client tool
communicates directly with the remote repository.
I am not going to get into branching and tagging and all of that other
stuff that Subversion can do - you don't necessarily need it right off,
and once you do, you'll be more comfortable with the system, and it
won't seem as complex.
The last bit is getting the files from the repository to somewhere
useful on your server so folks can actually use your app :)
There's a few ways to skin this cat, but it basically comes down to a
simple command or two to get the files where you want them (export, or
checkout/update), which can easily be scripted and scheduled using a
batch script, a cf script with cfexecute, or Ant if your deployment
scenario starts getting interesting...
I highly recommend the first 3 or 4 chapters of this:
http://svnbook.red-bean.com/ (it's a free, online book about Subversion)
Author: Robertson-Ravo, Neil (RX)
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265130
First off, great you are looking at Source Control :-) but do not try and
recreate a best practice process for it. I would say get SVN and follow
standard process for it.
Check out to your local machine and check in to the repo together (lock
files where necessary).
You do not want to be editing files on a prod server, locked or otherwise.
"This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant,
Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business,
Registered in England, Number 678540. It contains information which is
confidential and may also be privileged. It is for the exclusive use of the
intended recipient(s). If you are not the intended recipient(s) please note
that any form of distribution, copying or use of this communication or the
information in it is strictly prohibited and may be unlawful. If you have
received this communication in error please return it to the sender or call
our switchboard on +44 (0) 20 89107910. The opinions expressed within this
communication are not necessarily those expressed by Reed Exhibitions."
Visit our website at http://www.reedexpo.com
Hi,
I've followed about all threads in the list about source control tools,
and I'm still wondering if there exists some tool SIMPLE to use and that
would do some elementary task and ONLY those.
Assuming we have some application on some CF server somewhere, and a
team of developers working remotely on it.
Each developer has a copy of the application on his own development PC,
with CF etc.
When his work is completed and tested, he just updates the application
on the server by sending all new stuff.
The tool I'm looking for would just allow some developer to lock files
on the server the time he needs to modify them.
During that time, no other developer could make the same request for
these files.
This operation would also make the same file write enabled on his own
PC, so he can edit them.
Otherwise, all the files in his project are read-only.
When modifications are over, he would just send a request for updating
the files. This would simply
upload the new files to the server and unlock them, so that other
developers could work on them too.
The system would also provide for synchronization, so that new files are
automatically sent to all developers when they log in.
This would require some managing system on the server, and a client
module on every development station, probably linked to the server
module using AJAX.
Any idea about this?
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
Author: Claude Schneegans
Short Link: http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:49594#265121
Hi,
I've followed about all threads in the list about source control tools,
and I'm still wondering if there exists some tool SIMPLE to use and that
would do some elementary task and ONLY those.
Assuming we have some application on some CF server somewhere, and a
team of developers working remotely on it.
Each developer has a copy of the application on his own development PC,
with CF etc.
When his work is completed and tested, he just updates the application
on the server by sending all new stuff.
The tool I'm looking for would just allow some developer to lock files
on the server the time he needs to modify them.
During that time, no other developer could make the same request for
these files.
This operation would also make the same file write enabled on his own
PC, so he can edit them.
Otherwise, all the files in his project are read-only.
When modifications are over, he would just send a request for updating
the files. This would simply
upload the new files to the server and unlock them, so that other
developers could work on them too.
The system would also provide for synchronization, so that new files are
automatically sent to all developers when they log in.
This would require some managing system on the server, and a client
module on every development station, probably linked to the server
module using AJAX.
Any idea about this?
--
_______________________________________
REUSE CODE! Use custom tags;
See http://www.contentbox.com/claude/customtags/tagstore.cfm
(Please send any spam to this address: piegeacon@internetique.com)
Thanks.
|
May 24, 2012
|
Latest Fusion Authority Articles
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||