Re: Prompt console window many times for cleartool when post-review and viewing diff on Windows 7

2013-01-23 Thread Tao Zhou
sorry, introduced pdb.set_trace() by mistake into the patch, plz delete 
this line, and use the patch as below:

diff --git a/reviewboard/scmtools/clearcase.py 
b/reviewboard/scmtools/clearcase.py
index 19ea97f..35888e3 100644
--- a/reviewboard/scmtools/clearcase.py
+++ b/reviewboard/scmtools/clearcase.py
@@ -134,12 +134,15 @@ class ClearCaseTool(SCMTool):
 }
 cmdline = ["cleartool", "lsview", "-full", "-properties", "-cview"]
 p = subprocess.Popen(
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=repopath)
+cwd=repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -163,7 +166,8 @@ class ClearCaseTool(SCMTool):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)
 failure = p.poll()

HZ08190@HZ-RD-ZHOUTAO 
/D/MyStudio/Projects/Intellij/PyDev/ReviewBoard/reviewboard/scmtools 
(master)
$  -179,7 +183,8 @@ class ClearCaseTool(SCMTool):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -199,7 +204,8 @@ class ClearCaseTool(SCMTool):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -316,7 +322,8 @@ class ClearCaseDiffParser(DiffParser):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -361,7 +368,8 @@ class ClearCaseSnapshotViewClient(object):
 p = subprocess.Popen(
 cmdline,
 stdout=subprocess.PIPE,
-stderr=subprocess.PIPE)
+stderr=subprocess.PIPE,
+shell=True)

 (res, error) = p.communicate()


On Wednesday, January 23, 2013 3:56:47 PM UTC+8, Tao Zhou wrote:
>
> I found out that the cause, the problem is the code to call cleartool.exe 
> in reviewboard\scmtools\clearcase.py,
> if add 'shell=True' paramter to all the subprocess.Popen(...), there will 
> no annoying console window pop up.
>
> patch code as below:
> 
>
> diff --git a/reviewboard/scmtools/clearcase.py 
> b/reviewboard/scmtools/clearcase.py
> index 19ea97f..35888e3 100644
> --- a/reviewboard/scmtools/clearcase.py
> +++ b/reviewboard/scmtools/clearcase.py
> @@ -134,12 +134,15 @@ class ClearCaseTool(SCMTool):
>  }
> +import pdb; pdb.set_trace()
> +def _get_view_type(self, repopath):
>  cmdline = ["cleartool", "lsview", "-full", "-properties", 
> "-cview"]
>  p = subprocess.Popen(
>  cmdline,
>  stdout=subprocess.PIPE,
>  stderr=subprocess.PIPE,
> -cwd=repopath)
> +cwd=repopath,
> +shell=True)
>
>  (res, error) = p.communicate()
>  failure = p.poll()
> @@ -163,7 +166,8 @@ class ClearCaseTool(SCMTool):
>  cmdline,
>  stdout=subprocess.PIPE,
>  stderr=subprocess.PIPE,
> -cwd=self.repopath)
> +cwd=self.repopath,
> +shell=True)
>  failure = p.poll()
>
> HZ08190@HZ-RD-ZHOUTAO 
> /D/MyStudio/Projects/Intellij/PyDev/ReviewBoard/reviewboard/scmtools 
> (master)
> $  -179,7 +183,8 @@ class ClearCaseTool(SCMTool):
>  cmdline,
>  stdout=subprocess.PIPE,
>  stderr=subprocess.PIPE,
> -cwd=self.repopath)
> +cwd=self.repopath,
> +shell=True)
>
>  (res, error) = p.communicate()
>  failure = p.poll()
> @@ -199,7 +204,8 @@ class ClearCaseTool(SCMTool):
>  cmdline,
>  stdout=subprocess.PIPE,
>  stderr=subprocess.PIPE,
> -cwd=self.repopath)
> +cwd=self.repopath,
> +shell=True)
>
>  (res, error) = p.communicate()
>  failure = p.poll()
> @@ -316,7 +322,8 @@ class ClearCaseDiffParser(DiffParser):
>  cmdline,
>  stdout=subprocess.PIPE,
>  stderr=subprocess.PIPE,
> -cwd=self.repopath)
> +cwd=self.repopath,
> +shell=True)
>
>  (res, error) = p.communicate()
>  failure = p.poll()
> @@ -361,7 +368,8 @@ class ClearCaseSnapshotViewClient(object):
>  p = subprocess.Popen(
>  cmdline,
>  stdout=subprocess.PIPE,
> -stderr=subprocess.PIPE)
> +stderr=subprocess.PIPE,

Re: Prompt console window many times for cleartool when post-review and viewing diff on Windows 7

2013-01-22 Thread Tao Zhou
I found out that the cause, the problem is the code to call cleartool.exe 
in reviewboard\scmtools\clearcase.py,
if add 'shell=True' paramter to all the subprocess.Popen(...), there will 
no annoying console window pop up.

patch code as below:


diff --git a/reviewboard/scmtools/clearcase.py 
b/reviewboard/scmtools/clearcase.py
index 19ea97f..35888e3 100644
--- a/reviewboard/scmtools/clearcase.py
+++ b/reviewboard/scmtools/clearcase.py
@@ -134,12 +134,15 @@ class ClearCaseTool(SCMTool):
 }
+import pdb; pdb.set_trace()
+def _get_view_type(self, repopath):
 cmdline = ["cleartool", "lsview", "-full", "-properties", "-cview"]
 p = subprocess.Popen(
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=repopath)
+cwd=repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -163,7 +166,8 @@ class ClearCaseTool(SCMTool):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)
 failure = p.poll()

HZ08190@HZ-RD-ZHOUTAO 
/D/MyStudio/Projects/Intellij/PyDev/ReviewBoard/reviewboard/scmtools 
(master)
$  -179,7 +183,8 @@ class ClearCaseTool(SCMTool):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -199,7 +204,8 @@ class ClearCaseTool(SCMTool):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -316,7 +322,8 @@ class ClearCaseDiffParser(DiffParser):
 cmdline,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
-cwd=self.repopath)
+cwd=self.repopath,
+shell=True)

 (res, error) = p.communicate()
 failure = p.poll()
@@ -361,7 +368,8 @@ class ClearCaseSnapshotViewClient(object):
 p = subprocess.Popen(
 cmdline,
 stdout=subprocess.PIPE,
-stderr=subprocess.PIPE)
+stderr=subprocess.PIPE,
+shell=True)

 (res, error) = p.communicate()




On Tuesday, January 22, 2013 2:17:35 PM UTC+8, Tao Zhou wrote:
>
> My Environment:
>
> OS: Windows 7 32bit
> Python: 2.7.3
> Review Board: 1.7.2
> Web Server: apache 2.2
> Clearcase:  clearcase 7.1.2
>
> I setup a Review Board server on Windows 7, and encountered a very strange 
> problem, 
> each time when others doing post-review, viewing diff, etc,cmd console 
> window will prompt 
> several times for cleartool command, It seems that each time Review Board 
> calling cleartool, 
> a console window will prompt up.  But on another Windows XP OS, no window 
> will prompt up.
>
> Anyone also encounter the same kind of problem? and is there any way I can 
> debug my RB server 
> so that I can find out the root cause?
>
> Thanks!
>

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~--~~~~--~~--~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en




Prompt console window many times for cleartool when post-review and viewing diff on Windows 7

2013-01-21 Thread Tao Zhou
My Environment:

OS: Windows 7 32bit
Python: 2.7.3
Review Board: 1.7.2
Web Server: apache 2.2
Clearcase:  clearcase 7.1.2

I setup a Review Board server on Windows 7, and encountered a very strange 
problem, 
each time when others doing post-review, viewing diff, etc,cmd console 
window will prompt 
several times for cleartool command, It seems that each time Review Board 
calling cleartool, 
a console window will prompt up.  But on another Windows XP OS, no window 
will prompt up.

Anyone also encounter the same kind of problem? and is there any way I can 
debug my RB server 
so that I can find out the root cause?

Thanks!

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~--~~~~--~~--~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en