File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ .git-ai /lancedb.tar.gz filter =lfs diff =lfs merge =lfs - text
Original file line number Diff line number Diff line change @@ -11,9 +11,18 @@ if [ ! -f ".git-ai/lancedb.tar.gz" ]; then
1111 exit 0
1212fi
1313
14+ LFS_REQUIRED=" $( git check-attr filter -- .git-ai/lancedb.tar.gz 2> /dev/null | grep -q ' filter: lfs' && echo 1 || echo 0) "
15+ if [ " $LFS_REQUIRED " = " 1" ]; then
16+ if git lfs version > /dev/null 2>&1 ; then
17+ git lfs post-checkout " $@ "
18+ else
19+ echo " git-ai: repository requires git-lfs to fetch .git-ai/lancedb.tar.gz; please install git-lfs." 1>&2
20+ exit 0
21+ fi
22+ fi
23+
1424if ! command -v git-ai > /dev/null 2>&1 ; then
1525 exit 0
1626fi
1727
1828git-ai ai unpack -p " $ROOT " > /dev/null
19-
Original file line number Diff line number Diff line change @@ -11,9 +11,18 @@ if [ ! -f ".git-ai/lancedb.tar.gz" ]; then
1111 exit 0
1212fi
1313
14+ LFS_REQUIRED=" $( git check-attr filter -- .git-ai/lancedb.tar.gz 2> /dev/null | grep -q ' filter: lfs' && echo 1 || echo 0) "
15+ if [ " $LFS_REQUIRED " = " 1" ]; then
16+ if git lfs version > /dev/null 2>&1 ; then
17+ git lfs post-merge " $@ "
18+ else
19+ echo " git-ai: repository requires git-lfs to fetch .git-ai/lancedb.tar.gz; please install git-lfs." 1>&2
20+ exit 0
21+ fi
22+ fi
23+
1424if ! command -v git-ai > /dev/null 2>&1 ; then
1525 exit 0
1626fi
1727
1828git-ai ai unpack -p " $ROOT " > /dev/null
19-
Original file line number Diff line number Diff line change @@ -18,3 +18,12 @@ if [ -n "$CHANGED" ]; then
1818 echo " git-ai: .git-ai/lancedb.tar.gz changed during pre-push; please commit it before pushing." 1>&2
1919 exit 1
2020fi
21+
22+ LFS_REQUIRED=" $( git check-attr filter -- .git-ai/lancedb.tar.gz 2> /dev/null | grep -q ' filter: lfs' && echo 1 || echo 0) "
23+ if [ " $LFS_REQUIRED " = " 1" ]; then
24+ if ! git lfs version > /dev/null 2>&1 ; then
25+ echo " git-ai: repository requires git-lfs to push LFS objects; please install git-lfs." 1>&2
26+ exit 2
27+ fi
28+ git lfs pre-push " $@ "
29+ fi
Original file line number Diff line number Diff line change @@ -102,4 +102,29 @@ git-ai ai hooks status
102102- ` pre-commit ` :自动 ` index --overwrite ` + ` pack ` ,并把 ` .git-ai/meta.json ` 与 ` .git-ai/lancedb.tar.gz ` 加入暂存区。
103103- ` pre-push ` :再次 ` pack ` ,若归档发生变化则阻止 push,提示先提交归档文件。
104104- ` post-checkout ` / ` post-merge ` :若存在 ` .git-ai/lancedb.tar.gz ` 则自动 ` unpack ` 。
105- - 如需使用 git-lfs 管理归档文件,可手动执行:` git lfs track .git-ai/lancedb.tar.gz ` (或运行 ` git-ai ai pack --lfs ` )。
105+
106+ ## Git LFS(推荐,用于 .git-ai/lancedb.tar.gz)
107+
108+ 为了避免把较大的索引归档直接存进 Git 历史,推荐对 ` .git-ai/lancedb.tar.gz ` 启用 Git LFS。
109+
110+ ### 开启(一次性)
111+
112+ ``` bash
113+ git lfs install
114+ git lfs track " .git-ai/lancedb.tar.gz"
115+ git add .gitattributes
116+ git commit -m " chore: track lancedb archive via git-lfs"
117+ ```
118+
119+ 也可以用 ` git-ai ` 触发(仅在已安装 git-lfs 的情况下生效):
120+
121+ ``` bash
122+ git-ai ai pack --lfs
123+ ```
124+
125+ ### 克隆/切分支后(如果未自动拉取 LFS)
126+ 如果你环境设置了 ` GIT_LFS_SKIP_SMUDGE=1 ` ,或发现 ` .git-ai/lancedb.tar.gz ` 不是有效的 gzip 文件:
127+
128+ ``` bash
129+ git lfs pull
130+ ```
Original file line number Diff line number Diff line change @@ -11,9 +11,18 @@ if [ ! -f ".git-ai/lancedb.tar.gz" ]; then
1111 exit 0
1212fi
1313
14+ LFS_REQUIRED=" $( git check-attr filter -- .git-ai/lancedb.tar.gz 2> /dev/null | grep -q ' filter: lfs' && echo 1 || echo 0) "
15+ if [ " $LFS_REQUIRED " = " 1" ]; then
16+ if git lfs version > /dev/null 2>&1 ; then
17+ git lfs post-checkout " $@ "
18+ else
19+ echo " git-ai: repository requires git-lfs to fetch .git-ai/lancedb.tar.gz; please install git-lfs." 1>&2
20+ exit 0
21+ fi
22+ fi
23+
1424if ! command -v git-ai > /dev/null 2>&1 ; then
1525 exit 0
1626fi
1727
1828git-ai ai unpack -p " $ROOT " > /dev/null
19-
Original file line number Diff line number Diff line change @@ -11,9 +11,18 @@ if [ ! -f ".git-ai/lancedb.tar.gz" ]; then
1111 exit 0
1212fi
1313
14+ LFS_REQUIRED=" $( git check-attr filter -- .git-ai/lancedb.tar.gz 2> /dev/null | grep -q ' filter: lfs' && echo 1 || echo 0) "
15+ if [ " $LFS_REQUIRED " = " 1" ]; then
16+ if git lfs version > /dev/null 2>&1 ; then
17+ git lfs post-merge " $@ "
18+ else
19+ echo " git-ai: repository requires git-lfs to fetch .git-ai/lancedb.tar.gz; please install git-lfs." 1>&2
20+ exit 0
21+ fi
22+ fi
23+
1424if ! command -v git-ai > /dev/null 2>&1 ; then
1525 exit 0
1626fi
1727
1828git-ai ai unpack -p " $ROOT " > /dev/null
19-
Original file line number Diff line number Diff line change @@ -18,3 +18,12 @@ if [ -n "$CHANGED" ]; then
1818 echo " git-ai: .git-ai/lancedb.tar.gz changed during pre-push; please commit it before pushing." 1>&2
1919 exit 1
2020fi
21+
22+ LFS_REQUIRED=" $( git check-attr filter -- .git-ai/lancedb.tar.gz 2> /dev/null | grep -q ' filter: lfs' && echo 1 || echo 0) "
23+ if [ " $LFS_REQUIRED " = " 1" ]; then
24+ if ! git lfs version > /dev/null 2>&1 ; then
25+ echo " git-ai: repository requires git-lfs to push LFS objects; please install git-lfs." 1>&2
26+ exit 2
27+ fi
28+ git lfs pre-push " $@ "
29+ fi
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ git-ai ai unpack
1313如果仓库安装了 git-lfs,推荐对 ` .git-ai/lancedb.tar.gz ` 使用 LFS:
1414
1515``` bash
16+ git lfs install
1617git lfs track " .git-ai/lancedb.tar.gz"
1718git add .gitattributes
1819git commit -m " track lancedb archive via lfs"
You can’t perform that action at this time.
0 commit comments