diff options
| author | ruki <[email protected]> | 2023-09-14 22:43:23 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-09-14 22:43:23 +0800 |
| commit | b6276282eb660a335e955073748d72ff24dbf23c (patch) | |
| tree | b43248fabb4d5bf909263d1eb58e326a77fcdc25 /xmake/modules/private/service/remote_build/server_session.lua | |
| parent | b57ec2d39075b4b433a339c19e873559f1401466 (diff) | |
sync xmakesrc
Diffstat (limited to 'xmake/modules/private/service/remote_build/server_session.lua')
| -rw-r--r-- | xmake/modules/private/service/remote_build/server_session.lua | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/xmake/modules/private/service/remote_build/server_session.lua b/xmake/modules/private/service/remote_build/server_session.lua index 7031c5095..fa9d7fd24 100644 --- a/xmake/modules/private/service/remote_build/server_session.lua +++ b/xmake/modules/private/service/remote_build/server_session.lua @@ -37,10 +37,15 @@ local server_session = server_session or object() function server_session:init(server, session_id) self._ID = session_id self._SERVER = server + local filesync = new_filesync(self:sourcedir(), path.join(self:workdir(), "manifest.txt")) filesync:ignorefiles_add(".git/**") filesync:ignorefiles_add(".xmake/**") self._FILESYNC = filesync + + local xmake_filesync = new_filesync(self:xmake_sourcedir(), path.join(self:workdir(), "xmakesrc_manifest.txt")) + xmake_filesync:ignorefiles_add(".git/**") + self._XMAKE_FILESYNC = xmake_filesync end -- get server session id @@ -101,7 +106,7 @@ function server_session:diff(respmsg) self:_ensure_sourcedir() -- do snapshot - local filesync = self:_filesync() + local filesync = body.xmakesrc and self:_xmake_filesync() or self:_filesync() local manifest_server = assert(filesync:snapshot(), "server manifest not found!") local manifest_client = assert(body.manifest, "client manifest not found!") @@ -146,7 +151,7 @@ function server_session:sync(respmsg) local body = respmsg:body() local stream = self:stream() local manifest = assert(body.manifest, "manifest not found!") - local filesync = self:_filesync() + local filesync = body.xmakesrc and self:_xmake_filesync() or self:_filesync() local sourcedir = self:sourcedir() local archivedir = os.tmpfile() .. ".dir" vprint("%s: sync files in %s ..", self, self:sourcedir()) @@ -297,11 +302,21 @@ function server_session:sourcedir() return path.join(self:workdir(), "source") end +-- get xmake sourcedir directory +function server_session:xmake_sourcedir() + return path.join(self:workdir(), "xmake_source") +end + -- get filesync function server_session:_filesync() return self._FILESYNC end +-- get filesync for xmakesrc +function server_session:_xmake_filesync() + return self._XMAKE_FILESYNC +end + -- ensure source directory function server_session:_ensure_sourcedir() local sourcedir = self:sourcedir() |
