Search code examples
c#nugetnunitcakebuild

Purpose of the file packages.config.md5sum


I have searched along the lines of "purpose of packages.config.md5sum" and most help articles tell me about packages.config, which I am already familiar with.

I have a Cake + NUnit build script that I am using to build and run an C# test project. I created a folder called Build and placed my build.cake, build.ps1, and Parameters.cake files in this directory. When creating the project, Cake also generated the Build\tools directory for me that contains the NUnit.ConsoleRunner.3.8.0 NuGet package directory, and a Cake package directory containing all of the .dll's.

After running my build script, I noticed GitHub has a tracked change in the file Build\tools\packages.config.md5sum, which just contains a bunch of numbers and letters like this:

F7-BB-D0-CF-0C-OA-C7-5D-63-F9

The tracked change was just a different set of numbers / letters in the same format. I discarded the change, ran the script again, and a tracked change popped up again.

What is the purpose of this packages.config.md5sum file? Does this need to be in the repository at all, or can I safely add it to the .gitignore and removed it from the repo completely? I deleted the file and ran my build script, and the file just re-generated itself, so it doesn't seem like a big deal, but I don't feel good about just deleting things without knowing why.


Solution

  • This is a feature of the default bootstrapper script, where it'll clean tools folder if a new version if Cake is entered in packages.config it'll clear ther tools folder and install a new version. This ensures you get desired version and reproducible builds locally if Cake version is changed.

    This file should be git ignored and not committed to your git repository.