Я работаю, используя потоки и обработчик / сообщение. Шаги, следующие: Объявите прогресс Диалог
ProgressDialog loadingdialog;
Создайте функцию, чтобы закрыть диалог, когда операция завершена.
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
loadingdialog.dismiss();
}
};
Скомпонуйте ваши данные об исполнении:
public void startUpload(String filepath) {
loadingdialog = ProgressDialog.show(MainActivity.this, "Uploading", "Uploading Please Wait", true);
final String _path = filepath;
new Thread() {
public void run() {
try {
UploadFile(_path, getHostName(), getPortNo());
handler.sendEmptyMessage(0);
} catch (Exception e) {
Log.e("threadmessage", e.getMessage());
}
}
}.start();
}
Подсказка, которую Вы получаете, не похожа на Подрывную деятельность, прося у Вас пароль, это похоже на ssh выяснение пароля. Таким образом, мое предположение - то, что Вы проверили svn+ssh://контроль, не svn://или http:// или https://контроль.
IIRC все опции Вы пробуете только работу за svn/http/https контроль. Можно ли выполнить svn информацию для подтверждения, какой репозиторий Вы используете?
при использовании ssh необходимо настроить основанную на ключе аутентификацию так, чтобы сценарии работали, не запрашивая пароль.
У Вас на самом деле есть одинарные кавычки в Вашей команде? Я не думаю, что они необходимы. Плюс, я думаю, что Вам также нужно --no-auth-cache
, и --non-interactive
Вот то, что я использую (никакие одинарные кавычки)
--non-interactive --no-auth-cache --username XXXX --password YYYY
Посмотрите Удостоверения клиента, Кэширующиеся документация в svnbook для получения дополнительной информации.
Лучше всего я могу дать Вам, "работы для меня" на SVN 1.5. Можно попытаться добавить --no-auth-cache
к Вашему svn update
, чтобы видеть, позволяет ли это Вам переопределить более легко.
, Если Вы хотите постоянно переключиться от user2 до user1, глава в ~/.subversion/auth/на *отклоняет и удаляет подлинный файл кэша для domain.com (скорее всего, в ~/.subversion/auth/svn.simple/-просто прочитывает их, и Вы найдете тот, который Вы хотите отбросить). В то время как возможно обновить текущий подлинный кэш, необходимо удостовериться, что обновили маркеры длины также. Более простой только, чтобы быть запрошенными снова в следующий раз Вы обновляете.
Проблема состояла в том, что рабочая копия была проверена через svn+ssh (спасибо, Thomas). Вместо того, чтобы настроить ssh ключи, как был предложен, я просто проверил новую рабочую копию с помощью svn://domain.com/path/to/repo, а не svn+ssh://domain.com/path/to/repo. Поскольку эта рабочая копия находится на той же машине как сам репозиторий, я ничего действительно не пропускаю, и я могу теперь использовать - пароль и - опции имени пользователя бесплатно. Кажется очевидным теперь, когда я думаю об этом.
I had this same issue and solved it by setting up my ~/.ssh/config file to explicitly use the correct username (i.e. the one you use to login to the server, not your local machine). So, for example:
Host server.hostname User username
I found this blog post helpful: http://www.highlevelbits.com/2007/04/svn-over-ssh-prompts-for-wrong-username.html