批准后从 TFS 中的代码审查签入代码
Check in code from Code review in TFS after approval
我想在代码审查获得批准后签入代码。我遇到了这个 stack 关于创建代码审查和签入的问题,但我的问题有点不同。
我的问题是我想创建代码审查;但是,在代码获得批准之前,我不想签入代码。这限制了我无法通过删除相关工作项来开始另一次代码审查。我想做的是创建代码审查并从团队资源管理器中的代码审查选项卡签入
这可能吗?它与 creating a code review after the check in 的原理相同,但有代码审查和签入。我不想去挂起的更改并在那里签入,因为我可能已经删除了相关项目。但我确实希望签到与我的代码审查相关联。
不幸的是,没有 "proper" 方法可以完成您想要做的事情。您可以将您的工作目录放在共享驱动器上,并在您准备好让他们开始审阅过程时通知审阅者,但这通过不让每个 development/review 迭代正式记录在 TFS 中来回避责任。这意味着您应该签入您的工作并让审阅者完成他们的工作,然后以这种方式继续进行审阅者要求的任何更改、签入并进行另一次代码审查。
为了完整起见,我也会在这里提到我的评论中的建议。
我的建议是创建一个独立的、短期的开发分支,您将在其中进行开发并审查您的代码。然后,一旦开发和审查完成令人满意,该分支就可以合并并销毁。这提供了一种更清洁和更安全的方法。 1) 它减少了 TFS 中历史记录的混乱。 2) 它防止多个不必要的自动 builds/tests/etc... 被触发。
在您的评论中,您建议这会更改 "structure of your branching methods"。我看不出这样做会如何以任何重要的方式改变任何事情。您的合并就像您的最终开发签入一样,除了此时所有审查都已完成并且您正在执行单一、干净的签入。它仍将包含您的所有签到和评论信息,但是您将拥有一个折叠节点,而不是杂乱无章的签到链,其中包含为该特定任务完成的每一件事。
我会与您的经理、您的代码审查员 and/or 任何负责 TFS 和 creating/maintaining 您的 TFS 政策的人核实。这种方法实际上不会改变其余流程的工作方式。您可以简单地将您的开发周期抽象为一个独立的环境。在您执行合并的那一刻,您就回到了现在的正常流程。
好的,出于文档目的。我没有完全理解 TFS 允许我做的搁置。看完Shelve and Unshelve Pending Changes,我觉得更有意义了。我可以搁置我正在做的事情,取消搁置我已经完成代码审查的代码,然后签入该代码。这样我就可以创建代码审查并继续工作,直到该代码审查获得批准。获得批准后,我可以取消搁置更改并签入。
我想在代码审查获得批准后签入代码。我遇到了这个 stack 关于创建代码审查和签入的问题,但我的问题有点不同。
我的问题是我想创建代码审查;但是,在代码获得批准之前,我不想签入代码。这限制了我无法通过删除相关工作项来开始另一次代码审查。我想做的是创建代码审查并从团队资源管理器中的代码审查选项卡签入
这可能吗?它与 creating a code review after the check in 的原理相同,但有代码审查和签入。我不想去挂起的更改并在那里签入,因为我可能已经删除了相关项目。但我确实希望签到与我的代码审查相关联。
不幸的是,没有 "proper" 方法可以完成您想要做的事情。您可以将您的工作目录放在共享驱动器上,并在您准备好让他们开始审阅过程时通知审阅者,但这通过不让每个 development/review 迭代正式记录在 TFS 中来回避责任。这意味着您应该签入您的工作并让审阅者完成他们的工作,然后以这种方式继续进行审阅者要求的任何更改、签入并进行另一次代码审查。
为了完整起见,我也会在这里提到我的评论中的建议。
我的建议是创建一个独立的、短期的开发分支,您将在其中进行开发并审查您的代码。然后,一旦开发和审查完成令人满意,该分支就可以合并并销毁。这提供了一种更清洁和更安全的方法。 1) 它减少了 TFS 中历史记录的混乱。 2) 它防止多个不必要的自动 builds/tests/etc... 被触发。
在您的评论中,您建议这会更改 "structure of your branching methods"。我看不出这样做会如何以任何重要的方式改变任何事情。您的合并就像您的最终开发签入一样,除了此时所有审查都已完成并且您正在执行单一、干净的签入。它仍将包含您的所有签到和评论信息,但是您将拥有一个折叠节点,而不是杂乱无章的签到链,其中包含为该特定任务完成的每一件事。
我会与您的经理、您的代码审查员 and/or 任何负责 TFS 和 creating/maintaining 您的 TFS 政策的人核实。这种方法实际上不会改变其余流程的工作方式。您可以简单地将您的开发周期抽象为一个独立的环境。在您执行合并的那一刻,您就回到了现在的正常流程。
好的,出于文档目的。我没有完全理解 TFS 允许我做的搁置。看完Shelve and Unshelve Pending Changes,我觉得更有意义了。我可以搁置我正在做的事情,取消搁置我已经完成代码审查的代码,然后签入该代码。这样我就可以创建代码审查并继续工作,直到该代码审查获得批准。获得批准后,我可以取消搁置更改并签入。