2014-09-26 21 views
1

我們有一個場景,我們有一個.net項目,它有一些舊代碼。跳過聲納中代碼驗證的舊代碼

現在,我們開始對此進行聲納代碼驗證,不幸的是我們從舊代碼中得到了許多驗證問題,而這些代碼並不是由我們編寫的。

因此,按照協議,我們不應該解決這些問題。

舊的和當前的代碼在SVN存儲庫中可用。

是否有任何可能性跳過基於SVN修訂的舊代碼並僅在基線更改的頂部執行代碼驗證?

+0

你有沒有找到一個很好的方法來做到這一點? – pvgoddijn 2016-04-22 08:13:22

回答

1

唯一的好辦法做到這一點的時刻是:

  • 分析現有的代碼庫中SonarQube
  • 設置上一個版本(在「項目配置>史」),例如「BASE_LINE」
  • 讓你的所有即將到來的分析是相對於該基線
+0

實際上,我們試圖通過使用以下查詢將問題標記爲假定位來嘗試對代碼進行基線並消除現有問題。使用XYZ SELECT [ID] ,[記] ,[COMPONENT_ID] ,[root_component_id] ,[狀態] ,[解析] FROM [XYZ]。[DBO]。[問題],其中[root_component_id] = 64421 and status ='OPEN' GO -------------------------------------- ------------------------------------------ – 2014-10-10 14:30:00

+0

更新查詢 USE XYZ go begin transaction UPDATE [XYZ]。[dbo]。[issues] SET [status] ='RESOLVED',[resolution] ='FALSE-P OSITIVE' WHERE [root_component_id] = 64421和status ='OPEN'回滾事務 GO --------------------------- -------------------------------------------------- --- UPDATE [XYZ]。[DBO]。[問題] SET [狀態] = '已解決',[解析] = '假陽性' WHERE [root_component_id] = 64421和狀態= 'OPEN' ----------------------------------------------- ------------------------- 這將使所有的記錄狀態爲'已解決',解決方案爲'假 - 正面'。 – 2014-10-10 14:30:35

+0

但是,如果舊文件被修改,而不是爲新代碼做代碼覆蓋,它將在該文件中發佈舊代碼的問題。 – 2014-10-10 14:30:53

0

其實我們試圖基線指定此版本的鑑別時期代碼並通過使用以下查詢將問題標記爲錯誤定位來移除現有問題。 使用XYZ

   SELECT [id] 
,[kee] 
     ,[component_id] 
,[root_component_id]  
     ,[status] 
,[resolution]   
       FROM [XYZ].[dbo].[issues] where [root_component_id]= 64421 and status = 'OPEN' 
       GO 

更新查詢

使用XYZ

去 開始交易

UPDATE [XYZ]。[DBO]。[問題] SET
[狀態] ='已解決' ,[分辨率] ='FALSE-POSIT IVE」

WHERE [root_component_id] = 64421和狀態= 'OPEN' ROLLBACK TRANSACTION
GO


UPDATE [XYZ]。[DBO]。[問題] SET
[狀態] = '分辨' ,[分辨率] = '假陽性'

WHERE [root_component_id] = 64421和狀態= 'OPEN'


這將使所有的記錄狀態爲'已解決',分辨率爲'假 - 正面'。

但是,如果舊文件被修改,而不是爲新代碼做代碼覆蓋,它會在該文件中發佈舊代碼的問題。

所以,我認爲會有另一種基線代碼的方法,即使舊文件被修改,它也只會在基線之上執行代碼覆蓋。有沒有其他方式可以使用SVN修訂版本號和基線代碼。

+0

這(不再)似乎工作(得到改變)你有沒有找到另一種解決方案? – pvgoddijn 2016-04-22 08:12:57