Я использую SharpSVN
, чтобы выполнить команду "Выполнить" после переименования файлов в моей локальной копииSharpSvn Local File Rename Commit
а не делать Svn.Delete(Src) -> Svn.Add(Dst)
.
я хочу использовать другой метод, чтобы сохранить трассировку ревизии данные моего файла
Функция переименования переместить данные в Server-Side
,
от старой цели к новой цели с помощью Svn. RemoteMove()
функция.
Как скопировать «svn-infos» в Local-Side
?
Я попытался сделать cl.Move(src,dst)
в моем локальном файле,
, но я получаю сообщение о том, что исходный файл не найден.
Вот мой код:
private string SvnRepository = "http://svnserver/svn/repo/trunk/";
public void Start() {
System.IO.File.Move("c:\\LocalSvn\\1.txt", "c:\\LocalSvn\\2.txt");
SvnRename("c:\\LocalSvn\\1.txt", "c:\\LocalSvn\\2.txt");
}
private Uri RelativePath(string sFullPath) {
return new Uri(SvnRepository + sFullPath.Replace(Path, "").Replace('\\', '/').Substring(1));
}
public void SvnRename(string sPath, string sOldPath) {
using (SvnClient cl = new SvnClient()) {
Uri UriFrom = RelativePath(sOldPath);
Uri UriTo = RelativePath(sPath);
cl.RemoteMove(UriFrom,UriTo
, new SvnMoveArgs { LogMessage = "Rename From:" + sOldPath + " To:"
+ sPath });
//Local
}
}