1
2
3
4 import common
5 import test_vcs_svn
6 import test_vcs_git
7
8 import os
9 import commands
10 import tempfile
11
12 from moap.vcs import svn, git, git_svn
13
15
16 if os.system('which git-svn > /dev/null 2>&1') != 0:
17 skip = "No 'git-svn' binary, skipping test."
18
20 self.repository = self.createRepository()
21 self.livedir = self.createLive()
22 cmd = 'git-svn init file://%s %s' % (self.repository, self.livedir)
23 (status, output) = commands.getstatusoutput(cmd)
24 self.failIf(status)
25
26 oldPath = os.getcwd()
27 os.chdir(self.livedir)
28 self.liveWriteFile("lets-create-a-head-to-make-git-happy", "I lost my HEAD")
29 (status, output) = commands.getstatusoutput("git add lets-create-a-head-to-make-git-happy")
30 self.failIf(status)
31 (status, output) = commands.getstatusoutput("git commit -m first-commit")
32 self.failIf(status)
33 os.chdir(oldPath)
34
35
38
44
48
50
51 checkout = tempfile.mkdtemp(prefix="moap.test.")
52 os.mkdir(os.path.join(checkout, '.git'))
53 self.failIf(git_svn.detect(checkout))
54 os.system('rm -rf %s' % checkout)
55
58 v = git_svn.VCSClass(self.livedir)
59 self.failUnless(v)
60
61 paths = ['test/test1.py', 'test/test2.py', 'test/test3/test4.py',
62 'test5.py', 'test6/', 'test/test7/']
63 tree = v.createTree(paths)
64 keys = tree.keys()
65 keys.sort()
66 self.assertEquals(keys, ['', 'test', 'test/test3'])
67 self.failUnless('test1.py' in tree['test'])
68 self.failUnless('test2.py' in tree['test'])
69 self.failUnless('test7' in tree['test'])
70 self.failUnless('test4.py' in tree['test/test3'])
71 self.failUnless('test5.py' in tree[''], tree[''])
72 self.failUnless('test6' in tree[''], tree[''])
73
76 v = git_svn.VCSClass(self.livedir)
77 self.failUnless(v)
78
79 self.assertEquals(v.getNotIgnored(), [])
80
81 path = os.path.join(self.livedir, 'test')
82 handle = open(path, 'w')
83 handle.write('test')
84 handle.close()
85
86 self.assertEquals(v.getNotIgnored(), ['test'])
87
88 v.ignore(['test', ])
89
90 self.assertEquals(v.getNotIgnored(), [])
91
94 v = git_svn.VCSClass(self.livedir)
95 self.failUnless(v)
96
97 self.assertEquals(v.diff(self.livedir), "")
98