* [PATCH v1 0/2] Ignore dirty submodule states during stash
@ 2016-05-17 3:36 Vasily Titskiy
2016-05-17 3:40 ` [PATCH v1 1/2] " Vasily Titskiy
2016-05-17 3:40 ` [PATCH v1 2/2] " Vasily Titskiy
0 siblings, 2 replies; 4+ messages in thread
From: Vasily Titskiy @ 2016-05-17 3:36 UTC (permalink / raw)
To: git
Impoved description + added test
git-stash.sh | 2 +-
t/t3903-stash.sh | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+), 1 deletion(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1 1/2] Ignore dirty submodule states during stash
2016-05-17 3:36 [PATCH v1 0/2] Ignore dirty submodule states during stash Vasily Titskiy
@ 2016-05-17 3:40 ` Vasily Titskiy
2016-05-17 3:40 ` [PATCH v1 2/2] " Vasily Titskiy
1 sibling, 0 replies; 4+ messages in thread
From: Vasily Titskiy @ 2016-05-17 3:40 UTC (permalink / raw)
To: git
As stash does not know how to deal with submodules,
it should not try to save/restore their states
as it leads to redundant merge conflicts.
Signed-off-by: Vasily Titskiy <qehgt0@gmail.com>
---
git-stash.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-stash.sh b/git-stash.sh
index c7c65e2..b500c44 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -116,7 +116,7 @@ create_stash () {
git read-tree --index-output="$TMPindex" -m $i_tree &&
GIT_INDEX_FILE="$TMPindex" &&
export GIT_INDEX_FILE &&
- git diff --name-only -z HEAD -- >"$TMP-stagenames" &&
+ git diff --name-only --ignore-submodules -z HEAD -- >"$TMP-stagenames" &&
git update-index -z --add --remove --stdin <"$TMP-stagenames" &&
git write-tree &&
rm -f "$TMPindex"
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1 2/2] Ignore dirty submodule states during stash
2016-05-17 3:36 [PATCH v1 0/2] Ignore dirty submodule states during stash Vasily Titskiy
2016-05-17 3:40 ` [PATCH v1 1/2] " Vasily Titskiy
@ 2016-05-17 3:40 ` Vasily Titskiy
2016-05-17 3:49 ` Eric Sunshine
1 sibling, 1 reply; 4+ messages in thread
From: Vasily Titskiy @ 2016-05-17 3:40 UTC (permalink / raw)
To: git
It checks if 'stash pop' does not trigger merge conflics
in submodules.
---
t/t3903-stash.sh | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index 2142c1f..e48a5b5 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -731,4 +731,39 @@ test_expect_success 'stash list --cc shows combined diff' '
test_cmp expect actual
'
+test_expect_success 'stash ignores changes in submodules' '
+ git submodule init &&
+ git init sub1 &&
+ (
+ cd sub1 &&
+ echo "x" > file1 &&
+ git add file1 &&
+ git commit -a -m "initial sub1"
+ ) &&
+ git submodule add ./. sub1 &&
+ echo "main" > file1 &&
+ git add file1 &&
+ git commit -a -m "initial main" &&
+ # make changes in submodule
+ (
+ cd sub1 &&
+ echo "y" >> file1 &&
+ git commit -a -m "change y"
+ ) &&
+ git commit sub1 -m "update reference" &&
+ # switch submodule to another revision
+ (
+ cd sub1 &&
+ echo "z" >> file1 &&
+ git commit -a -m "change z"
+ ) &&
+ # everything is prepared, check if changes in submodules are ignored
+ echo "local change" >> file1 &&
+ git stash save &&
+ git checkout HEAD~1 &&
+ git submodule update &&
+ git stash pop
+'
+
+
test_done
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1 2/2] Ignore dirty submodule states during stash
2016-05-17 3:40 ` [PATCH v1 2/2] " Vasily Titskiy
@ 2016-05-17 3:49 ` Eric Sunshine
0 siblings, 0 replies; 4+ messages in thread
From: Eric Sunshine @ 2016-05-17 3:49 UTC (permalink / raw)
To: Vasily Titskiy; +Cc: Git List
On Mon, May 16, 2016 at 11:40 PM, Vasily Titskiy <qehgt0@gmail.com> wrote:
> It checks if 'stash pop' does not trigger merge conflics
> in submodules.
Missing sign-off.
Also, it would be best to combine these two patches so that the fix
and patch reside in a single patch.
More below...
> ---
> diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
> @@ -731,4 +731,39 @@ test_expect_success 'stash list --cc shows combined diff' '
> +test_expect_success 'stash ignores changes in submodules' '
> + git submodule init &&
> + git init sub1 &&
> + (
> + cd sub1 &&
> + echo "x" > file1 &&
Style: Drop space after redirection operator: >file1
Ditto below for both '>' and '>>'.
> + git add file1 &&
> + git commit -a -m "initial sub1"
> + ) &&
> + git submodule add ./. sub1 &&
> + echo "main" > file1 &&
> + git add file1 &&
> + git commit -a -m "initial main" &&
> + # make changes in submodule
> + (
> + cd sub1 &&
> + echo "y" >> file1 &&
> + git commit -a -m "change y"
> + ) &&
> + git commit sub1 -m "update reference" &&
> + # switch submodule to another revision
> + (
> + cd sub1 &&
> + echo "z" >> file1 &&
> + git commit -a -m "change z"
> + ) &&
> + # everything is prepared, check if changes in submodules are ignored
> + echo "local change" >> file1 &&
> + git stash save &&
> + git checkout HEAD~1 &&
> + git submodule update &&
> + git stash pop
> +'
> +
> +
Style: drop extra blank line
> test_done
> --
> 2.1.4
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-05-17 3:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-17 3:36 [PATCH v1 0/2] Ignore dirty submodule states during stash Vasily Titskiy
2016-05-17 3:40 ` [PATCH v1 1/2] " Vasily Titskiy
2016-05-17 3:40 ` [PATCH v1 2/2] " Vasily Titskiy
2016-05-17 3:49 ` Eric Sunshine
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).