小编joh*_*ley的帖子

在Sourcetree中开始合并后无法提交

在合并后尝试提交时,我收到此错误消息:

"致命:你正处于合并的中间 - 无法修改."

我该如何解决这个问题?据我所知,我已经解决了所有冲突,我只需要完成合并并提交更改.但是产品不会让我,也不会给我任何关于我接下来要做什么的线索,并且没有选择"完成合并"

每当我尝试提交更改时,我都会收到错误消息,而现在我不知道如何处理它!

git atlassian-sourcetree

24
推荐指数
2
解决办法
4万
查看次数

对于Google App Engine(java),如何在FetchOptions中设置和使用块大小?

我运行一个查询,它目前返回1400结果,因此我在日志文件中收到以下警告:

com.google.appengine.api.datastore.QueryResultsSourceImpl logChunkSizeWarning:此查询没有在FetchOptions中设置的块大小,并返回了超过1000个结果.如果此查询的结果集对此查询很常见,请考虑设置块大小以提高性能.

我找不到任何关于如何实际实现这个的例子,这里有关于python的问题,但是因为我使用java并且不理解python,我正在努力翻译它.

另外这个查询(下面)正在执行17226cpu_ms,这感觉太长了,我甚至无法想象如果我说5000个联系人需要在客户端搜索它们会发生什么(就像你使用googlemail联系人一样! )

我的代码是:

    int index=0;
    int numcontacts=0;
    String[][] DetailList;

    PersistenceManager pm = PMF.get().getPersistenceManager();


    try {
        Query query = pm.newQuery(Contact.class, "AdminID == AID");
        query.declareParameters("Long AID");
        query.setOrdering("Name asc");
        List<Contact> Contacts = (List<Contact>) query.execute(AdminID);
        numcontacts=Contacts.size();
        DetailList=new String[numcontacts][5];

        for (Contact contact : Contacts) 
        {
            DetailList[index][0]=contact.getID().toString();
            DetailList[index][1]=Encode.EncodeString(contact.getName());
            index++;
        }
    } finally {
        pm.close();
    }
    return (DetailList);
Run Code Online (Sandbox Code Playgroud)

我在这里找到了以下两个条目:

但实际上并未涉及有关如何实施或使用这些选项的任何细节.我猜它是一个服务器端进程,我猜你要设置某种循环来一次抓取一个块,但我该如何实际做到这一点?

  • 我是否在循环中调用查询?
  • 我怎么知道循环多少次?
  • 我只是检查第一个以小于块大小的条目数返回的块吗?

如果没有一个实际的例子,我是怎么想找到这样的东西呢?在我看来,这里的其他人似乎"只知道"该怎么做..!

抱歉,如果我没有以正确的方式提出问题,或者我只是一个愚蠢的新手,但我不知道还有什么可以解决这个问题!

java google-app-engine chunking google-cloud-datastore

10
推荐指数
1
解决办法
5341
查看次数

从GAE服务器向GWT客户端发送日期和时区

好的伙计们,我已经解决了这个问题大约两个星期了,现在尝试我能想到的一切,并在这里看到大量的答案,感觉他们会回答它,但我只是无法弄清楚我的意思是做我正在尝试做的事情,这让我绝对坚持!似乎没有人在任何地方找到答案,到处都有一半的答案,但似乎没有人真正做我需要它做的事情,当然有人已经解决了这个问题!请原谅真正长的问题,但重要的是问题是正确的,所以答案实际上满足了需要!:d

如果您可能提供任何不考虑我的数据存储区/服务器是Google App Engine(GAE),而我的客户端是用Google Web Toolkit(GWT)编写的答案,请不要再费心阅读了.是用Java编写的,我对Python或MySQL或PHP或类似的东西都不了解

最后,如果有人知道一个更好的地方来计算这样的东西,请告诉我,因为我不断提出这样的问题,不知道如何找到除此之外的解决方案,或花费数小时搜索谷歌对于已经设法解决的其他人.我也不明白如何从JavaDocs中找出任何东西 - 抱歉,但是直到有人向我解释,我才不会得到它

我有一个存储在服务器上的日期时间(显然是UTC)我还在服务器上存储了一个存储为字符串的每个业务所有者的TimeZone(例如"America/New_York").这个字符串是通过java.util.TimeZone.getAvailableIDs()在服务器上使用并让业务所有者为他们的业务选择相关时区获得的(默认是"Europe/London"如果他们没有选择任何东西 - 不需要挂断那个位)我需要传递任何日期时间在未来的某个时间点到客户端PC,在他们的PC上忽略本地时区,因为日期时间需要根据业务所有者的时区显示.

举例来说,企业主是伦敦的理发师,他们有在线预约时间表,任何潜在客户都可以查看.其中一位客户(也在伦敦)想预约,在9月3日星期一上午9点​​看到一个位置并预订.

然后将其作为UTC时间(实际上是0800,因为BST是UTC + 1)存储在数据存储区中,当然业务所有者已选择"Europe/London"作为其时区.到目前为止一切都很好.

现在,在未来的某个时刻,客户正在纽约举行商务会议,并意识到他们在接下来的一周预约在伦敦理发,他们希望将其移动一周,所以他们接着尝试查看预约(在美发师预约簿中),但他们不希望将其视为纽约时间凌晨4点,他们希望将其视为英国时间早上9点.

所以我的问题是,当客户在9月3日点击VIEW约会时,服务器可以发回UTC日期时间0800和java.util.TimeZoneID字符串"Europe/London"

但因为在客户端我只能使用

com.google.gwt.i18n.client.TimeZone
Run Code Online (Sandbox Code Playgroud)

它不允许我使用该功能

TimeZone bizTimeZone=TimeZone.getTimeZone("Europe/London")
(which works for `java.util.TimeZone`)
Run Code Online (Sandbox Code Playgroud)

因为它会导致错误

"The method getTimeZone(String) is undefined for the type TimeZone"
Run Code Online (Sandbox Code Playgroud)

它建议改变它

com.google.gwt.i18n.client.TimeZone.createTimeZone("Europe/London")
Run Code Online (Sandbox Code Playgroud)

但是这个版本,期待一个GWT com.google.gwt.i18n.client.TimeZoneConstants"对象"(示例显示在此消息的末尾)而不是java.util.TimeZone.createTimeZone()将接受的简单字符串.

我可以使用以下方法创建:

final TimeZoneConstants constTz = GWT.create(TimeZoneConstants.class);
final TimeZone timeZoneCali = TimeZone.createTimeZone(constTz.europeLondon());
Run Code Online (Sandbox Code Playgroud)

但是当我开始使用"Europe/London"和/或我不知道如何将此对象存储到App Engine数据库中然后稍后检索它时,我不知道该怎么做.

顺便提一下,在评论文本中我也尝试使用以下几行:

//Calendar tmad = new GregorianCalendar(TimeZone.getTimeZone("Europe/London"));
//Calendar cal = Calendar.getInstance(someTimeZone); …
Run Code Online (Sandbox Code Playgroud)

java gwt timezone google-app-engine gwt-rpc

6
推荐指数
1
解决办法
4295
查看次数