2013-02-08 70 views
1

我們最近切換到團隊基礎服務器2010進行源代碼管理,一切正常,除了一些在FoxPRO 7和9中編寫的遺留代碼外,源代碼文件是某種表格。對於Forms,有兩種文件,一種以.scx結尾,另一種以.sct結尾,兩者都可以使用fox studio進行探索,但無法在文本編輯器中打開它們。團隊基礎服務器中的二進制文件

沒有人有任何經驗讓狐狸代碼工作/合併...在TFS上?

+0

究竟是什麼問題?你需要做的所有與TFS相關的操作都不會與狐狸代碼一起工作,這對我來說非常有幫助(我從來沒有用過狐狸表格,但是如果我知道什麼是行不通的話,我仍然可以提供幫助)。 – SvenS 2013-02-08 14:05:58

+0

@SvenS他將要遇到的問題是FoxPro使用FoxPro表格而不是文本文件來存儲源代碼。例如,表單設計和表單代碼隱藏在表格中。據我所知,這些文件對任何源代碼控制工具都是敵對的。他可以配置TFS將它們視爲二進制文件而不是源文件(因此不允許使用文本差異/合併/多次檢出/等)。我在下面的答案中提供了詳細信息)。 – JMarsch 2013-02-08 14:25:51

+0

有多種解決方案可以讓VFP與源代碼控制工具協作。其中包括一個名爲scctext.prg的VFP程序;它將這些二進制文件轉換爲文本文件。 – 2013-02-08 22:16:36

回答

1

對於合併,您可以設置合併工具,以合併這些文件。這必須在每個開發人員工作站上完成(Tools-> Source Control-> VS Team Foundation Server-> Configure User Tools)。

這可能是因爲VS使用服務器端合併工具來進行自動合併,我不知道是否或在哪裏可以更改。

+0

什麼樣的合併工具?在客戶端? – user1327073 2013-02-08 14:29:55

+0

哦,我假設有一個工具可以合併這些文件,但這似乎並非如此,是嗎?如果有的話,你可以告訴Visual Studio在用戶手動解決衝突時打開它。但是如果根本沒有辦法合併這些文件,那麼我就不會看到TFS如何實現這一功能,而且我也沒有看到任何解決辦法,只是提出了一個JMarsch:自動鎖定這些文件查看。 – SvenS 2013-02-08 14:35:21

+0

呀,唯一的解決辦法是 二進制轉換爲文本 存儲文本使用TFS 文本轉換成二進制 微軟是一個笑話 那是我的第一首詩,享受! :) – user1327073 2013-02-08 14:38:28

5

我不知道源代碼管理和FoxPro的所有輸入和輸出,但如果某些源代碼是二進制文件,則可以配置文件擴展名來禁止合併。

右鍵單擊TeamExplorer窗口中的集合(根節點)。轉到團隊項目收集設置|文件類型。

您應該可以添加擴展名(如.sct),並指定不允許這些文件進行合併和多次結帳。

缺點是每次只有一個人可以檢查這些文件,但由於表單是FoxPro表格,我想這與您使用任何源代碼管理工具時會遇到同樣的問題。

+0

這正是它的原因,但是隨後使用3開發人員,每個人都在處理不同的任務和不同版本的代碼(有些人可能會在3個星期前結賬,另外一個是今天上午......)所有這些變化不僅令人望而生畏,而且不需要人工干預 – user1327073 2013-02-08 14:28:43

+0

另一個缺點是您列出的那個:如果您將TFS Build系統與shelvesets一起使用,您將遇到主要問題。但是我想你不會在FoxPro中使用TFS Build,對嗎? ;) – SvenS 2013-02-08 14:37:12

1

我曾與VFP合作,因爲它是在80年代末期的FoxBase。爲了構建表單(.scx/.sct)和可視類庫(.vcx/.vct)和報表(.frx/.frt),Visual Foxpro使用了.dbf文件(重命名的擴展名)。

我寫過一些代碼來運行一個給定的項目,並轉儲出所有代碼的文本版本,就好像它是全部基於文本的。所有的控件都以字母順序,嵌入式程序等等進行轉儲。列出同一地點的所有房產設置。

它並不完美,但我已經與其他開發商誰喜歡改變的事情,而不是通知的這種變化我(或其他人),後來被其他不擇手段找到打交道時比較源代碼版本中使用了多年。

如果這是您可能感興趣的內容,我可以刪除代碼(一些)並通過電子郵件發送給您,但需要一個電子郵件地址。該代碼以VFP格式編寫爲.prg文件,因此無需編譯任何內容,以免擔心任何病毒或任何內容。

至少這樣,您可以獲得與VFP中使用的二進制對文件相關聯的文本版本。