Re: [PATCH 2/3] contrib/subtree/t: Added tests for .gitsubtree support

2013-02-17 Thread Jonathan Nieder
Paul Campbell wrote:

 Is there was a better way to verify that the push operation succeeds
 then grepping for a SHA1?

IIRC then when a push fails, it will exit with nonzero status (so the
usual -chaining would propagate the error).

Alternatively, one can fetch, ls-remote, or enter the target repo and
use history inspection tools to check that the result is as expected.

Hope that helps,
Jonathan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/3] contrib/subtree/t: Added tests for .gitsubtree support

2013-02-17 Thread Jonathan Nieder
Paul Campbell wrote:

 Here's the updated version of the tests:

Just a few more nits:

 --- a/contrib/subtree/t/t7900-subtree.sh
 +++ b/contrib/subtree/t/t7900-subtree.sh
 @@ -465,4 +465,37 @@ test_expect_success 'verify one file change per commit' '
[...]
 +test_expect_success 'change in subtree is pushed okay' '
 + (cd copy0  create new_file  git commit -mAdded new_file) 

Style: this would be easier to read with each command on a separate
line, like so:

(
cd copy0 
create new_file 
test_tick 
git commit -m Add new_file
) 

[...]
 +test_expect_success 'pull into subtree okay' '
 + git subtree add --prefix=copy1 sub1 
 + git subtree add --prefix=copy2 sub1 
 + (cd copy1  create new_file_in_copy1  git commit -mAdded 
 new_file_in_copy1) 

Likewise (and as a nice side-benefit, it would avoid a long line that
mailers like to wrap).

 + git subtree push --prefix=copy1 
 + git subtree pull --prefix=copy2 | grep ^ create mode 100644 
 copy2/new_file_in_copy1$

Likewise.  More importantly, this forgets the exit status from git
subtree pull, so if it were to segfault after writing appropriate
output, the test wouldn't notice.  How about:

git subtree pull --prefix=copy2 output 
grep ^ create mode 100644 copy2/new_file_in_copy1\$ output

Thanks,
Jonathan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/3] contrib/subtree/t: Added tests for .gitsubtree support

2013-02-15 Thread Jonathan Nieder
Hi Paul,

Paul Campbell wrote:

 --- a/contrib/subtree/t/t7900-subtree.sh
 +++ b/contrib/subtree/t/t7900-subtree.sh
 @@ -465,4 +465,34 @@ test_expect_success 'verify one file change per commit' '
[...]
 +test_expect_success 'change in subtree is pushed okay' '
 +cd copy0  create new_file  git commit -mAdded new_file 
 +cd ..  git subtree push --prefix=copy0 21 | \

If it possible to restrict the chdirs to subshells, that can make the
test more resiliant to early failures without breaking later tests.

That is:

(
cd copy0 
create new_file 
test_tick 
git commit -m add new_file
) 
git subtree push --prefix=copy0 output 21 
grep ... output

 +grep 
 ^\s\{3\}[0-9a-f]\{7\}\.\.[0-9a-f]\{7\}\s\s[0-9a-f]\{40\}\s-\ssub1$

This might not be portable if I understand
Documentation/CodingGuidelines correctly.

[...]
 +(grep ^copy3 . sub2$ .gitsubtree  die || true) 

! grep ^copy3 . sub2\$ .gitsubtree 

Hope that helps,
Jonathan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/3] contrib/subtree/t: Added tests for .gitsubtree support

2013-02-15 Thread Paul Campbell
Hi Jonathan,

On Fri, Feb 15, 2013 at 10:56 PM, Jonathan Nieder jrnie...@gmail.com wrote:
 Hi Paul,

 Paul Campbell wrote:

 --- a/contrib/subtree/t/t7900-subtree.sh
 +++ b/contrib/subtree/t/t7900-subtree.sh
 @@ -465,4 +465,34 @@ test_expect_success 'verify one file change per commit' 
 '
 [...]
 +test_expect_success 'change in subtree is pushed okay' '
 +cd copy0  create new_file  git commit -mAdded new_file 
 +cd ..  git subtree push --prefix=copy0 21 | \

 If it possible to restrict the chdirs to subshells, that can make the
 test more resiliant to early failures without breaking later tests.

 That is:

 (
 cd copy0 
 create new_file 
 test_tick 
 git commit -m add new_file
 ) 
 git subtree push --prefix=copy0 output 21 
 grep ... output


Adding them in.

 +grep 
 ^\s\{3\}[0-9a-f]\{7\}\.\.[0-9a-f]\{7\}\s\s[0-9a-f]\{40\}\s-\ssub1$

 This might not be portable if I understand
 Documentation/CodingGuidelines correctly.


And it's ugly. But I believe it fits the don't use grep -E
condition. Unless I missed something else.

Is there was a better way to verify that the push operation succeeds
then grepping for a SHA1?

 [...]
 +(grep ^copy3 . sub2$ .gitsubtree  die || true) 

 ! grep ^copy3 . sub2\$ .gitsubtree 

 Hope that helps,
 Jonathan

Thanks. That's a much neater way to do it.

-- 
Paul [W] Campbell
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html