90df1c4a6a
Former-commit-id: 83a210db4e58bb87425f179b210ee9c1914ac787
53 lines
1.4 KiB
Python
Executable File
53 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import json
|
|
|
|
def find_module(submodules, name):
|
|
for item in submodules:
|
|
if item["name"] == name:
|
|
return item
|
|
|
|
print("Not found")
|
|
sys.exit(1)
|
|
|
|
|
|
if len(sys.argv) < 3:
|
|
print("Usage: versions.py <path to SUBMODULES.json> <command>")
|
|
sys.exit(1)
|
|
|
|
CONFIG_FILE = sys.argv[1]
|
|
command = sys.argv[2]
|
|
|
|
submodules = json.load(open(CONFIG_FILE))
|
|
|
|
if command == "get-rev":
|
|
mod = find_module(submodules, sys.argv[3])
|
|
print(mod["rev"])
|
|
elif command == "get-url":
|
|
mod = find_module(submodules, sys.argv[3])
|
|
print(mod["url"])
|
|
elif command == "get-dir":
|
|
mod = find_module(submodules, sys.argv[3])
|
|
print(mod["directory"])
|
|
elif command == "get-remote-branch":
|
|
mod = find_module(submodules, sys.argv[3])
|
|
print(mod["remote-branch"])
|
|
elif command == "set-rev":
|
|
mod = find_module(submodules, sys.argv[3])
|
|
mod["rev"] = sys.argv[4]
|
|
json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
|
|
elif command == "set-branch":
|
|
mod = find_module(submodules, sys.argv[3])
|
|
mod["branch"] = sys.argv[4]
|
|
json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
|
|
elif command == "set-remote-branch":
|
|
mod = find_module(submodules, sys.argv[3])
|
|
mod["remote-branch"] = sys.argv[4]
|
|
json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
|
|
elif command == "cat":
|
|
print(json.dumps(submodules, indent = 2))
|
|
else:
|
|
print("Unknown command "" + command + "".")
|
|
sys.exit(1)
|