{
  "git": {
    "delete": "rm -rf \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\"",
    "init": "git clone {{{url}}} \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\"",
    "get": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && git pull --rebase",
    "changes": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && git status -s; git log --branches --not --remotes --oneline",
    "report": {
      "getBranchName": "git symbolic-ref --short --quiet HEAD",
      "hasUncommitted": "(git diff-index --quiet HEAD -- && echo Clean) || echo Dirty",
      "hasUnpushed": "git log --branches --not --remotes --oneline | wc -l"
    },
    "save": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && git push origin main",
    "undo": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && git reset --hard"
  },
  "svn": {
    "delete": "rm -rf \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\"",
    "init": "svn checkout {{{url}}} \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\"",
    "get": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && svn up",
    "changes": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && svn stat",
    "report": {
      "getBranchName": "svn info | grep '^URL:' | egrep -o '(tags|branches)/[^/]+|trunk' | egrep -o '[^/]+$'",
      "hasUncommitted": "((svn status -q | grep --quiet [AMCDG]) && echo Dirty) || echo Clean",
      "hasUnpushed": "echo \"N. A.\""
    },
    "save": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && svn commit -m \"Commited by Repoman\"",
    "undo": "cd \"{{{workspace}}}{{{pathseparator}}}{{{name}}}\" && svn revert -R ."
  }
}
