[gmx-developers] Gromacs 5.0

Mark Abraham mark.j.abraham at gmail.com
Wed Apr 23 23:57:50 CEST 2014


Well, every source file has moved, so your best strategy is definitely with

Assuming you haven't been using it, get a recent git version, use it to
download the GROMACS repo, check out the tag that corresponds to your
original starting point, and make a new branch named whatever suits you.
Then, copy in your source code. Spend some time then minimizing the number
of changes you can see with "git diff." You want to have no unnecessary
code movement, copying, reformatting, etc. For any change larger than a
line or two, package up your code into functions that you call from
well-defined points. Put those functions into their own source and header
file, and get everything building and working again. Make a new commit
whose message describes what it does.

If you've now got very few points of contact with the main code, then use
git merge straight to the release-5-0 branch. git will do a lot of the
monkey work of file renaming for you. You may need to go looking for
functions in new header files, or new locations for old code fragments. git
grep is very much your friend there - search for function names, or
unique-seeming comments. Ask here if you need some insight to resolve an

If you've got a git history that you want to preserve and are still
actively re-working, then you'll need to rebase. That's rather more work.
Consider writing a script that will build and test your version, because
you're going to want to do that lots of times while you rebase up. Google
for some tutorial material on what git rebase does. Remember that because
you've made a commit, git can "always" get back that commit if things get
messed up. How best to manage the rebase depends very much on what your
changes are, but basically you want to rebase over manageable chunks of
history, check things work, and then move on. If things don't work, you
know something that happened in the meantime is relevant, so maybe you can

git log -- src/gromacs/somewhere/filename.c

to see what commits might have changed the relevant thing, and then go look

On Apr 23, 2014 12:43 PM, "Jorge de Antonio" <j.de.antonio at grs-sim.de>

> Hi all,
> I am kind of new in this gromacs world so I hope this question doesn’t
> sound silly. I am wondering which major changes (in terms of the source
> code) are different in this version compared with the 4.6. I need to update
> some homemade code from the previous version.
> Cheers and thanks in advance,
> Jorge
> --
> Gromacs Developers mailing list
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
> posting!
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developersor send a mail to
> gmx-developers-request at gromacs.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20140423/be76c899/attachment.html>

More information about the gromacs.org_gmx-developers mailing list