[MITgcm-devel] suggestion for http://mitgcm.org/public/source_code.html

Fenty, Ian G (329C) Ian.Fenty at jpl.nasa.gov
Tue Nov 24 17:36:03 EST 2015


Devel,

I recently started using git for my personal wiki and repository.   I think the ability to link a wiki with the repository is particularly powerful because it can facilitate bug reporting/fixing, milestone definitions, task allocation, and documentation writing.

The syntax of quite easy to pick up and as Ryan has mentioned, is used by a whole generation of code developers.

-Ian


From: Ryan Abernathey <ryan.abernathey at gmail.com<mailto:ryan.abernathey at gmail.com>>
Reply-To: "MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>" <MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>>
Date: Saturday, November 21, 2015 at 10:32 AM
To: "MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>" <MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>>
Subject: Re: [MITgcm-devel] suggestion for http://mitgcm.org/public/source_code.html

Samar,

I know that a migration to git would inevitably change some aspects of the way people work with MITgcm. This is unavoidable. I hear your worry that it would upset the cvs workflow you have become used to.

But the specific criticism you give of git is spurious. All of the metadata regarding the file history, including the date of the latest modification, is of course tracked by git and can be accessed via the "git log" command. The notion of "trying to see what has changed" by looking at file timestamps is made obsolete by the very rich, detailed history tracking features of git and github. (For example, a commit history for astropy: https://github.com/astropy/astropy/commits/master.)

There are plenty of good arguments not to migrate MITgcm to git. For example (not saying these are true, just plausible):
- it will take too much time and effort
- the current MITgcm developers don't know how to use git
- documentation and testreport workflows would have to be updated
- MITgcm is moving into "legacy" status, with little new development on the horizon

But there is no way that the cvs feature set is actually superior to git in any way. There is a reason that 99% of software development is now happening in git / github. It is not because git is "hard" or only for "professional" developers. In fact, just the opposite: git really facilitates collaborative development and drastically lowers the difficulty bar for contributing to open source projects.

Having listed what I see as the cons, what would be the pros?
- Much more flexible branching structure which would facilitate the development of new features
- Easier for new people to propose changes via pull requests (less fear of breaking something)
- Great online collaborative tools at github (code comments, pull request discussion, etc.)
- Possibility of continuous integration for testing

I know that GFDL has adopted git / github for MOM6, and they seem to be loving it. If Alistair is still on this list, maybe he can weigh in.

Sorry for the thread hijack! ;)

-Ryan


On Sat, Nov 21, 2015 at 12:44 PM, Samar Khatiwala <spk at ldeo.columbia.edu<mailto:spk at ldeo.columbia.edu>> wrote:
Hi, my £0.02 worth:

I use git(hub) for my TMM code repository but I would not recommend migrating MITgcm to it for the simple reason
that git does not maintain time stamps. If you clone a git repository onto your machine all the files will have the time
of download. This is apparently a feature and not a bug and I’ve not found a way around it. I’m sure ‘professional’ code
developers might consider it bad practice but the first thing I look at when trying to see what has changed is the time
stamp! (Nor is there a line at the top of the file telling you the checkpoint/version number.) In my opinion this one
disadvantage outweighs any ‘awesome’ features git might have.

Samar

On Nov 21, 2015, at 4:15 PM, Ryan Abernathey <ryan.abernathey at gmail.com<mailto:ryan.abernathey at gmail.com>> wrote:

This seems like a good time to suggest that we migrate the mitgcm repository to git / github. 😉
http://git-scm.com/docs/gitcvs-migration

I cannot exaggerate how awesome github is for large, collaborative software development. The initial overhead of migration would rapidly be made up by gains in communication and productivity.
http://www.wired.com/2015/03/github-conquered-google-microsoft-everyone-else/

I would be happy to help with this project if the core developers are interested.

Best,
Ryan


On Sat, Nov 21, 2015 at 11:10 AM, Jean-Michel Campin <jmc at ocean.mit.edu<mailto:jmc at ocean.mit.edu>> wrote:
Hi Dimitris,

Seems that something happened to the disk server "orwell" around 11.pm<http://11.pm/>
yesterday but was up again, at least after 00:45 this morning.
so you should be able to see the updated web-page "using_cvs.html" only now
(as opposed to earlier this morning).
The manual is re-built everyday ~3:30pm, so no yet there.

And I confirm that my failed attempt (without the cvs login step) was without
the duplicated "cvsanon" (that I missed in your previous msg).

Cheers,
Jean-Michel

On Fri, Nov 20, 2015 at 07:28:15PM -0800, Dimitris Menemenlis wrote:
> OK, I have added to using_cvs.html and section 3.2.1, as suggested.
> Hopefully manual will compile OK tonight.  If not I can fix tomorrow.
>
> Also I just checked that "cvs login" is not needed.
> The reason is that the password is specified right after the :pserver:
> Password happens to be ???cvsanon???, same as username, hence the repeat.
>
> And for closing this thread, please note that the "<http://mitgcm.org<http://mitgcm.org/>>??? in line
> at very bottom of thread is not supposed to be there.  It was added
> surreptitiously by mail program.  The correct command line should look like:
> $ cvs -d :pserver:cvsanon:cvsanon at mitgcm.org<http://mitgcm.org>:/u/gcmpack co -P MITgcm
>
> This form of cvs command was convenient for me for a script that I was writing.
> Maybe others will also find it useful.
>
> Cheers, D.
>
> > On Nov 20, 2015, at 10:27 AM, Jean-Michel Campin <jmc at ocean.mit.edu<mailto:jmc at ocean.mit.edu>> wrote:
> >
> > Hi Dimitris,
> >
> > I am not sure that it's much more convenient for users to specify
> > the pserver path within the cvs command itself.
> > Also I thinks the "cvs login" stage is still needed the first time
> > (run into this issue last time I set-up an automatic testreport on a new
> > platform where I did not use cvs before but use "cvs co" the same way as
> > you suggest).
> > And we would need to update the instructions (both in manual & on web-site)
> > to reflect this change.
> >
> > However, we could certainly mention this alternative way on the CVS web-site page
> > (http://mitgcm.org/public/using_cvs.html) and in the manual (section 3.2.1) as well.
> >
> > Cheers,
> > Jean-Michel
> >
> > On Fri, Nov 20, 2015 at 02:36:39AM +0000, Menemenlis, Dimitris (329C) wrote:
> >> would it make sense to replace:
> >>
> >>  bash or sh shell:
> >>    $ export CVSROOT=':pserver:cvsanon at mitgcm.org<mailto:pserver%3Acvsanon at mitgcm.org><http://mitgcm.org<http://mitgcm.org/>>:/u/gcmpack'
> >>    $ cvs login
> >>      ( enter the CVS password: "cvsanon" )
> >>    $ cvs co -P MITgcm
> >>
> >>  tcsh or csh shell:
> >>    $ setenv CVSROOT ':pserver:cvsanon at mitgcm.org<mailto:pserver%3Acvsanon at mitgcm.org><http://mitgcm.org<http://mitgcm.org/>>:/u/gcmpack'
> >>    $ cvs login
> >>      ( enter the CVS password: "cvsanon" )
> >>    $ cvs co -P MITgcm
> >>
> >>
> >> with:
> >>
> >>    $ cvs -d :pserver:cvsanon:cvsanon at mitgcm.org<mailto:pserver%3Acvsanon%3Acvsanon at mitgcm.org><http://mitgcm.org<http://mitgcm.org/>>:/u/gcmpack co -P MITgcm
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>
> http://mitgcm.org/mailman/listinfo/mitgcm-devel

_______________________________________________
MITgcm-devel mailing list
MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>
http://mitgcm.org/mailman/listinfo/mitgcm-devel

_______________________________________________
MITgcm-devel mailing list
MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>
http://mitgcm.org/mailman/listinfo/mitgcm-devel


_______________________________________________
MITgcm-devel mailing list
MITgcm-devel at mitgcm.org<mailto:MITgcm-devel at mitgcm.org>
http://mitgcm.org/mailman/listinfo/mitgcm-devel


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-devel/attachments/20151124/c9afa045/attachment-0001.htm>


More information about the MITgcm-devel mailing list