小编Ste*_*han的帖子

无法在已移动的文件上运行git diff

好的情况如下...

  1. 将一堆文件移动到GIT中的新文件夹下
  2. 现在我想查看其中一个文件的提交历史记录
    • 通常一个git log filename就足够了
    • 由于文件已被移动,我可以实现这一点 git log--follow filename
  3. 这些--follow命令为我提供了完整的历史记录,但遗憾的是,我无法在此历史记录中比较特定文件中的两个SHA

例如,我可以运行git diff SHA1 SHA2:这将返回这些提交之间所做的所有文件更改.

但是,如果我尝试将其降低到文件级别来进行比较(git diff SHA1 SHA2 filename),则不返回任何内容!

(虽然SHA的先前差异显示此文件中的更改)

有没有人遇到过这个...

我知道在这个文件移动的提交之间所以我尝试了类似的变体

git diff - 关注SHA1 SHA2文件名

无济于事.

有没有其他人经历过这个,如果有的话,他们有解决方案吗?

git diff

5
推荐指数
1
解决办法
262
查看次数

如何忽略Eclipse中特定文件夹中的XML警告?

我正在使用Eclipse和插件m2e构建一个Java项目(它在Eclipse中添加了Maven支持)。

target目录中有一些XML Surefire报告。它们生成烦人的警告,因为它们既没有DTD也没有XML模式。

您如何告诉Eclipse忽略**/target文件夹?

java warnings ignore maven m2e

5
推荐指数
1
解决办法
1706
查看次数

如何在运行时更改Firefox Web驱动程序代理设置?

我使用Selenium 2.35.0并配置代理设置,如:

DesiredCapabilities cap = new DesiredCapabilities();
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setHttpProxy(proxyStr).setFtpProxy(proxyStr).setSslProxy(proxyStr);
cap.setCapability(CapabilityType.PROXY, proxy);

driver = new FirefoxDriver(firefox, profile, cap);
Run Code Online (Sandbox Code Playgroud)

当我需要更改代理设置时,我强制重启webdriver并编写其他"proxyStr".

如何在没有webdriver重启的情况下实现这种变化?

java proxy selenium selenium-firefoxdriver

5
推荐指数
1
解决办法
4423
查看次数

如何生成与 Jsoup 中特定元素匹配的 XPath 查询?

_嗨,这是我的网页:

<html>
    <head>
    </head>
    <body>
        <div> text div 1</div>
        <div>
            <span>text of first span </span>
            <span>text of second span </span>
        </div>
        <div> text div 3 </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我使用 jsoup 来解析它,然后浏览页面内的所有元素并获取它们的路径:

 Document doc = Jsoup.parse(new File("C:\\Users\\HC\\Desktop\\dataset\\index.html"), "UTF-8");
 Elements elements = doc.body().select("*");
ArrayList all = new ArrayList();
        for (Element element : elements) {
            if (!element.ownText().isEmpty()) {

                StringBuilder path = new StringBuilder(element.nodeName());
                String value = element.ownText();
                Elements p_el = element.parents();

                for (Element el : p_el) {
                    path.insert(0, el.nodeName() + '/');
                }
                all.add(path …
Run Code Online (Sandbox Code Playgroud)

html java xpath dom jsoup

5
推荐指数
1
解决办法
2992
查看次数

Java泛型和接口

有这个设计:

interface Foo<T> {
   void doSomething(T t);
}

class FooImpl implements Foo<Integer> {
   //code... 
}

interface Bar extends Foo {
   //code...
}

class BarImpl extends FooImpl implements Bar {
     //code...
}
Run Code Online (Sandbox Code Playgroud)

它给了我编译错误:

接口Foo不能用不同的参数实现多次:Foo和Foo

解决此问题的简单方法是:

interface Bar extends Foo<Integer> {
 // code...
}
Run Code Online (Sandbox Code Playgroud)

Bar界面中的整数类型完全没用.

有没有更好的方法来解决这个问题?任何更好的设计?

谢谢你的建议.

编辑:

给定解决方案

> interface Bar<T> extends Foo<T> 
Run Code Online (Sandbox Code Playgroud)

没关系,但和我之前的解决方案一样.我在Bar中不需要T型.

让我给出一个更好的样本:

interface ReadOnlyEntity {
}

interface ReadWriteEntity extends ReadOnlyEntity {
}

interface ReadOnlyDAO<T extends ReadOnlyEntity> {
}

interface ReadWriteDAO<K extends ReadWriteEntity, T extends ReadonlyEntity> extends ReadOnlyDAO<T> { …
Run Code Online (Sandbox Code Playgroud)

java generics

4
推荐指数
1
解决办法
5335
查看次数

JUnit/HSQLDB:使用HSQLDB进行测试时如何解决Oracle语法错误(没有特权和/或没有DUAL对象)

我有DAO代码,其中包含一些具有Oracle特定语法的JDBC,例如:

select count(*) cnt from DUAL 
where exists (select null from " + TABLE_NAME + "
              where LOCATION = '" + location + "')")
Run Code Online (Sandbox Code Playgroud)

我正在使用内存中的HSQLDB数据库对此DAO方法运行JUnit测试.显然,DUAL表是特定于Oracle的,并且在运行测试时会导致错误:

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; 
    bad SQL grammar [select count(*) cnt from DUAL where exists 
                    (select null from ESRL_OBSERVATIONS where LOCATION = '/path1')];
nested exception is java.sql.SQLException: user lacks privilege or object 
    not found: DUAL
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我可以做些什么来解决这个问题?我正在使用Hibernate来创建模式 - 也许我可以在我的Hibernate属性中创建一个设置,它将支持Oracle样式语法?

oracle junit hibernate jdbc hsqldb

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

NanoHTTPD的另一种方法是处理同时连接?

我开始在项目中使用NanoHTTPD.事实上,它的简洁性非常好.不幸的是,事实证明我需要处理同时连接,例如我有一个很长的响应,同时服务器不会被阻止.

您有什么推荐的吗?我需要它简单,功能丰富的Nano.

java apache nanohttpd

4
推荐指数
1
解决办法
1894
查看次数

无法从Servlet过滤器内的FacesContext中检索Session

在验证我的用户之后,我想在会话中将引用添加到当前登录用户.

这里我是如何在setCurrentUser方法中做到的:

FacesContext facesContext = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(true);
session.setAttribute("CURRENT_USER", currentUser);
Run Code Online (Sandbox Code Playgroud)

不幸的是,session引用始终为null!

或者,我尝试使用sessionMap

FacesContext facesContext = FacesContext.getCurrentInstance();
Map<String, Object> sessionMap = facesContext.getExternalContext().getSessionMap();
sessionMap.put("CURRENT_USER", currentUser);
Run Code Online (Sandbox Code Playgroud)

这个例外情况很糟糕:

java.lang.UnsupportedOperationException
    at java.util.AbstractMap.put(AbstractMap.java:186)
    (...)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?

我的控制器的完整代码

UserController.java

public class UserController implements Filter {
    private FilterConfig fc;
    private static final String CURRENT_USER = "CURRENT_USER";

    public void init(FilterConfig filterConfig) throws ServletException {
        fc = filterConfig;
        log(">> Filter initialized");
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException …
Run Code Online (Sandbox Code Playgroud)

session jsf facescontext servlet-filters

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

匹配帐号的正则表达式

我需要匹配大文本文件中的帐号.帐号将采用以下格式:

  1. 帐号:123456
  2. 帐4567
  3. 帐号:123-456-789
  4. 帐号134-456-789
  5. 帐号111111

我需要一个正则表达式,它检查以"Acc"开头的每一行,忽略空格和任何特殊字符,然后以数字结束.

我写了以下正则表达式.问题是它匹配了一些帐号变体.例如,它匹配#1和#2,但不匹配#3和#4.帐号没有固定长度,您可以看到字符串"帐号"的不同变体

任何关于微调的帮助或建议将非常感激.

(Acc[^0-9]*[0-9]*)
Run Code Online (Sandbox Code Playgroud)

regex

4
推荐指数
1
解决办法
1200
查看次数

STM8 ASM安全地执行WFE

我在低功耗运行模式下从RAM 运行了 c代码(因此中断没有处理).此模式由代码序列启用:

  • 跳到RAM
  • SIM卡
  • 关闭内部闪光灯和电源调节器,切换到低速时钟源(LSE)
  • 在WFE模式下工作(低功耗等待模式)
  • 打开电源调节器和闪光灯,恢复时钟源
  • 轮缘
  • 跳到闪光灯

所以在勘误表中描述的WFE指令没有问题.这种结构的问题,可能是永远低功耗等待模式下 CPU锁定的原因:

while nbit(TIM1_SR1,CC3IF) asm("wfe");
Run Code Online (Sandbox Code Playgroud)

这是拆卸为:

000035    720252B602     BTJT      TIM1_SR1, #1, 0xB6
00003A    728F           WFE
Run Code Online (Sandbox Code Playgroud)

来自定时器的事件具有概率性质,并且此代码不保证在WFE指令执行后它将发生:

  • BTJT指令在2个周期内完成,长度为5;
  • 从RAM执行的代码可能不连续,因为"fetch"状态会在几个周期内暂停执行

我使用手册PM0044,在第26页它内容漂亮的表:

RAM中的示例代码执行

有两种情况,代码执行在3个周期停止.所以我不确定在BTJT和WFE指令之间不会发生异步唤醒事件.

有没有办法确保严格的逻辑顺序(检查条件> wfe>唤醒事件)?

c embedded assembly stm8

4
推荐指数
1
解决办法
684
查看次数