]> code.ossystems Code Review - openembedded-core.git/commit
devtool: use -f and don't use --exclude-standard when adding files to workspace
authorMartin Jansa <Martin.Jansa@gmail.com>
Fri, 29 May 2020 22:03:23 +0000 (00:03 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 3 Jun 2020 14:25:54 +0000 (15:25 +0100)
commit06a24a615549af3550302a56ea08147000a608f3
treec2d1e827997d09d23d99ad4755ac48c7030bd5f6
parent08433cc58abf0cf3e42b22d20870a50287cfb8bc
devtool: use -f and don't use --exclude-standard when adding files to workspace

* I see a case where a tarball contains .gitignore and bunch of files
  which are normally ignored in git, but still included in the tarball
  (e.g. configure script next to configure.ac)
* when devtool is creating a git repo in workspace it won't include these
  files from tarball in the initial devtool-base commit, because
  git ls-files won't list them
* but then the first .patch file (without git headers) when applied with
  GitApplyTree._applypatch() will add all these still ignored files to a
  commit which used to only modify some files, because it's using -f:
      # Add all files
      shellcmd = ["git", "add", "-f", "-A", "."]
      output += runcmd(["sh", "-c", " ".join(shellcmd)], self.dir)
  at least in this case it would be better to add all ignored files in
  the initial devtool-base commit and then --force-patch-refresh will just
  include the small modification as before instead of adding unrelated
  files, just because they were initially ignored - this behavior will
  also match with the do_patch task in the actual build where the
  .gitignore is ignored when unpacking some tarball
* my use-case is fixed in setup_git_repo, but similar function is in
  devtool upgrade, I've changed it there as well

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/devtool/__init__.py
scripts/lib/devtool/upgrade.py