I have been running a cron job that does a "git add" and "git commit" of my entire home directory every minute. It provides a record of what I've been doing. (Every night, I run a script to prune some of the older commits to keep the disk usage under control.)
The "git add" would occasionally crash, leaving the Git lock file in place. After that, every minute, the two Git commands would complain that there was a lock file in place. Eventually, I worked out the general outline of the problem and its solution. Normally, "gid add" compresses a new file by calling the bzlib library. It does this by *mapping* the new file into memory and calling a library function on the block of memory. It looks like the problem comes when the file is changed or deleted, causing some of that block of memory to become un-mapped while bzlib is compressing it. The solution is to build Git with the NO_MMAP configuration option (in the Makefile). This forces Git to read the file in the ordinary way, which is not confused if the file is being changed simultaneously. Dale -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.