Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50630 views
#!/usr/bin/env python

import os, random, subprocess, sys, time

home = os.environ['HOME']
lock_files = [home + "/.git/index.lock", home + "/.git/master.lock"]

for i in range(50):  # 50 chances (about 5 seconds)
    had_to_wait = False
    for file in lock_files:
        if os.path.exists(file):
            print "Waiting for lock file to vanish..."
            time.sleep(.05 + random.random()*.1)
            had_to_wait = True
            break

    if not had_to_wait:
        p = subprocess.Popen(['git'] + sys.argv[1:])
        sys.exit(p.wait())

sys.exit(1) # FAIL