2026-09-09 16:46:15 +00:00
committed by gitea-admin
co-authored by duylh19
parent 13e2c22067
commit 1b8429e33a
147 changed files with 20993 additions and 461 deletions
+52 -14
View File
@@ -63,26 +63,64 @@ rem --------------------------------------------------------------------------
rem 2. Duong dan de import duoc goi "cowork_local"
rem
rem Thu muc ma nguon phai mang dung ten "cowork_local" thi Python moi import
rem duoc no. Neu khong, install.bat da tao mot junction; o day chi kiem tra va
rem tu dung lai neu no bi xoa — de nguoi dung khong phai chay lai install.bat
rem chi vi mot thu muc tam bi don.
rem duoc no. Neu khong, ta tro mot junction toi no.
rem
rem Junction duoc TAO LAI moi lan chay, khong phai chi khi thieu. Ban truoc chi
rem hoi "co ton tai khong", nen mot junction con lai tu checkout KHAC van duoc
rem dung lai im lang: run.bat nam trong thu muc nay nhung ung dung chay tu thu
rem muc kia. Trieu chung la "sua code xong chay van y nguyen" — mat rat lau moi
rem nghi ra, vi khong co gi bao loi ca. Tao lai ton vai mili giay va bo han ca
rem lop loi do. install.bat cung lam dung nhu vay.
rem --------------------------------------------------------------------------
rem Junction rieng cho TUNG thu muc ma nguon, khong dung chung mot cai.
rem
rem Ban truoc dung dung mot duong dan %LAUNCHER%\cowork_local cho ca may. Hai
rem ban checkout thi tranh nhau no: cai chay sau tro junction ve minh, va tien
rem trinh con cua cai chay truoc (may chu MCP MS365, sinh ra sau khi app da mo)
rem se import ma nguon cua cai kia. Rat kho lan ra, vi khong co gi bao loi.
rem
rem Khoa lay tu bam SHA1 cua duong dan tuyet doi (normcase, nen khong phan biet
rem hoa thuong nhu Windows). Moi thu muc ma nguon co mot khoa on dinh, khong
rem bao gio dung chung.
for %%I in ("%REPO%") do set "REPO_NAME=%%~nxI"
if /I "%REPO_NAME%"=="cowork_local" (
for %%I in ("%REPO%\..") do set "PKGPATH=%%~fI"
) else (
if not exist "%LAUNCHER%\cowork_local" (
if not exist "%LAUNCHER%" mkdir "%LAUNCHER%" >nul 2>&1
mklink /J "%LAUNCHER%\cowork_local" "%REPO%" >nul 2>&1
if errorlevel 1 (
echo.
echo [LỖI] Không tạo được liên kết thư mục. Chạy install.bat lại.
echo.
pause
exit /b 1
)
set "REPO_KEY="
for /f "delims=" %%K in ('!RUNPY! -c "import hashlib,os,sys;print(hashlib.sha1(os.path.normcase(os.path.abspath(sys.argv[1])).encode()).hexdigest()[:10])" "%REPO%" 2^>nul') do set "REPO_KEY=%%K"
if not defined REPO_KEY set "REPO_KEY=default"
set "PKGPATH=%LAUNCHER%\!REPO_KEY!"
if not exist "!PKGPATH!" mkdir "!PKGPATH!" >nul 2>&1
if exist "!PKGPATH!\cowork_local" rmdir "!PKGPATH!\cowork_local" >nul 2>&1
mklink /J "!PKGPATH!\cowork_local" "%REPO%" >nul 2>&1
if errorlevel 1 (
echo.
echo [LOI] Khong tao duoc lien ket thu muc:
echo "!PKGPATH!\cowork_local" -> "%REPO%"
echo.
echo Thuong gap khi ma nguon nam tren o mang, hoac tren o dia dinh
echo dang khong phai NTFS - junction khong tro sang duoc.
echo Cach khac: chep ma nguon ve o dia trong may, hoac doi ten thu
echo muc ma nguon thanh cowork_local la khong can junction nua.
echo.
pause
exit /b 1
)
set "PKGPATH=%LAUNCHER%"
)
rem Chot lai: goi phai THAT SU nhin thay duoc qua duong dan vua dung. Khong co
rem buoc nay thi mot junction hong chi hien ra duoi dang loi Python kho hieu
rem ("'cowork_local' is a package and cannot be directly executed").
if not exist "!PKGPATH!\cowork_local\__main__.py" (
echo.
echo [LOI] Khong tim thay cowork_local\__main__.py qua duong dan:
echo "!PKGPATH!"
echo.
echo Ma nguon o "%REPO%" bi thieu file, hoac lien ket dang tro nham cho.
echo Chay install.bat de dung lai tu dau.
echo.
pause
exit /b 1
)
rem --------------------------------------------------------------------------