summaryrefslogtreecommitdiffstats
path: root/subcmds/init.py
diff options
context:
space:
mode:
authorXD Trol <milestonejxd@gmail.com>2022-01-17 23:29:04 +0800
committerXD Trol <milestonejxd@gmail.com>2022-01-26 01:47:20 +0000
commit630876f9e4910a4c91705c6cc98414123547419a (patch)
treeaa7c9374ce0aba3107c563ab7c3407c10b54e735 /subcmds/init.py
parent4aa8584ec6a57b24c7e41e6fccd0b554a264423d (diff)
downloadgit-repo-630876f9e4910a4c91705c6cc98414123547419a.tar.gz
init: add an option --enable-git-lfs-filter
It was reported that git-lfs did not work with git-repo. Specifically, `git read-tree -u` run by `repo sync` would fail git-lfs's smudge filter. See https://github.com/github/git-lfs/issues/1422. In fact, by the time `git read-tree -u` is run, the repository is not bare. It is just that, the working directory is not the same as the .git directory. git-lfs's filter should work. No one seems to have delved into that issue. Today, with newer versions of git-repo and git-lfs, that issue will not reproduce. Tested with - git 2.33, git-lfs 2.13 on macOS - git 2.17, git-lfs 2.3 on ubuntu So, it seems fine to add an option --enable-git-lfs-filter, default to false, and stat that it may not work with older versions of git and git-lfs in the help doc. Bug: https://crbug.com/gerrit/14516 Change-Id: I8d21854eeeea541e072f63d6b10ad1253b1a9826 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/328359 Tested-by: XD Trol <milestonejxd@gmail.com> Reviewed-by: Mike Frysinger <vapier@google.com>
Diffstat (limited to 'subcmds/init.py')
-rw-r--r--subcmds/init.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/subcmds/init.py b/subcmds/init.py
index b0db76a4..32c85f79 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -291,6 +291,15 @@ to update the working directory files.
291 if opt.submodules: 291 if opt.submodules:
292 m.config.SetBoolean('repo.submodules', opt.submodules) 292 m.config.SetBoolean('repo.submodules', opt.submodules)
293 293
294 if opt.git_lfs is not None:
295 if opt.git_lfs:
296 git_require((2, 17, 0), fail=True, msg='Git LFS support')
297
298 m.config.SetBoolean('repo.git-lfs', opt.git_lfs)
299 if not is_new:
300 print('warning: Changing --git-lfs settings will only affect new project checkouts.\n'
301 ' Existing projects will require manual updates.\n', file=sys.stderr)
302
294 if opt.use_superproject is not None: 303 if opt.use_superproject is not None:
295 m.config.SetBoolean('repo.superproject', opt.use_superproject) 304 m.config.SetBoolean('repo.superproject', opt.use_superproject)
296 305