我不太了解git.: - /
我有两个不相关的基于git的文档存储库,我想将它们合并到一个存储库中.我想保留原始时间戳(可追溯到2005年)和单个文件历史记录.这两个repos不包含分支,没有文件夹,并且在文件命名方面没有重叠.
在ASCII-land中,它看起来像这样:
REPO A |-------------------------|
REPO B |===============|
Run Code Online (Sandbox Code Playgroud)
重叠表示时间.
我的目标是"拉上"重叠的时间戳,以便两个回购看起来像一个完整的历史记录:
REPO A+B |-------------------==--=---============|
Run Code Online (Sandbox Code Playgroud)
再一次,我不太了解git,所以我可以把事搞砸了.
首先,我尝试将较新的较小的repo添加为较大的旧repo的远程,获取更改并提交结果.在旧的回购后,我结束了所有新的回购变更集中在一个分支:
MERGE |------------------------- -|
\===============/
Run Code Online (Sandbox Code Playgroud)
接下来我尝试了rebasing(with --committer-date-is-author-date),我认为它可以工作,但最后我得到一个长的提交历史,只是将两个repos堆叠在一起.
REBASE |-------------------------===============|
Run Code Online (Sandbox Code Playgroud)
我无法找到一种"重播"组合历史的方法.我真的希望rebase能成为答案.
我正在尝试将新的Gmail API与Google API节点客户端配合使用.我从开发人员控制台创建了一个新项目,设置了一个新的"服务帐户"客户端ID,并启用了对API的访问.
作为概念证明,我只是想在我的收件箱中列出线程.当我为API资源管理器启用OAuth 2.0切换并输入我的电子邮件地址时,请求成功,我看到带有数据的JSON响应.
现在我尝试在Node中做同样的事情:
var googleapis = require('googleapis');
var SERVICE_ACCOUNT_EMAIL = '...SNIP...';
// generated by: openssl pkcs12 -in ...SNIP...p12 -out key.pem -nocerts -nodes
var SERVICE_ACCOUNT_KEY_FILE = 'key.pem';
var jwt = new googleapis.auth.JWT(
SERVICE_ACCOUNT_EMAIL,
SERVICE_ACCOUNT_KEY_FILE,
null,
['https://www.googleapis.com/auth/gmail.readonly']);
googleapis
.discover('gmail', 'v1')
.execute(function(err, client) {
jwt.authorize(function(err, result) {
if(err) console.error(err);
else console.log(result);
client.gmail.users.threads.list()
.withAuthClient(jwt)
.execute(function(err, result) {
if(err) console.error(err);
else console.log(result);
});
});
});
Run Code Online (Sandbox Code Playgroud)
首先,我打印authorize()调用的结果,看起来它返回一个令牌,所以我想我已经正确设置了所有OAuth的东西:
{ access_token: '...SNIP...',
token_type: 'Bearer',
expires_in: 1404277946,
refresh_token: …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建类似Tweetdeck的UI,以便将中央库中的项目分类.我真的需要帮助围绕使用Ember路由器的规范方式.
基本上,我有一个搜索UI,允许用户同时打开零个或多个类别.类别显示项目列表,用户可以从右侧的中央库添加到这些项目.通过完全忽略路由器和URL,我设法将一个半工作的概念证明破解.现在我想回去尝试以Ember的方式去做.下面是我想要完成的高级草图:

如果我理解正确,所需的URL方案将是当前打开的模型ID的逗号分隔列表.我很清楚如何从另一个问题中解决这个问题,如何设计路由器以便URL可以加载多个模型?.
不幸的是,有一些我不理解的概念:
{{outlet}}是要走的路,但是在renderTemplate配置方面我完全迷失了.或许我应该使用{{render}}?在任何一种情况下,我都不了解路由器在这种情况下的作用.编辑1/28:我添加了一个更新的小提琴,其中包括一个独立的 library路线/模板,并记录了我尝试将其渲染到categories模板中的文档.当我试图将它嵌入另一条路线时,Ember如何期望我将库模板作为模型?我曾尝试{{outlet}}使用renderTemplate和{{render}},但在这两种情况下,我都被困在指定模型时.
使用renderTemplate:
App.CategoriesRoute = Ember.Route.extend({
renderTemplate: function() {
this.render('categories');
this.render("library", {
into: "categories",
outlet: "library",
controller: "library",
});
},
});
Run Code Online (Sandbox Code Playgroud)
当我的控制器收到打开类别的请求时,如何将其传达给路由器?哈希路径如何更新?谁负责加载适当的模型?我假设我应该从transitionTo或开始transitionToRoute,但我也不了解路由器的角色.具体问题:
如何从URL反序列化多个逗号分隔的模型?我只是分开逗号还是有更好的方法?
一旦我从URL获取ID,如何让我的模型钩子返回多个记录?我只是将它们全部塞进Ember阵列吗?
当控制器获取要打开的新记录的ID时,如何将其与路由器通信?
我试图自己解决这个问题并多次阅读Ember文档,但我担心它只是在我脑海中.我把一个放在一起最小的(目前无功能的)小提琴概述我的想法并指出我被困在哪里.我很感激任何人都可以提供帮助.