热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SVN搜索引擎

原文链接:http:www.360doc.comcontent170825101411057_681969650.shtml SvnQuery可以用来搜索Subversion版本资

原文链接:http://www.360doc.com/content/17/0825/10/1411057_681969650.shtml

 

SvnQuery 可以用来搜索Subversion版本资源库中的文件信息,就像Google可以帮您搜索网络上的页面信息。它会全文本搜索版本资源库中的内容和元数据,如文件名、路径、提交者和SVN的属性信息。
工作原理:
SvnQuery维护版本资源库的一个全文本索引(基于Lucene实现),这个索引可以用来快速查询。这个索引需要针对存在的版本资源库创建一次, 当版本资源库变更时,索引需要更新,这个更新通常由一个后提交钩子来触发。索引操作运作在后台分离的一个进程中,因此用户在提交后不会注意到任何延迟。另外,如果没有权限操作资源库,还可以选择调度更新,例如一天一次。在访问远程无法使用钩子的版本资源库时,这种方法很有用。在Window平台上,使用“任务计划程序”来运行调度任务。
SvnQuery的前端是一个ASP.NET web应用,和大多数搜索引擎类似。执行个查询,瞬间你就能看到查询得到的结果。你不仅仅可以搜索最新修订版本的信息,你还可以同时搜索任何修订版本或修订版本区间的信息。SvnFind是另外一个前端查询工具,运行在window平台上,可以直接用来查询创建的索引-不需要依赖Web服务器。核心库SvnQuery.dll实现了简单但强大的查询语言,特别适合查询代码版本资源库,希望其他应用、插件、工具能使用这个库文件。

2. 如何下载SVNQuery?
SVNQuery的官方站点是http://svnquery.tigris.org/,目前的最新版本为SvnQuery Version 1.2.2.0,下载地址为http://svnquery.tigris.org/SvnQuery_1.2.2.0.zip。
解压后的目录结构如下:



  1. ├─SvnFind

  2. │  │   SvnFind.exe

  3. │  │  ……

  4. ├─SvnIndex

  5. │  │  SvnIndex.exe

  6. │  │  ……

  7. └─SvnWebQuery

  8.     ├─bin

  9.     ├─scripts

  10.     └─styles

因为是基于asp.net开发的,他只能运行在window平台上,并且需要在平台上安装.NET Framework 3.5.

SvnQuery 主要包括如下部分:



  1. SvnIndex, 命令行工具,用来创建和更新全文本搜索索引

  2. SvnWebQuery, ASP.NET Web应用,用来查询搜索索引

  3. SvnFind, Window富客户端工具,用来查询搜索索引

  4. SvnQuery.dll, 编程库文件,可以编程来访问创建的索引文件

  5. RunDetached, 命令行工具,用来避免subversion等待钩子命令的完成


---------------------------------------------------------------------------------------

命令行工具SvnIndex用来维护subversion版本资源库的全文本索引,它包括两个子命令,分别用来创建、更新索引。 

svnindex create [Options]

上述命令在指定的索引位置Index为位于Repository的版本资源库创建索引,会覆盖Index位置的内容. -r过滤器选项用来指定索引到的修订版本号,如果-r选项忽略,默认为最新版本。取决你的版本资源库的大小,索引操作可能需要很长的一段时间,尽量少索引一些修订版本,确认基本的索引流程OK,然后更新索引到最新版本。 -f过滤器选项用来排除索引匹配指 
定的正则表达式的内容。例如,你或许需要排除tags文件夹下的内容,因为这个文件夹一般是些trunk或branches的备份。 
svnindex update [Options] 
上述命令在指定的索引位置Index为位于Repository的版本资源库更新索引。Index 是在本地文件系统上的文件夹路径 ,Repository 是本地文件系统上的版本资源库的文件夹路径或 通过http、svn协议进行访问的有效url。 
使用 SvnIndex的例子

在我们的例子中,版本资源库位于 e:\Repository, 创建的索引文件位于e:\RepositoryIndex . 版本资源库由svnserve启动,位于server服务器上。



  • 复制SvnIndex文件夹到你的版本资源库的hooks文件夹。

  • 使用下述命令创建初始的索引文件,取决于你的版本资源库的大小,可能需要花费些时间。 
    svnindex create e:\RepositoryIndex e:\Repository -x svn://server -n “Source Repository” -f “(/tags/)|(/branches/)”

  • 在hooks文件夹下创建post-commit.cmd 文件

  • 粘贴下述内容到post-commit.cmd 文件: 
    %~dp0SvnIndex\RunDetached %~dp0SvnIndex\svnindex.exe update e:\RepositoryIndex e:\Repository -f “(/tags/)|(/branches/)”

  • 完成!

更多的使用 SvnIndex的例子 
命令:c:\SvnQuery_1.2.2.0\SvnIndex>SvnIndex.exe create c:\myIndex http://192.168.1.130/demo1/   -u ken -p ken

其中 c:\myIndex是本地创建的索引文件夹, http://192.168.1.130/demo1/ 是远程版本资源库访问地址,-u、-p指定用户名和密码。

----------------------------------------------------------------------------------------

1.svnfind.exe


SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
注:REpository:  选择通过命令svnindex create [Options]创建的索引。
2.svnwebquery搭建及使用
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 
SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙
 

 

效果

http://localhost/svnwebquery


SVN 搜索引擎 --svnquery(整理) - 纬龙沙 - 纬龙沙

推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
author-avatar
天津市翔瑞特制冷设备_208
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有