[Bioc-devel] lessons learned: negative experiences with git log

Kasper Daniel Hansen k@@perd@n|e|h@n@en @end|ng |rom gm@||@com
Fri Aug 13 15:34:52 CEST 2021

Here are my experiences as a novice in git.

Yesterday I was working on fixing a condition length error in Rgraphviz, a
package which has not been touched in years. After I fixed this, I got a
segmentation fault in examples / tests / vignettes; all over the place.

This could have been related to a small git snafu I had on my laptop
because I had not synchronized  laptop / Github / bioc git for a _long_
time (read: years).

No matter, I thought, git history will easily reveal this, and since there
has been no changes to the package in years, it should be really easy to
just list which file had changed. However, running
  git log --name-status
I got this

==== START git log ======
commit 955e30b3ae316265b4f5f130ab6f12c33081da54
Author: Kasper Daniel Hansen <kasperdanielhansen using gmail.com>
Date:   Wed Aug 11 08:52:11 2021 -0400

    Fixing length condition error

:100644 100644 25e24de 3aee690 M        DESCRIPTION
:100644 100644 f8e077f b73b052 M        man/agopenSimple.Rd

commit 15204d879d974de8d40b0342b2f853c88f4bf9a3
Merge: 7c1433d b01ad95
Author: Kasper Daniel Hansen <kasperdanielhansen using gmail.com>
Date:   Wed Aug 11 08:26:09 2021 -0400

    Merge remote-tracking branch 'upstream/master'

commit b01ad9552737978b3b7db6815323a078ceafe041
Author: Nitesh Turaga <nitesh.turaga using gmail.com>
Date:   Wed May 19 15:33:11 2021 +0000

    bump x.y.z version to odd y following creation of RELEASE_3_13 branch

:100644 100644 78243eb 25e24de M        DESCRIPTION
====== END git log ======

This suggests that no files apart from DESCRIPTION and a man page were
touched recently (it looks the same if I go back longer). Look at the
second message with "Merge remote-tracking". No files are listed!

It turns out that files were indeed touched as part of the "Merge
remote-tracking ..." commit. I can see this by a
  git diff b01ad9552737978b3b7db6815323a078ceafe041
but in reality I had given up on git and did a standard recursive diff on
the stable release tarball and my codebase.

I have not been able to figure out what options I need to give git log to
display which files changed as part of that commit, and I find that
perplexing and -- frankly -- pretty worrying.

Anyway, just some scary lessons on git log and merge.



	[[alternative HTML version deleted]]

More information about the Bioc-devel mailing list