Commit a4909280 authored by Ayush Tiwari's avatar Ayush Tiwari

submodule support 2

parent 7d28f7b4
......@@ -396,16 +396,6 @@ class BusinessTemplateWorkingCopy(BusinessTemplateFolder):
removed_set = set()
prefix_length = len(os.path.join(self.path, ''))
for dirpath, dirnames, filenames in os.walk(self.path):
# Do not remove hidden files and folders.
# This is important as we primarily use ERP5 VCS for Business Templates
# and sometimes they can be in form of git submodule. Removing `.git`
# leads to the case where we want to check from parent repo (i.e. erp5)
# if there is an existence of gitsubmodule and then update it explicitly.
# This ends up taking an extra effort and conflict as the new `.git`
# might have conflicting history depending on when we re-init/udpate
# the submodule
filenames = [f for f in filenames if not f[0] == '.']
dirnames[:] = [d for d in dirnames if not d[0] == '.']
dirpath = dirpath[prefix_length:]
for i in xrange(len(dirnames) - 1, -1, -1):
d = dirnames[i]
......@@ -417,10 +407,17 @@ class BusinessTemplateWorkingCopy(BusinessTemplateFolder):
removed_set.add(d)
del dirnames[i]
for f in filenames:
f = os.path.join(dirpath, f)
if f not in self.file_set:
os.remove(os.path.join(self.path, f))
removed_set.add(f)
# Do not remove hidden files
# This is important as we primarily use ERP5 VCS for Business Templates
# and sometimes they can be in form of git submodule.
# In case of submodule, `.git` is a file pointing to the directory
# in its parent repo <parent_repo>/.git/modules/<submodule>, hence we
# do not want it to be removed
if f[0] != '.':
f = os.path.join(dirpath, f)
if f not in self.file_set:
os.remove(os.path.join(self.path, f))
removed_set.add(f)
return self.file_set, removed_set
class File(object):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment