IDL 7 and Subversion [message #57581] |
Mon, 17 December 2007 09:00  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Folks,
Having declared it my goal to set up my IDL 7 Workbench
in a way that accommodated the way I currently work with
IDL, and to do that with a Subversion software version
control system to manage my IDL files, I then proceeded
to put my plan into action in every conceivable wrong way.
For nearly two weeks I haven't written a single new line
of IDL code!
But, I have become something of a (self-acknowledged)
authority on the subject. I'm pretty sure I have a
handle on what I am doing now, finally! To that end,
I have written down and cleaned up my extensive notes
on this subject, which I am now flogging in the most
shameful way possible. For $5 and 20 minutes of reading,
I think it is now possible to save yourself hours
of time and frustration if you are as technically deficient
in your understanding of this new paradigm as I am.
Here is an article that explains what I am up to:
http://www.dfanning.com/idlsvn.html
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 7 and Subversion [message #57699 is a reply to message #57581] |
Tue, 18 December 2007 07:44  |
Paul Van Delst[1]
Messages: 1157 Registered: April 2002
|
Senior Member |
|
|
David Fanning wrote:
> Paul van Delst writes:
>
>> 1) Developer publishes to the developer email list what he/she is planning on doing.
>> 2) Interested parties respond (good idea, bad idea, waste of time, etc).
>> 3) Prior to commit (of completed, or partially complete, code), the developer makes code
>> available for review (with a lead time to permit adequate evaluation of code)
>> 4) Interested parties review the code and provide feedback regarding adherence to coding
>> standards, overall design, efficacy of algorithms, etc
>> 5) Development lead for the affected portions of code gives go ahead or refusal for
>> commit. (each "portion" of code has a Grand Poobah person that has veto power for a
>> commit. What "portion" means for a group is defined by them)
>> 6) Developer commits code (or provides a tarball for commit if they don't yet have access).
>> 7) Developer is also responsible for providing documentation and test cases for code.
>
> Ah, I needed this reminder of why I work alone. :-)
Yes, there are advantages to going solo. However, it doesn't scale too well when you are
trying to model the earth. :o) Any one person who's brain is big enough to grok the big
picture has long since become a manager.....
But still, even you're not really working alone. You work for people/companies that have
some larger purpose, no? You must be - how else are you paying for all those recent
computer upgrades? :o)
cheers,
paulv
|
|
|
Re: IDL 7 and Subversion [message #57704 is a reply to message #57581] |
Tue, 18 December 2007 06:28  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
David Fanning writes:
> Michi writes:
>
>> I have found that TortoiseSVN (http://tortoisesvn.tigris.org/) is a
>> really useful frontend for subversion. It plugs in into the windows
>> explorer and makes all subversion commands available. I haven't used
>> eclipse so far, so I don't know anything about subclipse.
>
> And you may never have to learn. I'm voting for TortoiseSVN
> as Software of the Year! :-)
Just for the benefit of the number of people who have
been confused by this entire IDL7/Subversion discussion
(and I now have convincing evidence there are a LOT
of you!), TortoiseSVN and Subclipse are both front-ends
to Subversion, and allow you to work with the Subversion
repository via the normal GUI methods you are used to,
rather than having to write long, cryptic commands that
are prone to misspelling.
You can easily install both, and use whatever front-end
happens to be convenient to you to manage your files.
I find TortoiseSVN *extremely* convenient and intuitive.
I find the Eclipse environment, uh, less so.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 7 and Subversion [message #57707 is a reply to message #57581] |
Tue, 18 December 2007 06:00  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Michi writes:
> I have found that TortoiseSVN (http://tortoisesvn.tigris.org/) is a
> really useful frontend for subversion. It plugs in into the windows
> explorer and makes all subversion commands available. I haven't used
> eclipse so far, so I don't know anything about subclipse.
And you may never have to learn. I'm voting for TortoiseSVN
as Software of the Year! :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 7 and Subversion [message #57708 is a reply to message #57581] |
Tue, 18 December 2007 05:58  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Paul van Delst writes:
> 1) Developer publishes to the developer email list what he/she is planning on doing.
> 2) Interested parties respond (good idea, bad idea, waste of time, etc).
> 3) Prior to commit (of completed, or partially complete, code), the developer makes code
> available for review (with a lead time to permit adequate evaluation of code)
> 4) Interested parties review the code and provide feedback regarding adherence to coding
> standards, overall design, efficacy of algorithms, etc
> 5) Development lead for the affected portions of code gives go ahead or refusal for
> commit. (each "portion" of code has a Grand Poobah person that has veto power for a
> commit. What "portion" means for a group is defined by them)
> 6) Developer commits code (or provides a tarball for commit if they don't yet have access).
> 7) Developer is also responsible for providing documentation and test cases for code.
Ah, I needed this reminder of why I work alone. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 7 and Subversion [message #57709 is a reply to message #57581] |
Tue, 18 December 2007 05:40  |
Paul Van Delst[1]
Messages: 1157 Registered: April 2002
|
Senior Member |
|
|
b_gom@hotmail.com wrote:
> Looks like a great resource, but I have a couple of questions:
>
> -Can you say whether it is "worth it" to set up subversion? What are
> the benefits and do they outweigh the hassle of setting it up and the
> learning curve for using it?
I have never found subversion a hassle to set up at all. It might be; via the IDL
workbench (i.e. eclipse). But, setting up a repository on its own via the usual svnadmin
commands is pretty easy. Using subversion is also easy - although I am assuming one has
used version control software before. Even then, the svn book provides a beginner with
excellent information (i.e. the why along with the how).
> -On the webpage you state that this is designed for a single user. How
> much of the guide is useful for a multi-user environment?
I haven't read the guide so I don't know what you mean by "this". Do you mean the IDL
workbench stuff, or subversion? If it's the latter, then yes it is accessible by
multiple-users - that's the point of it. (Note I avoided the use of the word "designed".
See below). Keep in mind though that a version control system doesn't mean the developers
don't need to communicate regularly. For multi-user development, I would recommend setting
up conventions for commiting code to the repository. What we're looking at doing (cribbed
from the WRF developers):
1) Developer publishes to the developer email list what he/she is planning on doing.
2) Interested parties respond (good idea, bad idea, waste of time, etc).
3) Prior to commit (of completed, or partially complete, code), the developer makes code
available for review (with a lead time to permit adequate evaluation of code)
4) Interested parties review the code and provide feedback regarding adherence to coding
standards, overall design, efficacy of algorithms, etc
5) Development lead for the affected portions of code gives go ahead or refusal for
commit. (each "portion" of code has a Grand Poobah person that has veto power for a
commit. What "portion" means for a group is defined by them)
6) Developer commits code (or provides a tarball for commit if they don't yet have access).
7) Developer is also responsible for providing documentation and test cases for code.
As far as I can tell, that process seems pretty much tool-independent - i.e. convention
over configuration. The actual version control system used also depends a lot on the
development process. Subversion doesn't work for everyone. For example, see:
http://subversion.tigris.org/subversion-linus.html. On the other hand, subversion is the
repository for many large, multi-developer software projects; like, for example, the
apache web server. I also know of a good number of people that prefer ClearCase for
multiple developer projects - there's a *lot* more functionality built-in for distributed
developers, but you pay big $$ for licenses (sorta like IDL :o).
I doubt that the IDL Workbench hamstrings the ability of multiple developers to access a
remote repository (of whatever flavour; subversion cvs, perforce, etc.). Once it's all set
up correctly, of course. :o)
cheers,
paulv
|
|
|
|
Re: IDL 7 and Subversion [message #57716 is a reply to message #57581] |
Mon, 17 December 2007 12:18  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
b_gom@hotmail.com writes:
> Looks like a great resource, but I have a couple of questions:
>
> -Can you say whether it is "worth it" to set up subversion? What are
> the benefits and do they outweigh the hassle of setting it up and the
> learning curve for using it?
Probably not worth it if you are running scheduled backups
every 10 minutes, but otherwise, yes, it's worth it. :-)
I'm not sure it is a "hassle" to set up. *If* you know
what you are doing, and you get the correct stuff, and
you know where to look for the things you need, it is
really quite easy. It's the fact that none of this is
spelled out for you anywhere that is the problem. This
guide just condenses what you need to know into a couple
of pages. (Well, more than a couple, but there are lots
of pictures so you can't make a mistake.)
Actually, *using* Subversion (at least the way I am
using it) is so easy as to be laughable. Everyone can
learn this in about two minutes.
> -On the webpage you state that this is designed for a single user. How
> much of the guide is useful for a multi-user environment?
I set the repository up as a file-based system, since that is
dead easy and can be done on a single-user computer. I don't
think it is much harder to set it up on an Apache server, but
then you have to get the server running, etc. I've done that,
but it really seemed like overkill for what I needed. I have
pointed to excellent instructions for doing this, but I haven't
included them in my Guide. I might, if there is sufficient
interest.
If a server and Subversion repository is already up and
running, then this Guide is still valuable (IMHO) for how
to attach to the darn thing and where to find the commands
you are going to need to use to check files in and out of
IDL and do other Subversion things. I show you how to set IDL
up to work with files that are already in the repository, or
to actually put files into the repository from within IDL.
All of this is the same for all versions of IDL, since it is
a Workbench issue. I found most of the commands I needed
obscure and hidden from sight. The Guide shows you where
to find them, and in what order (most important!) to execute
them.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 7 and Subversion [message #57717 is a reply to message #57581] |
Mon, 17 December 2007 11:51  |
b_gom
Messages: 105 Registered: April 2003
|
Senior Member |
|
|
Looks like a great resource, but I have a couple of questions:
-Can you say whether it is "worth it" to set up subversion? What are
the benefits and do they outweigh the hassle of setting it up and the
learning curve for using it?
-On the webpage you state that this is designed for a single user. How
much of the guide is useful for a multi-user environment?
Brad
On Dec 17, 10:05 am, David Fanning <n...@dfanning.com> wrote:
> David Fanning writes:
>> Here is an article that explains what I am up to:
>
>> http://www.dfanning.com/idlsvn.html
>
> Whoops! Commerce has never really been my thing. :-(
>
> http://www.dfanning.com/workbench/idlsvn.html
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
|