(* Utilities for handling git repositories. *) open Goaljobs let git_has_local_changes dir = let lines = shlines "cd %s && git status --porcelain" (quote dir) in let lines = List.filter ( fun line -> let code = String.sub line 0 2 in code <> "??" ) lines in List.length lines > 0