/**
* @description: svn 取得lock文件的用户
* @return:String
*/
public String svn_getLockOwner(String path) {
String obj = null;
Status st;
try {
st = SvnClient.singleStatus(path, true);
obj = st.getLockOwner();
} catch (ClientException e) {
log.error(e.toString(), e);
}
return obj;
}
/**
* @description: svn 文件的版本列表
* @return:List
*/
public List
List
try {
LogMessage[] logs = SvnClient.logMessages(path, Revision.START,
null);
for (LogMessage l : logs) {
Revision.Number num = l.getRevision();
list.add(num);
}
} catch (ClientException e) {
log.error(e.toString(), e);
}
return list;
}
/**
* @description: svn 文件的版本列表
* @return:List
*/
public List
List
try {
LogMessage[] logs = SvnClient.logMessages(path, Revision.START,
null);
for (LogMessage l : logs) {
String[] array = { l.getRevisionNumber() + "", l.getAuthor(),
DateUtils.format(l.getDate(), "yyyy/MM/dd HH:mm:ss") };
list.add(array);
}
} catch (ClientException e) {
log.error(e.toString(), e);
}
return list;
}
/**
* @description: svn merge文件
* @return:void
*/
public void svn_merge(String path, Revision from, Revision to) {
RevisionRange range = new RevisionRange(from, to);
try {
SvnClient.merge(path, Revision.HEAD, new RevisionRange[] { range },
path, false, Depth.infinity, false, false, false);
} catch (ClientException e) {
log.error(e.toString(), e);
}
}
/**
* @description: svn checkin文件
* @return:void
*/
public void svn_revert(String path) {
try {
SvnClient.revert(path, Depth.infinity, null);
} catch (ClientException e) {
log.error(e.toString(), e);
}
}
/**
* @description: svn 判断是否是需要add文件
* @return:boolean
*/
public boolean svn_isAdded(String path) {
Status st;
boolean flag = false;
try {
st = SvnClient.singleStatus(path, true);
String str = st.getLastCommitAuthor();
if (!StringUtils.isBlank(str)) {
flag = true;
}
} catch (ClientException e) {
log.error(e.toString(), e);
}
return flag;
}
public SVNClient getSvnClient() {
return SvnClient;
}
public void setSvnClient(SVNClient svnClient) {
SvnClient = svnClient;
}
public boolean isAuthFlag() {
return authFlag;
}
public void setAuthFlag(boolean authFlag) {
this.authFlag = authFlag;
}
}
public class SvnApp implements ISvn {
/**
* @description:用于加载动态的链接库 ,svn的dll文件
* @author:yehui void
*/
private static native void initNativeLibrary();
protected final Log log = LogFactory.getLog(this.getClass());