Re: [AMBER-Developers] git logs and squashing commits

From: Ross Walker <ross.rosswalker.co.uk>
Date: Wed, 24 Feb 2016 13:54:19 -0800

Hi Hai,

These are nice arguments for the advantage of GitHub. I think we should set aside a session at the developers meeting to discuss things further as a group.

My main fear is that we could easily end up fragmenting things and lose the benefit we all gain from having Amber be recognized as a actual package rather than a collection of a bunch of individual software from lots of different places. We also have the complexity of multiple development areas etc. If Github does indeed have a lot of cool features the question we should ask is should we consider getting a professional GitHub account (so we can have both private and public development) to encompass the central project that is AMBER and move all the various AmberTools github efforts into that (and then do away with the current Amber git server).

That way we avoid all these cross platform issues and we also avoid the issue of losing the concept of AMBER as an identity. My opinion is that we all benefit from being associated with the concept of AMBER as a product and therefore we should work to maintain this as much as possible and avoid unnecessarily diluting it.

What would be the disadvantages of this - besides the obvious one which is cost (I don't actually know how much a professional account on GitHub would cost us). I assume it is flexible enough to have the necessary permissions we would need etc.

All the best
Ross

> On Feb 24, 2016, at 1:42 PM, Hai Nguyen <nhai.qn.gmail.com> wrote:
>
> On Wed, Feb 24, 2016 at 3:53 PM, Ross Walker <ross.rosswalker.co.uk> wrote:
>
>> Hi Hai,
>>
>> But this doesn't solve the problem I think? This will give us no logs no?
>
>
> No it does not. I just want to explain why Gerald got incredibly long log
> message for only two files.
>
>
>
>> What we ideally want is all of the various logs for all of the changes you
>> made etc to various files but only associated with those files. So the
>> problem is the squashed commit. How do we avoid this?
>>
>>
> I have no problem with not squashing pytraj commits if others developes do
> not feel that I am polluting amber log with thousands of pytraj's commits.
>
> I initially developed pytraj on github and make a subtree on amber repo
> after joining Case group. So developing on github is unavoidable in my
> case.
>
> Per github development issue: I myself prefer to develop here since there
> are many benefits
>
> - .There are many other developers (outside amber community) on github.
> Most of the time they only care about a single package in AMBER. So it's
> much easier to perform git clone from github, edit, make pull request, do
> code review. So AMBER package is benefit from wider contributions. For
> example, ParmEd is not only developed by AMBER developer (mostly Jason),
> but is also got code contribution from Pande, Chodera and other groups
> (this is a typical workflow: https://github.com/ParmEd/ParmEd/issues/592).
> More example: cpptraj is not able to be installed in Windows (
> https://github.com/Amber-MD/cpptraj/pull/197)
>
> Another example: The MDAnalysis package (similar to cpptraj but written in
> Python) have drammatically contributions when they move their code base
> from Google Code Project Hosting to github (please check the period between
> 2015-2016: https://github.com/MDAnalysis/mdanalysis/graphs/contributors )
>
> - free continuous integration: we are using travis for continuously
> compiling, testing, combining different environments for our code
> (example from cpptraj: https://travis-ci.org/Amber-MD/cpptraj). The service
> is free, reliable, well supported, widely used (by Google, Microsoft,
> facebook, ...). Whenever submitting a single commit to github, travis will
> automatically pull the new code, compile and perform the testing in a
> completely fresh environment. This is much better than testing on my old
> laptop.
>
> - code review: We care about the quality of the code, so if anyone wants to
> contribute to, for example, ParmEd, he/she needs to fork the master branch,
> make change and make a pull request. traivis will pull the code from
> contributor, perform the testing to make sure new code does not break the
> tests. This is an example: https://github.com/ParmEd/ParmEd/pull/585. You
> can see that the new code is not always accepted, the committee needs to
> make change until the test pass.
>
> Also, github interface is very good for code review:
> https://github.com/ParmEd/ParmEd/pull/585/files
>
> - easier manage new tasks: I used to make my feature request, comments and
> related stuff to cpptraj by gmail document with Dan. This is nightmare :D.
> github uses issue tag to make those simple:
> https://github.com/Amber-MD/cpptraj/issues,
> https://github.com/Amber-MD/cpptraj/issues/93). We can open, close, refer
> from one to another issue easily.
>
> By the way, I just want to express by idea about github. I agree that we
> should bring this stuff to amber dev meeting next month.
>
> cheers
>
> Hai
>
> All the best
>> Ross
>>
>>> On Feb 24, 2016, at 12:37 PM, Hai Nguyen <nhai.qn.gmail.com> wrote:
>>>
>>> Hi
>>>
>>> this is due to my fault in keeping very long git commit message for
>>> squashing. But after realizing this, I made the message extremely
>> shorter.
>>>
>>> For example
>>>
>>> $ git show --name-only 2f1951b0864c06409acdfe797416e20e29cfd0b6
>>> commit 2f1951b0864c06409acdfe797416e20e29cfd0b6
>>> Author: Hai Nguyen <hainm.comp.gmail.com>
>>> Date: Fri Feb 19 16:38:04 2016 -0500
>>>
>>> Squashed commit of pytraj
>>>
>>> AmberTools/src/pytraj/.travis.yml
>>> AmberTools/src/pytraj/devtools/travis-ci/coveralls
>>> AmberTools/src/pytraj/pytraj/__init__.py
>>> AmberTools/src/pytraj/pytraj/all_actions.py
>>> AmberTools/src/pytraj/pytraj/io.py
>>> AmberTools/src/pytraj/tests/test_checkoverlap.py
>>>
>>> cheers
>>> Hai
>>>
>>> On Wed, Feb 24, 2016 at 3:24 PM, Gerald Monard <
>>> Gerald.Monard.univ-lorraine.fr> wrote:
>>>
>>>> I do think that the following is a problem:
>>>>
>>>> $ git show --oneline --name-only acc59a3
>>>> acc59a3 Squashed commit of the following:
>>>> doc/Amber.lyx
>>>> doc/amber.bib
>>>>
>>>> $ git show --name-only acc59a3 | wc -l
>>>> 7428
>>>>
>>>>> 7000 lines of explanation for 2 files...
>>>>
>>>> G.
>>>>
>>>> On 02/24/2016 08:32 PM, Hai Nguyen wrote:
>>>>> hi,
>>>>>
>>>>> We only squash commits for cpptraj, pytraj and parmed when pulling
>>>> commits
>>>>> from github repos. Last year pytraj has > 1000 commits, cpptraj > 1000
>>>>> commits, parmed > 1000 commits . If not squashing to few big commits,
>>>> amber
>>>>> git log will be populated and even more difficult to debug other
>>>> programs.
>>>>>
>>>>> So if anyone wants to 'git blame', ... any files in those packages,
>>>> he/she
>>>>> should check corresponding github repo https://github.com/Amber-MD
>>>>>
>>>>> For other programs, nothing change (I just tested '*git log --color
>>>>> mkrelease_at*')
>>>>>
>>>>> Hai
>>>>>
>>>>> On Wed, Feb 24, 2016 at 2:12 PM, Gerald Monard <
>>>>> Gerald.Monard.univ-lorraine.fr> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> This problem was already raised a couple of weeks ago by Ross: by
>> using
>>>>>> squash commits, git sees only one total commit. If you run "git blame
>>>>>> amber.bib", then you will see the commit md5sum of this squashed
>> commit
>>>>>> and not an individual one inside the squashed commit. This means that
>>>>>> the change of one individual file is related to a sum of changes. Thus
>>>>>> if one wants more details about that commit (with its title and log),
>>>>>> then the only thing you get is a big log with potentially hundreds of
>>>>>> changes and files involved. It's then difficult to understand what's
>>>>>> going on there.
>>>>>>
>>>>>> Best,
>>>>>>
>>>>>> Gerald.
>>>>>>
>>>>>> On 02/24/2016 07:41 PM, Hai Nguyen wrote:
>>>>>>> alternatively,
>>>>>>>
>>>>>>> you can try
>>>>>>>
>>>>>>> type*: git log --color -p amber.bib*
>>>>>>> then search keyword amber.bib by typing:* /amber.bib*
>>>>>>> to repeat the search, press* 'n'*
>>>>>>> (similar to vim)
>>>>>>>
>>>>>>> tag "*-p*" will show the modified content
>>>>>>>
>>>>>>> Hai
>>>>>>>
>>>>>>> On Wed, Feb 24, 2016 at 12:31 PM, Timothy J Giese <
>>>>>> timothyjgiese.gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> There is a gui called "gitk" that is sometimes useful.
>>>>>>>>
>>>>>>>> Open gitk, then
>>>>>>>> next to "Find",
>>>>>>>> select "touching paths:"
>>>>>>>> and then enter the name of the file;
>>>>>>>> e.g., AmberTools/src/sander/multisander.F90
>>>>>>>>
>>>>>>>> Then the arrow buttons next to "Find" will skip up and down through
>>>>>>>> those commits that edit that file.
>>>>>>>>
>>>>>>>> -Tim
>>>>>>>>
>>>>>>>> On 02/24/2016 12:22 PM, David A Case wrote:
>>>>>>>>> I'm pinging git experts about what (if anything) we can do with the
>>>>>>>> following
>>>>>>>>> problem:
>>>>>>>>>
>>>>>>>>> If I cd to the amber14/doc directory and type "git log amber.bib"
>> (in
>>>>>>>> order
>>>>>>>>> to find recent changes to this file), I get the following:
>>>>>>>>>
>>>>>>>>> commit acc59a342da64bf949ac6828b45294b275970344
>>>>>>>>> Author: Hai Nguyen <hainm.comp.gmail.com>
>>>>>>>>> Date: Thu Feb 4 11:02:31 2016 -0500
>>>>>>>>>
>>>>>>>>> Squashed commit of the following:
>>>>>>>>>
>>>>>>>>> commit 689f1f003ea81f51a26f4791e46ed9fa18ee8b5e
>>>>>>>>> Merge: 8a40ed6 9c3c6ef
>>>>>>>>> Author: Hai Nguyen <hainm.users.noreply.github.com>
>>>>>>>>> Date: Thu Feb 4 01:50:52 2016 -0500
>>>>>>>>>
>>>>>>>>> Merge pull request #1136 from hainm/master
>>>>>>>>>
>>>>>>>>> add ref_mask for rmsd
>>>>>>>>>
>>>>>>>>> commit 9c3c6ef39bd1c4a45308733b54439dde4d7f3edf
>>>>>>>>> Author: Hai Nguyen <hainm.comp.gmail.com>
>>>>>>>>> Date: Thu Feb 4 01:40:16 2016 -0500
>>>>>>>>>
>>>>>>>>> fix
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ...etc...etc for hundreds of commit logs, (7500 lines of text)
>> almost
>>>>>>>> none
>>>>>>>>> of which actually did anything to amber.bib itself.
>>>>>>>>>
>>>>>>>>> I can redirect the output to a file, and use a text editor to try
>> to
>>>>>> find
>>>>>>>>> what I'm looking for, but I wonder if there is not a better way.
>> Do
>>>> we
>>>>>>>> really
>>>>>>>>> need commits that are thousands of lines long? Is there a better
>> way
>>>>>> to
>>>>>>>>> maintain a useful history? Some fancy option to the "git log"
>>>> command
>>>>>>>> that
>>>>>>>>> alleviates this?
>>>>>>>>>
>>>>>>>>> ...thx...dac
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> AMBER-Developers mailing list
>>>>>>>>> AMBER-Developers.ambermd.org
>>>>>>>>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> AMBER-Developers mailing list
>>>>>>>> AMBER-Developers.ambermd.org
>>>>>>>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> AMBER-Developers mailing list
>>>>>>> AMBER-Developers.ambermd.org
>>>>>>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>
>> ____________________________________________________________________________
>>>>>>
>>>>>> Prof. Gerald MONARD
>>>>>> SRSMC, Université de Lorraine, CNRS
>>>>>> Boulevard des Aiguillettes B.P. 70239
>>>>>> F-54506 Vandoeuvre-les-Nancy, FRANCE
>>>>>>
>>>>>> e-mail : Gerald.Monard.univ-lorraine.fr
>>>>>> tel. : +33 (0)383.684.381
>>>>>> fax : +33 (0)383.684.371
>>>>>> web : http://www.monard.info
>>>>>>
>>>>>>
>>>>>>
>>>>
>> ____________________________________________________________________________
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> AMBER-Developers mailing list
>>>>>> AMBER-Developers.ambermd.org
>>>>>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>>>>>
>>>>> _______________________________________________
>>>>> AMBER-Developers mailing list
>>>>> AMBER-Developers.ambermd.org
>>>>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>>>>
>>>>
>>>> --
>>>>
>>>>
>> ____________________________________________________________________________
>>>>
>>>> Prof. Gerald MONARD
>>>> SRSMC, Université de Lorraine, CNRS
>>>> Boulevard des Aiguillettes B.P. 70239
>>>> F-54506 Vandoeuvre-les-Nancy, FRANCE
>>>>
>>>> e-mail : Gerald.Monard.univ-lorraine.fr
>>>> tel. : +33 (0)383.684.381
>>>> fax : +33 (0)383.684.371
>>>> web : http://www.monard.info
>>>>
>>>>
>>>>
>> ____________________________________________________________________________
>>>>
>>>>
>>>> _______________________________________________
>>>> AMBER-Developers mailing list
>>>> AMBER-Developers.ambermd.org
>>>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>>>
>>> _______________________________________________
>>> AMBER-Developers mailing list
>>> AMBER-Developers.ambermd.org
>>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>
>>
>> _______________________________________________
>> AMBER-Developers mailing list
>> AMBER-Developers.ambermd.org
>> http://lists.ambermd.org/mailman/listinfo/amber-developers
>>
> _______________________________________________
> AMBER-Developers mailing list
> AMBER-Developers.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber-developers


_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Wed Feb 24 2016 - 14:00:05 PST
Custom Search