[MITgcm-devel] suggestion for http://mitgcm.org/public/source_code.html
Jean-Michel Campin
jmc at ocean.mit.edu
Sat Nov 21 14:41:00 EST 2015
Hi Ryan and others,
There have been some discussions in the last ~2 years or so regarding some
updates, and my argument was, and still is, that the most urgent
thing is (step-1) to upgrade/replace the mitgcm.org server since the current one
(forge) is old (both hardware and software) and might fail one day or an other.
Once this is done, we can think on how to move to git (step-2) if we think
it's needed.
You might be tempted to go for step-2 before step-1, but the issue here is
that migrating to git will imply some changes to mitgcm.org and we will
realised along the way that it's very complicated on such old machine (32 bit
hardware running fc11 !).
And doing both (step-1 & 2) at the same time is, from my point of view,
a little bit risky (e.g., you may want to be able to ask or report a problem
about the code new repository but if the email lists are not working either ...).
Cheers,
Jean-Michel
On Sat, Nov 21, 2015 at 01:32:15PM -0500, Ryan Abernathey wrote:
> 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>
> 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>
> > 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>
> > wrote:
> >
> >> Hi Dimitris,
> >>
> >> Seems that something happened to the disk server "orwell" around 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>???
> >> 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:/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>
> >> 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<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<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<http://mitgcm.org>:/u/gcmpack
> >> co -P MITgcm
> >> >
> >> >
> >> > _______________________________________________
> >> > MITgcm-devel mailing list
> >> > MITgcm-devel at mitgcm.org
> >> > http://mitgcm.org/mailman/listinfo/mitgcm-devel
> >>
> >> _______________________________________________
> >> MITgcm-devel mailing list
> >> MITgcm-devel at mitgcm.org
> >> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> >>
> >
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-devel
> >
> >
> >
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-devel
> >
> >
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list