mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
subrepo: add basestate method
This will allow us to sort out what's going on with state .hgsubstate files more precisely.
This commit is contained in:
parent
153d38819f
commit
5db4edab96
@ -275,6 +275,11 @@ class abstractsubrepo(object):
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
def basestate(self):
|
||||
"""current working directory base state, disregarding .hgsubstate
|
||||
state and working directory modifications"""
|
||||
raise NotImplementedError
|
||||
|
||||
def checknested(self, path):
|
||||
"""check if path is a subrepository within this repository"""
|
||||
return False
|
||||
@ -446,6 +451,9 @@ class hgsubrepo(abstractsubrepo):
|
||||
return True
|
||||
return w.dirty() # working directory changed
|
||||
|
||||
def basestate(self):
|
||||
return self._repo['.'].hex()
|
||||
|
||||
def checknested(self, path):
|
||||
return self._repo._checknested(self._repo.wjoin(path))
|
||||
|
||||
@ -666,6 +674,9 @@ class svnsubrepo(abstractsubrepo):
|
||||
return False
|
||||
return True
|
||||
|
||||
def basestate(self):
|
||||
return self._wcrev()
|
||||
|
||||
def commit(self, text, user, date):
|
||||
# user and date are out of our hands since svn is centralized
|
||||
changed, extchanged = self._wcchanged()
|
||||
@ -907,6 +918,9 @@ class gitsubrepo(abstractsubrepo):
|
||||
out, code = self._gitdir(['diff-index', '--quiet', 'HEAD'])
|
||||
return code == 1
|
||||
|
||||
def basestate(self):
|
||||
return self._gitstate()
|
||||
|
||||
def get(self, state, overwrite=False):
|
||||
source, revision, kind = state
|
||||
if not revision:
|
||||
|
Loading…
Reference in New Issue
Block a user