Note that due to the fact that Git::Repository calls System::Command,
you have to be careful about when you install the child signal handler.
You only want it in the parent, after the parent has done its operations
with Git commands, and note that the child must also disable the handler.
* Process command line arguments more appropriately.
* Begin function to handle central commit solution.
* ProcessCommit a bit documented and additional argument.
It will handle finding lines of text in a blame file for commits that
match a given user, and give out a list of commit ids that are not on a
commit list.
Sorting the list of files used for file comparisons (MD5 sums and
actually diffs) makes the output much easier to deal with, especially
for C&CS checkers. It groups all the files in a given directory
together so that one can more easily deal with all these files at
once. This is useful for comparing differences in particular
components, especially ones like BusyBox whose files exist mostly in a
single directory and have the same checksums (since they all point to
one binary).
Since C&CS checkers are often interested in the list of files that
have stayed the same between a firmware release and the result of
compiling the C&CS for that firmware (ie. to see if there are binaries
which have not changed, which is unlikely because each compiler
configuration outputs slightly different binaries), add "infinite"
lines of context in the diff command for the MD5 checksum comparison.
This will include all files that have not changed (in addition to the
files that have changed).
I didn't immediately see a flag for infinite lines of context in the
diff manpage so I'm using a big number for now (2,000,000,000).
Without headings, it's non-obvious which sections correspond to which
comparisons in the output file. This information was printed to
standard output, but not to the output file. So I added this
information to the output file as well.
My knowledge of Perl is limited so I just used system("/bin/echo ..");
for now. It would be good to fix that later.
I've added a copyright notice for myself, since this change is
probably significant enough to be copyrightable.
question to verify they agree to GPLv3-or-later. I have the email
archives privately if anyone ever needs to verify that all copyright
holders agreed to license this code GPLv3-or-later.