From: "Zach FettersMoore via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Zach FettersMoore <zach.fetters@apollographql.com>,
Zach FettersMoore <zach.fetters@apollographql.com>
Subject: [PATCH v3 2/3] subtree: changing location of commit ignore processing
Date: Fri, 29 Sep 2023 20:32:59 +0000 [thread overview]
Message-ID: <d6811daf7cf7f1460877307575e4cbc363ae851a.1696019580.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1587.v3.git.1696019580.gitgitgadget@gmail.com>
From: Zach FettersMoore <zach.fetters@apollographql.com>
Based on feedback from original commit:
-Updated the location of check whether a commit should
be ignored during split processing
-Updated code to better fit coding guidelines
Signed-off-by: Zach FettersMoore <zach.fetters@apollographql.com>
---
contrib/subtree/git-subtree.sh | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index e9250dfb019..e69991a9d80 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -778,11 +778,13 @@ ensure_valid_ref_format () {
die "fatal: '$1' does not look like a ref"
}
-# Usage: check if a commit from another subtree should be ignored from processing for splits
-should_ignore_subtree_commit () {
- if [ "$(git log -1 --grep="git-subtree-dir:" $1)" ]
+# Usage: check if a commit from another subtree should be
+# ignored from processing for splits
+should_ignore_subtree_split_commit () {
+ if test -n "$(git log -1 --grep="git-subtree-dir:" $1)"
then
- if [[ -z "$(git log -1 --grep="git-subtree-mainline:" $1)" && -z "$(git log -1 --grep="git-subtree-dir: $dir$" $1)" ]]
+ if test -z "$(git log -1 --grep="git-subtree-mainline:" $1)" &&
+ test -z "$(git log -1 --grep="git-subtree-dir: $arg_prefix$" $1)"
then
return 0
fi
@@ -796,11 +798,6 @@ process_split_commit () {
local rev="$1"
local parents="$2"
- if should_ignore_subtree_commit $rev
- then
- return
- fi
-
if test $indent -eq 0
then
revcount=$(($revcount + 1))
@@ -980,7 +977,20 @@ cmd_split () {
eval "$grl" |
while read rev parents
do
- process_split_commit "$rev" "$parents"
+ if should_ignore_subtree_split_commit "$rev"
+ then
+ continue
+ fi
+ parsedParents=''
+ for parent in $parents
+ do
+ should_ignore_subtree_split_commit "$parent"
+ if test $? -eq 1
+ then
+ parsedParents+="$parent "
+ fi
+ done
+ process_split_commit "$rev" "$parsedParents"
done || exit $?
latest_new=$(cache_get latest_new) || exit $?
--
gitgitgadget
next prev parent reply other threads:[~2023-09-29 20:33 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-18 20:05 [PATCH] subtree: fix split processing with multiple subtrees present Zach FettersMoore via GitGitGadget
2023-09-18 23:31 ` Junio C Hamano
2023-09-19 1:04 ` Junio C Hamano
2023-10-26 19:59 ` Zach FettersMoore
2023-09-22 16:25 ` [PATCH v2 0/2] " Zach FettersMoore via GitGitGadget
2023-09-22 16:25 ` [PATCH v2 1/2] " Zach FettersMoore via GitGitGadget
2023-09-22 16:25 ` [PATCH v2 2/2] subtree: changing location of commit ignore processing Zach FettersMoore via GitGitGadget
2023-09-29 20:32 ` [PATCH v3 0/3] subtree: fix split processing with multiple subtrees present Zach FettersMoore via GitGitGadget
2023-09-29 20:32 ` [PATCH v3 1/3] " Zach FettersMoore via GitGitGadget
2023-09-29 20:32 ` Zach FettersMoore via GitGitGadget [this message]
2023-09-29 20:33 ` [PATCH v3 3/3] subtree: adding test to validate fix Zach FettersMoore via GitGitGadget
2023-10-17 20:02 ` Zach FettersMoore
2023-10-26 19:17 ` [PATCH v4] subtree: fix split processing with multiple subtrees present Zach FettersMoore via GitGitGadget
2023-11-18 11:28 ` Christian Couder
2023-11-28 21:04 ` Zach FettersMoore
2023-11-28 21:17 ` [PATCH v5] " Zach FettersMoore via GitGitGadget
2023-11-30 20:33 ` Christian Couder
2023-11-30 21:01 ` Zach FettersMoore
2023-12-01 14:54 ` [PATCH v6] " Zach FettersMoore via GitGitGadget
2023-12-04 11:08 ` Christian Couder
2023-12-11 15:39 ` Zach FettersMoore
2023-12-12 16:06 ` Christian Couder
2023-12-12 22:28 ` Junio C Hamano
2023-12-13 15:20 ` Zach FettersMoore
2024-01-03 16:33 ` Christian Couder
2023-12-20 15:25 ` Christian Couder
2024-01-25 10:09 ` Christian Couder
2024-01-25 16:38 ` Junio C Hamano
2024-01-25 18:52 ` Christian Couder
2024-01-25 18:56 ` Junio C Hamano
2025-08-21 3:13 ` subtree: [v2.44 regression] split may produce different history Colin Stagner
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=d6811daf7cf7f1460877307575e4cbc363ae851a.1696019580.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=zach.fetters@apollographql.com \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).