[dpdk-dev,3/3] scripts: ignore self-generated directories in validate-abi startup check

Message ID aecd915105148d3ac51b2a0596a5bc630ccc6ef3.1457607217.git.pmatilai@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Panu Matilainen March 10, 2016, 10:53 a.m. UTC
  When doing multiple runs of validate-abi.sh, the git status check
will more often than not unnecessarily fail with "Working directory not
clean" error because of the compat_result and compile target directories
from the previous run. Filter out the self-generated directories
when checking.

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
---
 scripts/validate-abi.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
  

Comments

Ferruh Yigit March 10, 2016, 12:22 p.m. UTC | #1
On 3/10/2016 10:53 AM, Panu Matilainen wrote:
> When doing multiple runs of validate-abi.sh, the git status check
> will more often than not unnecessarily fail with "Working directory not
> clean" error because of the compat_result and compile target directories
> from the previous run. Filter out the self-generated directories
> when checking.
> 
> Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
> ---
>  scripts/validate-abi.sh | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/scripts/validate-abi.sh b/scripts/validate-abi.sh
> index ea60639..a21f883 100755
> --- a/scripts/validate-abi.sh
> +++ b/scripts/validate-abi.sh
> @@ -163,8 +163,7 @@ log "INFO" "against DPDK DSOs built from version $TAG2."
>  log "INFO" ""
>  
>  # Check to make sure we have a clean tree
> -git status | grep -q clean
> -if [ $? -ne 0 ]
> +if [ $(git status --porcelain | grep -vE "($TARGET|compat_reports)" | wc -l)  -ne 0 ]
>  then
>  	log "WARN" "Working directory not clean, aborting"
>  	cleanup_and_exit 1
> 
Hi Panu,

This check catches untracked files too, does it makes sense to limit
error only to modified files (local or staged)?

This also prevents specific "compat_reports" folder check.

And of course mentioned change requires "git clean -fd" removed, or
replaced with "make clean"

Thanks,
ferruh
  
Panu Matilainen March 10, 2016, 12:29 p.m. UTC | #2
On 03/10/2016 02:22 PM, Ferruh Yigit wrote:
> On 3/10/2016 10:53 AM, Panu Matilainen wrote:
>> When doing multiple runs of validate-abi.sh, the git status check
>> will more often than not unnecessarily fail with "Working directory not
>> clean" error because of the compat_result and compile target directories
>> from the previous run. Filter out the self-generated directories
>> when checking.
>>
>> Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
>> ---
>>   scripts/validate-abi.sh | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/scripts/validate-abi.sh b/scripts/validate-abi.sh
>> index ea60639..a21f883 100755
>> --- a/scripts/validate-abi.sh
>> +++ b/scripts/validate-abi.sh
>> @@ -163,8 +163,7 @@ log "INFO" "against DPDK DSOs built from version $TAG2."
>>   log "INFO" ""
>>
>>   # Check to make sure we have a clean tree
>> -git status | grep -q clean
>> -if [ $? -ne 0 ]
>> +if [ $(git status --porcelain | grep -vE "($TARGET|compat_reports)" | wc -l)  -ne 0 ]
>>   then
>>   	log "WARN" "Working directory not clean, aborting"
>>   	cleanup_and_exit 1
>>
> Hi Panu,
>
> This check catches untracked files too, does it makes sense to limit
> error only to modified files (local or staged)?

I did ponder about that, untracked files seem mostly harmless in this 
picture but erred on the side of caution.

>
> This also prevents specific "compat_reports" folder check.
>
> And of course mentioned change requires "git clean -fd" removed, or
> replaced with "make clean"

Sorry, I dont understand you mean by these two comments.

	- Panu -

> Thanks,
> ferruh
>
  
Ferruh Yigit March 10, 2016, 12:34 p.m. UTC | #3
On 3/10/2016 12:29 PM, Panu Matilainen wrote:
> On 03/10/2016 02:22 PM, Ferruh Yigit wrote:
>> On 3/10/2016 10:53 AM, Panu Matilainen wrote:
>>> When doing multiple runs of validate-abi.sh, the git status check
>>> will more often than not unnecessarily fail with "Working directory not
>>> clean" error because of the compat_result and compile target directories
>>> from the previous run. Filter out the self-generated directories
>>> when checking.
>>>
>>> Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
>>> ---
>>>   scripts/validate-abi.sh | 3 +--
>>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>>
>>> diff --git a/scripts/validate-abi.sh b/scripts/validate-abi.sh
>>> index ea60639..a21f883 100755
>>> --- a/scripts/validate-abi.sh
>>> +++ b/scripts/validate-abi.sh
>>> @@ -163,8 +163,7 @@ log "INFO" "against DPDK DSOs built from version $TAG2."
>>>   log "INFO" ""
>>>
>>>   # Check to make sure we have a clean tree
>>> -git status | grep -q clean
>>> -if [ $? -ne 0 ]
>>> +if [ $(git status --porcelain | grep -vE "($TARGET|compat_reports)" | wc -l)  -ne 0 ]
>>>   then
>>>   	log "WARN" "Working directory not clean, aborting"
>>>   	cleanup_and_exit 1
>>>
>> Hi Panu,
>>
>> This check catches untracked files too, does it makes sense to limit
>> error only to modified files (local or staged)?
> 
> I did ponder about that, untracked files seem mostly harmless in this 
> picture but erred on the side of caution.
> 
This is something prevents me running script from working tree, and
forces to create a new clone.

>>
>> This also prevents specific "compat_reports" folder check.
>>
>> And of course mentioned change requires "git clean -fd" removed, or
>> replaced with "make clean"
> 
> Sorry, I dont understand you mean by these two comments.
> 
If untracked files accepted by script, "compat_reports" exclusion is no
more required, and "git clean -fd" needs to removed from script.

Regards,
ferruh
  
Panu Matilainen March 10, 2016, 12:39 p.m. UTC | #4
On 03/10/2016 02:34 PM, Ferruh Yigit wrote:
> On 3/10/2016 12:29 PM, Panu Matilainen wrote:
>> On 03/10/2016 02:22 PM, Ferruh Yigit wrote:
>>> On 3/10/2016 10:53 AM, Panu Matilainen wrote:
>>>> When doing multiple runs of validate-abi.sh, the git status check
>>>> will more often than not unnecessarily fail with "Working directory not
>>>> clean" error because of the compat_result and compile target directories
>>>> from the previous run. Filter out the self-generated directories
>>>> when checking.
>>>>
>>>> Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
>>>> ---
>>>>    scripts/validate-abi.sh | 3 +--
>>>>    1 file changed, 1 insertion(+), 2 deletions(-)
>>>>
>>>> diff --git a/scripts/validate-abi.sh b/scripts/validate-abi.sh
>>>> index ea60639..a21f883 100755
>>>> --- a/scripts/validate-abi.sh
>>>> +++ b/scripts/validate-abi.sh
>>>> @@ -163,8 +163,7 @@ log "INFO" "against DPDK DSOs built from version $TAG2."
>>>>    log "INFO" ""
>>>>
>>>>    # Check to make sure we have a clean tree
>>>> -git status | grep -q clean
>>>> -if [ $? -ne 0 ]
>>>> +if [ $(git status --porcelain | grep -vE "($TARGET|compat_reports)" | wc -l)  -ne 0 ]
>>>>    then
>>>>    	log "WARN" "Working directory not clean, aborting"
>>>>    	cleanup_and_exit 1
>>>>
>>> Hi Panu,
>>>
>>> This check catches untracked files too, does it makes sense to limit
>>> error only to modified files (local or staged)?
>>
>> I did ponder about that, untracked files seem mostly harmless in this
>> picture but erred on the side of caution.
>>
> This is something prevents me running script from working tree, and
> forces to create a new clone.

Hmm, what untracked files you typically have in your working tree then?

>>>
>>> This also prevents specific "compat_reports" folder check.
>>>
>>> And of course mentioned change requires "git clean -fd" removed, or
>>> replaced with "make clean"
>>
>> Sorry, I dont understand you mean by these two comments.
>>
> If untracked files accepted by script, "compat_reports" exclusion is no
> more required, and "git clean -fd" needs to removed from script.

Ah, sure. Thanks for clarifying.

	- Panu -

>
> Regards,
> ferruh
>
  
Ferruh Yigit March 10, 2016, 12:47 p.m. UTC | #5
On 3/10/2016 12:39 PM, Panu Matilainen wrote:
> On 03/10/2016 02:34 PM, Ferruh Yigit wrote:
>> On 3/10/2016 12:29 PM, Panu Matilainen wrote:
>>> On 03/10/2016 02:22 PM, Ferruh Yigit wrote:
>>>> On 3/10/2016 10:53 AM, Panu Matilainen wrote:
>>>>> When doing multiple runs of validate-abi.sh, the git status check
>>>>> will more often than not unnecessarily fail with "Working directory not
>>>>> clean" error because of the compat_result and compile target directories
>>>>> from the previous run. Filter out the self-generated directories
>>>>> when checking.
>>>>>
>>>>> Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
>>>>> ---
>>>>>    scripts/validate-abi.sh | 3 +--
>>>>>    1 file changed, 1 insertion(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/scripts/validate-abi.sh b/scripts/validate-abi.sh
>>>>> index ea60639..a21f883 100755
>>>>> --- a/scripts/validate-abi.sh
>>>>> +++ b/scripts/validate-abi.sh
>>>>> @@ -163,8 +163,7 @@ log "INFO" "against DPDK DSOs built from version $TAG2."
>>>>>    log "INFO" ""
>>>>>
>>>>>    # Check to make sure we have a clean tree
>>>>> -git status | grep -q clean
>>>>> -if [ $? -ne 0 ]
>>>>> +if [ $(git status --porcelain | grep -vE "($TARGET|compat_reports)" | wc -l)  -ne 0 ]
>>>>>    then
>>>>>    	log "WARN" "Working directory not clean, aborting"
>>>>>    	cleanup_and_exit 1
>>>>>
>>>> Hi Panu,
>>>>
>>>> This check catches untracked files too, does it makes sense to limit
>>>> error only to modified files (local or staged)?
>>>
>>> I did ponder about that, untracked files seem mostly harmless in this
>>> picture but erred on the side of caution.
>>>
>> This is something prevents me running script from working tree, and
>> forces to create a new clone.
> 
> Hmm, what untracked files you typically have in your working tree then?
> 

cscope.out, various sym links, perf.data, and some more J, I want to
keep in working directory.

>>>>
>>>> This also prevents specific "compat_reports" folder check.
>>>>
>>>> And of course mentioned change requires "git clean -fd" removed, or
>>>> replaced with "make clean"
>>>
>>> Sorry, I dont understand you mean by these two comments.
>>>
>> If untracked files accepted by script, "compat_reports" exclusion is no
>> more required, and "git clean -fd" needs to removed from script.
> 
> Ah, sure. Thanks for clarifying.
> 
> 	- Panu -
> 
>>
>> Regards,
>> ferruh
>>
>
  

Patch

diff --git a/scripts/validate-abi.sh b/scripts/validate-abi.sh
index ea60639..a21f883 100755
--- a/scripts/validate-abi.sh
+++ b/scripts/validate-abi.sh
@@ -163,8 +163,7 @@  log "INFO" "against DPDK DSOs built from version $TAG2."
 log "INFO" ""
 
 # Check to make sure we have a clean tree
-git status | grep -q clean
-if [ $? -ne 0 ]
+if [ $(git status --porcelain | grep -vE "($TARGET|compat_reports)" | wc -l)  -ne 0 ]
 then
 	log "WARN" "Working directory not clean, aborting"
 	cleanup_and_exit 1