def dir_remotes(remoteloc):
    # Use 2 runner instances to checkout two clones and create merge conflicts
    loca = Runner(False)

    reponame = util.randrepo()
    os.mkdir(reponame)
    loca.cdrel(reponame)

    # Create repo in A
    loca.runcommand("gin", "init")
    loca.runcommand("gin", "add-remote", "--create", "--default", "origin",
                    f"dir:{remoteloc.name}")
    loca.runcommand("gin", "upload")
    loca.repositories[loca.cmdloc] = None

    # Init in B and download
    locb = Runner(False)
    os.mkdir(reponame)
    locb.cdrel(reponame)
    locb.runcommand("gin", "init")
    locb.runcommand("gin", "add-remote", "--default", "origin",
                    f"dir:{remoteloc.name}")
    locb.runcommand("gin", "download")
    locb.repositories[locb.cmdloc] = None

    return (loca, locb)
Beispiel #2
0
def runner():
    r = Runner()

    reponame = util.randrepo()
    os.mkdir(reponame)
    r.cdrel(reponame)

    r.runcommand("gin", "init")
    r.repositories[r.cmdloc] = reponame

    yield r

    r.runcommand("gin", "annex", "uninit")
Beispiel #3
0
def runner():
    r = Runner()
    r.login()

    reponame = util.randrepo()
    r.runcommand("gin", "create", reponame, "Test a minimal workflow")
    r.reponame = reponame
    r.cdrel(reponame)
    r.repositories[r.cmdloc] = reponame

    yield r

    r.cleanup()
    r.logout()
Beispiel #4
0
def runner():
    r = Runner(True)
    r.login()

    reponame = util.randrepo()
    r.runcommand("gin", "create", reponame,
                 "Test repository for all states")
    r.cdrel(reponame)
    r.repositories[r.cmdloc] = reponame

    yield r

    r.cleanup()
    r.logout()
def runner():
    r = Runner()
    r.login()

    reponame = util.randrepo()
    r.reponame = reponame

    localdir = f"{reponame}-local-clone"
    os.mkdir(localdir)
    r.cdrel(localdir)

    yield r

    r.cleanup()
    r.logout()
Beispiel #6
0
def runner(request):
    offline = "offline" in request.node.keywords
    r = Runner(not offline)
    # create repo locally only
    reponame = util.randrepo()
    localdir = f"{reponame}"
    os.mkdir(localdir)
    r.cdrel(localdir)
    r.reponame = None if offline else reponame

    yield r

    # cleanup
    r.cleanup()
    r.logout()
Beispiel #7
0
def runner():
    r = Runner()
    r.login()
    # create repo (remote and local) and cd into directory
    reponame = util.randrepo()
    print("Setting up test repository")
    r.runcommand("gin", "create", reponame,
                 "Test repository for cascading configurations")
    r.reponame = reponame
    r.cdrel(reponame)
    r.repositories[r.cmdloc] = reponame

    yield r

    r.cleanup()
    r.logout()
def runner():
    remoteloc = tempfile.TemporaryDirectory(prefix="gintest-remote")
    r = Runner(False)
    reponame = util.randrepo()
    os.mkdir(reponame)
    r.cdrel(reponame)
    r.runcommand("gin", "init")
    r.runcommand("gin", "add-remote", "--create", "--default", "origin",
                 f"dir:{remoteloc.name}")
    r.runcommand("gin", "upload")

    r.repositories[r.cmdloc] = None

    yield r

    r.cleanup()
Beispiel #9
0
def runner():
    remoteloc = tempfile.TemporaryDirectory(prefix="gintest-remote")
    r = Runner(False)
    # create repo (remote and local) and cd into directory
    reponame = util.randrepo()
    print("Setting up test repository")
    os.mkdir(reponame)
    r.cdrel(reponame)
    r.runcommand("gin", "init")
    r.runcommand("gin", "add-remote", "--create", "--default", "origin",
                 f"dir:{remoteloc.name}")
    r.reponame = reponame
    r.repositories[r.cmdloc] = None

    r.hashes = dict()
    head, curhashes = util.hashtree(r)
    r.hashes[head] = curhashes

    # add files and compute their md5 hashes
    print("Creating files")
    create_files(r)
    out, err = r.runcommand("gin", "commit", ".")
    head, curhashes = util.hashtree(r)
    r.hashes[head] = curhashes
    r.commitcount = 2

    n = 10
    print(f"Modifying files {n} times")
    for _ in range(n):
        create_files(r)
        out, err = r.runcommand("gin", "commit", ".")
        head, curhashes = util.hashtree(r)
        r.hashes[head] = curhashes
        r.commitcount += 1

    # TODO: Add some symlinks to the directories (not Windows)

    # verify commit count before returning
    assert util.getrevcount(r) == r.commitcount

    yield r

    r.cleanup()
    r.logout()

    print("DONE!")
Beispiel #10
0
def runner():
    r = Runner()
    r.login()
    # username = r.username
    # create repo (remote and local) and cd into directory
    reponame = util.randrepo()
    # repopath = f"{username}/{reponame}"
    r.runcommand("gin", "create", reponame,
                 "Test repository for error output. Created with test scripts")
    r.reponame = reponame
    r.repositories[r.cmdloc] = reponame

    r.cdrel(reponame)
    r.runcommand("gin", "upload")
    r.cdrel("..")

    yield r

    r.cleanup()
    r.logout()
def runner():
    r = Runner()
    # change config dir to some temporary directory with spaces in the name
    defaultconfdir = r.env["GIN_CONFIG_DIR"]
    conftemp = tempfile.TemporaryDirectory(prefix="conf place with spaces")
    spaceconfdir = os.path.join(conftemp.name, "conf")
    r.env["GIN_CONFIG_DIR"] = spaceconfdir
    shutil.copytree(defaultconfdir, spaceconfdir)
    r.login()
    # create repo (remote and local) and cd into directory
    reponame = util.randrepo()
    print("Setting up test repository")
    r.runcommand("gin", "create", reponame,
                 "Test repository for alt config path (with spaces)")
    r.cdrel(reponame)
    r.repositories[r.cmdloc] = reponame

    yield r

    r.cleanup()
    r.logout()
def runner():
    r = Runner(True)
    r.login()

    # manually set up repository with annex v5

    reponame = util.randrepo()
    r.runcommand("gin", "create", "--no-clone", reponame,
                 "Test repository for annex upgrade")
    os.mkdir(reponame)
    r.cdrel(reponame)
    r.runcommand("git", "init")
    r.runcommand("git", "annex", "init", "--version=5")
    r.runcommand("gin", "add-remote", "origin",
                 f"test:{r.username}/{reponame}")
    r.repositories[r.cmdloc] = reponame

    yield r

    r.cleanup()
    r.logout()
Beispiel #13
0
def drunner():
    remoteloc = tempfile.TemporaryDirectory(prefix="gin-cli-test")
    r = Runner(False)

    reponame = util.randrepo()
    r.reponame = reponame
    os.mkdir(reponame)
    r.cdrel(reponame)

    # Create repo in A
    r.runcommand("gin", "init")
    r.runcommand("gin", "add-remote", "--create", "--default", "origin",
                 f"dir:{remoteloc.name}")
    r.runcommand("gin", "upload")
    r.repositories[r.cmdloc] = None
    r.remotedir = remoteloc

    yield r

    util.set_rwx_recursive(remoteloc.name)
    r.cleanup()
def server_remotes():
    # Use 2 runner instances to checkout two clones and create merge conflicts
    loca = Runner()
    loca.login()
    locb = Runner()
    locb.env = loca.env  # share environments between the two users

    # create repo (remote and local) and cd into directory
    reponame = util.randrepo()
    repopath = f"{loca.username}/{reponame}"

    # Create repo in A
    loca.runcommand("gin", "create", reponame,
                    "Repository for testing merge conflicts")
    loca.cdrel(reponame)
    loca.repositories[loca.cmdloc] = reponame

    # Clone into B
    locb.runcommand("gin", "get", repopath)
    locb.cdrel(reponame)
    locb.repositories[locb.cmdloc] = None

    return (loca, locb)