import java.util.*;
class StackDemo {
public static void main(String[] argh) {
boolean flag = true;
String str = "(()){}()";
int l = str.length();
flag = true;
Stack<String> st = new Stack<String>();
for (int i = 0; i < l; i++) {
String test = str.substring(i, i + 1);
if (test.equals("(")) {
st.push(test);
} else if (test.equals("{")) {
st.push(test);
} else if (test.equals("[")) {
st.push(test);
} else if (test.equals(")")) {
if (st.empty()) {
flag = false;
break;
}
if (st.peek().equals("(")) {
st.pop();
} else {
flag = false;
break;
}
} else if (test.equals("}")) {
if (st.empty()) {
flag = false;
break;
}
if (st.peek().equals("{")) {
st.pop();
} else {
flag = false;
break;
}
} else if (test.equals("]")) {
if (st.empty()) {
flag = false;
break;
}
if (st.peek().equals("[")) {
st.pop();
} else {
flag = false;
break;
}
}
}
if (flag && st.empty())
System.out.println("true");
else
System.out.println("false");
}
}
Проблема оказалась в правах доступа к каталогу репо. chown www-data
решил это ...
Это странно, что вы можете запустить hg outgoing
, но не hg push
, поскольку я понимаю, что они оба аутентифицируются таким же образом.
К сожалению, я не эксперт по hgweb. Отправьте сообщение по адресу Mercurial list ( mercurial@mercurial-scm.org ) и / или войдите в сеть через IRC ( #mercurial
на irc.freenode.net
) . Там будет еще много людей, которые помогут вам. IRC особенно хорош, так как эти вещи намного проще отлаживать в интерактивном режиме.
На случай, если это может кому-то помочь - я столкнулся с этой ошибкой по неизвестным причинам, все разрешения были в порядке, и простой перезапуск apache решил ее.