summaryrefslogtreecommitdiff
path: root/linaropy/rn/gccclone.py
blob: 8647eaab1afd52f3665ce4dd45958448f95954e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import logging

from sh import git
from ..git.clone import Clone
from ..cd import cd

class GCCClone(Clone):
    def __init__(self, proj, clonedir=None, remote=None ):
	super(GCCClone,self).__init__(proj, clonedir, remote)

        logging.info("Changing directory to clonedir %s." % clonedir)
        with cd(clonedir):
            try:
		with open('gcc/BASE-VER', 'r') as f:
	            self.basever = f.readline().strip()
            except:
		raise IOError('gcc/BASE-VER not found in ' + clonedir)

            log=git("log", "-n 1", "--grep=Merge branch")
	    for logline in log:
	        if logline.lstrip().startswith("Merge"):
		    # For some reason rsplit('.') isn't working.
	            self.fsfrev=logline.lstrip().rsplit(None,1)[1].split('.',1)[0]

    def get_base_version(self):
	return self.basever

    def get_fsf_revision(self):
	return self.fsfrev