[dpdk-dev] devtools: fix lookup commit fixing a fix of many commits

Message ID 1484664785-26788-1-git-send-email-thomas.monjalon@6wind.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel compilation success Compilation OK

Commit Message

Thomas Monjalon Jan. 17, 2017, 2:53 p.m. UTC
  There was a bug when looking at a commit fixing a commit which
itself was fixing many commits:

% devtools/git-log-fixes.sh 12ee45a36~..12ee45a36
devtools/git-log-fixes.sh: 96: local: 5499c1fc9baa: bad variable name

In this case, the list of commits was not quoted in variable assignment.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 devtools/git-log-fixes.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon Jan. 18, 2017, 3:51 p.m. UTC | #1
2017-01-17 15:53, Thomas Monjalon:
> There was a bug when looking at a commit fixing a commit which
> itself was fixing many commits:
> 
> % devtools/git-log-fixes.sh 12ee45a36~..12ee45a36
> devtools/git-log-fixes.sh: 96: local: 5499c1fc9baa: bad variable name
> 
> In this case, the list of commits was not quoted in variable assignment.
> 
> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>

Applied
  
Ferruh Yigit Jan. 18, 2017, 5:35 p.m. UTC | #2
On 1/17/2017 2:53 PM, Thomas Monjalon wrote:
> There was a bug when looking at a commit fixing a commit which
> itself was fixing many commits:

I am having hard time to understand this .. Is it only me J
  
Thomas Monjalon Jan. 18, 2017, 6:50 p.m. UTC | #3
2017-01-18 17:35, Ferruh Yigit:
> On 1/17/2017 2:53 PM, Thomas Monjalon wrote:
> > There was a bug when looking at a commit fixing a commit which
> > itself was fixing many commits:
> 
> I am having hard time to understand this .. Is it only me J

Me too, and the title is a joke itself :)

I should have put an example:

commit A
Fixes: B

commit B
Fixes: C

commit C
Fixes: D
Fixes: E

The bug was when retrieving the origins of the bug fixed by A,
the list D E was not quoted.
Now it returns "D E" and variable assignment works.
  

Patch

diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh
index 4824c7f..d590735 100755
--- a/devtools/git-log-fixes.sh
+++ b/devtools/git-log-fixes.sh
@@ -90,7 +90,7 @@  origin_version () # <origin_hash> ...
 		git rev-parse -q --verify $1 >&- || continue
 		# get version of this bug origin
 		local origver=$(commit_version $origin)
-		local roothashes=$(origin_filter $origin)
+		local roothashes="$(origin_filter $origin)"
 		if [ -n "$roothashes" ] ; then
 			# look chained fix of fix recursively
 			local rootver="$(origin_version $roothashes)"