Fossil SCM for introductory programming courses
The use of source control management (or version control - take your pick) is an important skill for new programmers to adopt. It is expected that all programmers use SCM in their daily jobs, in order to coordinate changes among team members. Thus, getting beginners to adopt good habits early should be a goal.
While GIT (git-scm.com) is certainly the dominant source control system of today, I believe instructors of introductory classes in programming should consider an alternative called Fossil (fossil-scm.org).
Fossil has several compelling advantages in education over GIT. You will see that I value the practical aspects of Fossil even more than its technical capabilities. After all, an instructor has a limited amount of time to have an impact and they don't want to waste time doing technical support on a tool that is too complex. Helping one or two people is fine but helping 30 can be a real burden.
Depending on your programming language and operating systems, you'll want to make sure you ignore certain kinds of file extensions.
You might want to create a configuration file and store it in fossil for use in other fossil setups. The configuration file goes into the top level directory under a folder called ".fossil-settings". The filename matches the configuration setting, thus it is called "ignore-glob".
For unix/linux, I would ignore the following file extensions (you can put one per line or separate them with commas. I'll use the per line convention here.)
For Windows, I would ignore these:
Next, you'll want to decide on binary file for the purpose of merging. These go in the .fossil-settings/binary-glob file: