code: def commit(*args):
      
      parser = argparse.ArgumentParser(prog="%s %s" % (__package__, commit.__name__), description=commit.__doc__)
      parser.add_argument('FILENAME', help="file(s) to commit", nargs="*", default=['.'])
      args = parser.parse_args(args)
  
      config = FragmentsConfig()
  
      for s, curr_path in _iterate_over_files(args.FILENAME, config, statuses='MAD'):
          key = os.path.relpath(curr_path, config.root)
          if key not in config['files']:
              yield "Could not commit '%s' because it is not being followed" % os.path.relpath(curr_path)
              continue
  
          if s in 'MA':
              repo_path = os.path.join(config.directory, config['files'][key])
              with _smart_open(repo_path, 'w') as repo_file:
                  with _smart_open(curr_path, 'r') as curr_file:
                      repo_file.write(curr_file.read())
              os.utime(repo_path, os.stat(curr_path)[7:9])
              yield "'%s' committed" % os.path.relpath(curr_path)
          elif s == 'D':
              yield "Could not commit '%s' because it has been removed, instead revert or forget it" % os.path.relpath(curr_path)
          elif s == ' ':
              yield "Could not commit '%s' because it has not been changed" % os.path.relpath(curr_path)
docs: Commit changes to the fragments repository, limited to FILENAME(s) if specified.