From: Like Xu <like.xu.linux@gmail.com> To: Will Deacon <will@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>, Masahiro Yamada <masahiroy@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com>, Shuah Khan <shuah@kernel.org>, Miguel Ojeda <ojeda@kernel.org>, Wedson Almeida Filho <wedsonaf@google.com>, Alex Gaynor <alex.gaynor@gmail.com>, Kees Cook <keescook@chromium.org>, Andrew Davis <afd@ti.com>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, kvm@vger.kernel.org Subject: [PATCH] .gitignore: Keep track of archived files as they are added to a new git repo Date: Mon, 30 Jan 2023 17:04:26 +0800 [thread overview] Message-ID: <20230130090426.13864-1-likexu@tencent.com> (raw) From: Like Xu <likexu@tencent.com> With thousands of commits going into mainline each development cycle, the metadata .git folder size is gradually expanding (1GB+), and for some developers (most likely testers) who don't care about the lengthy git-log, they just use git-archive to distribute a certain version of code (~210MB) and rebuild git repository from anywhere for further code changes, e.g. $ git init && git add . -A Then unfortunately, the file tracking metadata from the original git-repo using "git add -f" will also be lost, to the point where part of source files wrapped by git-archive may be accidentally cleaned up: $ git clean -nxdf Would remove Documentation/devicetree/bindings/.yamllint Would remove drivers/clk/.kunitconfig Would remove drivers/gpu/drm/tests/.kunitconfig Would remove drivers/hid/.kunitconfig Would remove fs/ext4/.kunitconfig Would remove fs/fat/.kunitconfig Would remove kernel/kcsan/.kunitconfig Would remove lib/kunit/.kunitconfig Would remove mm/kfence/.kunitconfig Would remove tools/testing/selftests/arm64/tags/ Would remove tools/testing/selftests/kvm/.gitignore Would remove tools/testing/selftests/kvm/Makefile Would remove tools/testing/selftests/kvm/config Would remove tools/testing/selftests/kvm/settings This asymmetry is very troubling to those users since finding out which files to track with "git add -f" clearly requires priori knowledge on various subsystems. The eradication of this little issue requires naturally making git-init aware of all .gitignore restrictions at different file tree hierarchies. Similar issues can be troubleshot with "git check-ignore -v" for any mistakenly cleaned files. Signed-off-by: Like Xu <likexu@tencent.com> --- .gitignore | 2 ++ tools/testing/selftests/arm64/.gitignore | 2 ++ tools/testing/selftests/kvm/.gitignore | 4 ++++ 3 files changed, 8 insertions(+) create mode 100644 tools/testing/selftests/arm64/.gitignore diff --git a/.gitignore b/.gitignore index 20dce5c3b9e0..fa39e98caee3 100644 --- a/.gitignore +++ b/.gitignore @@ -102,6 +102,8 @@ modules.order !.gitignore !.mailmap !.rustfmt.toml +!.yamllint +!.kunitconfig # # Generated include files diff --git a/tools/testing/selftests/arm64/.gitignore b/tools/testing/selftests/arm64/.gitignore new file mode 100644 index 000000000000..135d709d2d65 --- /dev/null +++ b/tools/testing/selftests/arm64/.gitignore @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +!tags diff --git a/tools/testing/selftests/kvm/.gitignore b/tools/testing/selftests/kvm/.gitignore index 6d9381d60172..96561c8e06e0 100644 --- a/tools/testing/selftests/kvm/.gitignore +++ b/tools/testing/selftests/kvm/.gitignore @@ -5,3 +5,7 @@ !*.h !*.S !*.sh +!.gitignore +!Makefile +!settings +!config \ No newline at end of file -- 2.39.1
WARNING: multiple messages have this Message-ID (diff)
From: Like Xu <like.xu.linux@gmail.com> To: Will Deacon <will@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>, Masahiro Yamada <masahiroy@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com>, Shuah Khan <shuah@kernel.org>, Miguel Ojeda <ojeda@kernel.org>, Wedson Almeida Filho <wedsonaf@google.com>, Alex Gaynor <alex.gaynor@gmail.com>, Kees Cook <keescook@chromium.org>, Andrew Davis <afd@ti.com>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, kvm@vger.kernel.org Subject: [PATCH] .gitignore: Keep track of archived files as they are added to a new git repo Date: Mon, 30 Jan 2023 17:04:26 +0800 [thread overview] Message-ID: <20230130090426.13864-1-likexu@tencent.com> (raw) From: Like Xu <likexu@tencent.com> With thousands of commits going into mainline each development cycle, the metadata .git folder size is gradually expanding (1GB+), and for some developers (most likely testers) who don't care about the lengthy git-log, they just use git-archive to distribute a certain version of code (~210MB) and rebuild git repository from anywhere for further code changes, e.g. $ git init && git add . -A Then unfortunately, the file tracking metadata from the original git-repo using "git add -f" will also be lost, to the point where part of source files wrapped by git-archive may be accidentally cleaned up: $ git clean -nxdf Would remove Documentation/devicetree/bindings/.yamllint Would remove drivers/clk/.kunitconfig Would remove drivers/gpu/drm/tests/.kunitconfig Would remove drivers/hid/.kunitconfig Would remove fs/ext4/.kunitconfig Would remove fs/fat/.kunitconfig Would remove kernel/kcsan/.kunitconfig Would remove lib/kunit/.kunitconfig Would remove mm/kfence/.kunitconfig Would remove tools/testing/selftests/arm64/tags/ Would remove tools/testing/selftests/kvm/.gitignore Would remove tools/testing/selftests/kvm/Makefile Would remove tools/testing/selftests/kvm/config Would remove tools/testing/selftests/kvm/settings This asymmetry is very troubling to those users since finding out which files to track with "git add -f" clearly requires priori knowledge on various subsystems. The eradication of this little issue requires naturally making git-init aware of all .gitignore restrictions at different file tree hierarchies. Similar issues can be troubleshot with "git check-ignore -v" for any mistakenly cleaned files. Signed-off-by: Like Xu <likexu@tencent.com> --- .gitignore | 2 ++ tools/testing/selftests/arm64/.gitignore | 2 ++ tools/testing/selftests/kvm/.gitignore | 4 ++++ 3 files changed, 8 insertions(+) create mode 100644 tools/testing/selftests/arm64/.gitignore diff --git a/.gitignore b/.gitignore index 20dce5c3b9e0..fa39e98caee3 100644 --- a/.gitignore +++ b/.gitignore @@ -102,6 +102,8 @@ modules.order !.gitignore !.mailmap !.rustfmt.toml +!.yamllint +!.kunitconfig # # Generated include files diff --git a/tools/testing/selftests/arm64/.gitignore b/tools/testing/selftests/arm64/.gitignore new file mode 100644 index 000000000000..135d709d2d65 --- /dev/null +++ b/tools/testing/selftests/arm64/.gitignore @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +!tags diff --git a/tools/testing/selftests/kvm/.gitignore b/tools/testing/selftests/kvm/.gitignore index 6d9381d60172..96561c8e06e0 100644 --- a/tools/testing/selftests/kvm/.gitignore +++ b/tools/testing/selftests/kvm/.gitignore @@ -5,3 +5,7 @@ !*.h !*.S !*.sh +!.gitignore +!Makefile +!settings +!config \ No newline at end of file -- 2.39.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2023-01-30 9:04 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-30 9:04 Like Xu [this message] 2023-01-30 9:04 ` [PATCH] .gitignore: Keep track of archived files as they are added to a new git repo Like Xu 2023-01-30 16:06 ` Masahiro Yamada 2023-01-30 16:06 ` Masahiro Yamada 2023-01-31 9:47 ` Like Xu 2023-01-31 9:47 ` Like Xu 2023-01-31 19:10 ` Krzysztof Kozlowski 2023-01-31 19:10 ` Krzysztof Kozlowski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230130090426.13864-1-likexu@tencent.com \ --to=like.xu.linux@gmail.com \ --cc=afd@ti.com \ --cc=alex.gaynor@gmail.com \ --cc=catalin.marinas@arm.com \ --cc=keescook@chromium.org \ --cc=kvm@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=masahiroy@kernel.org \ --cc=ojeda@kernel.org \ --cc=pbonzini@redhat.com \ --cc=shuah@kernel.org \ --cc=wedsonaf@google.com \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.