我应该如何从TFS2008升级到TFS2010(How should I proceed to upgrade from TFS2008 to TFS2010)
我们有一个包含多个团队项目的TFS2008服务器(大约20个)在不丢失历史记录的情况下迁移到TFS2010的最佳方法是什么。
我相信有两种方法,如果我错了,请纠正我:
- 安装新的tfs2010并从TFS 2008 导入数据库
要么- 就地升级 。
你的建议是什么?为什么? 我应该准备好面对任何问题吗?
欢迎任何建议。We have a TFS2008 server with multiple team projects (about 20) What is the best way to migrate to TFS2010 without losing the history.
I believe there are 2 ways, correct me if I'm wrong:
- installing a fresh tfs2010 and importing the DB from TFS 2008
or- in-place upgrade.
What is your recommendation and why? Are there any issue I should be prepared to face?
Any advice is welcome.
原文:https://stackoverflow.com/questions/2808711
最满意答案
解决方案(如此处所示 )是从
onFulfilled
函数return null
,onFulfilled
函数不返回任何其他函数。例如:
.then(data=> { console.log("success"); })
应该是:
.then(data=> { console.log("success"); return null; })
The solution (as suggested here) is to
return null
fromonFulfilled
functions that don't return anything else.For example:
.then(data=> { console.log("success"); })
Should probably be:
.then(data=> { console.log("success"); return null; })
相关问答
更多-
Promise就像任何其他Javascript对象一样被垃圾收集的Javascript对象。 因此,只要您不会无限期地保留对promises的引用,就会像其他对象一样在不再使用它们时进行垃圾收集。 因此,在您的特定示例中,只要您的计时器仍在运行,或者.connectToAddressAndService()仍在执行某些操作并且可能仍然能够拒绝或解析(意味着它仍然具有实时引用.connectToAddressAndService() ,您在函数中显示的状态将保持活动状态解决或拒绝处理程序)。 计时器显然具有1 ...
-
蓝鸟承诺警告:。然后只接受功能但已通过(Bluebird Promise Warning: .then only accepts functions but was passed)[2023-09-06]
getPromise2()调用会立即创建promise; 它然后被忽略传递给then而不是回调。 要实际链接它们,您需要使用 function mainFunc(param1, param2) { return getPromise1(param1, param2).then(function(promise1result) { return getPromise2(param1, param2); }); } The getPromise2() call immediat ... -
蓝鸟,承诺然后()(Bluebird, promises and then())[2023-05-04]
欢迎来到美好的承诺世界。 如何在你的例子中工作 你在1断言是正确的。 我们可以模拟一个Promise.resolve解决蓝鸟使用Promise.resolve一个值。 让我们展示一下: 让我们得到一个返回承诺的函数: function foo(){ return Promise.resolve("Value"); } foo().then(alert); 这个简短的片段会提醒我们看到 "Value" 。 现在,我们再创造两个承诺,每个承诺都会提醒和返回不同的值。 function tas ... -
那么,我假设你不明确提及它,因为这将迫使它保持分配。 我可以想到的最简单的测试实际上是分配很多承诺,而不是解决它们: var $q = angular.injector(["ng"]).get("$q"); setInterval(function () { for (var i = 0; i < 100; i++) { var $d = $q.defer(); $d.promise; } }, 10); 然后观看堆本身。 我们可以在Chrome剖析工具中看 ...
-
蓝鸟承诺泄漏警告(Bluebird promise leak warnings)[2023-12-13]
解决方案(如此处所示 )是从onFulfilled函数return null , onFulfilled函数不返回任何其他函数。 例如: .then(data=> { console.log("success"); }) 应该是: .then(data=> { console.log("success"); return null; }) The solution (as suggested here) is to return null from onFulfilled fun ... -
蓝鸟承诺取消(Bluebird Promise Cancellation)[2024-01-25]
cancellable()创建可取消的promises,只有在没有任何理由调用cancel函数时,它们默认抛出CancellationError 。 在您的情况下,您只有在附加catch处理程序后才能cancellable承诺。 但承诺尚未cancellable 。 因此, cancel函数调用不会引发Promise.CancellationError 。 您需要更改代码的结构,如下所示 then(function(..) { ... }) .cancellable() .catch(Promise ... -
看起来TSLint包含一个设置,用于指示在await表达式中将哪些类型视为promises: https://palantir.github.io/tslint/rules/await-promise/ 我自己没试过,但看起来你应该可以使用它来等待Bluebird的承诺: "await-promise": [true, "Bluebird"] It looks like TSLint contains a setting for indicating which types to treat as pro ...
-
蓝鸟承诺范围(Bluebird Promise Scope)[2023-11-08]
不,那里没有。 您当然可以使用默认方法 ,但您不需要。 在进行繁重处理并异步获取值时,您希望获得该值的承诺。 您不需要将结果值设置为原始实例的属性。 MyObject.prototype.getValue = function () { return new Promise(function(resolve) { // lots of processing to make a `value` resolve(value); // no `this` at all! ... -
如何用蓝鸟包裹一个承诺(how to wrap a promise with bluebird)[2023-03-17]
Promise.resolve 确实传播错误。 你的问题似乎是catch在他们达成resolve之前处理它们。 你应该这样做 function count(params, done){ return Promise.resolve(client.count({ "index": config.search.index + "_" + params.index })).then(function(response){ logger.debug(response); return ... -
为了能够使用您创建的Promise,您需要分别通过调用每个函数来解析和/或拒绝Promise。 var promise = new Promise(function(resolve, reject)) { if (someWork) resolve(1); if (!someWork) reject(2); } promise.then(function(data) { console.log(data); // 1 }); In order to be able to ...