当使用Subversion(svn)进行多个项目的源代码控制时,我注意到我的所有项目目录中的修订号都增加了.为了说明我的svn布局(使用虚构的项目名称):
/NinjaProg/branches
/tags
/trunk
/StealthApp/branches
/tags
/trunk
/SnailApp/branches
/tags
/trunk
当我对Ninja程序的主干执行提交时,假设我已经将其更新为修订版7.第二天让我们说我对Stealth应用程序进行了一些小改动,它将作为修订版8返回.
问题是:在使用一个Subversion服务器维护多个项目时,是否普遍接受的做法是让所有项目中不相关项目的修订号增加?或者我做错了,应该为每个项目创建单独的存储库?或者它完全是另一回事?
编辑:我推迟了标记答案,因为很明显这两种方法都有原因,即使这个问题首先出现,我还是想指出其他一些最终提出同样问题的问题:
是否有可能回顾Subversion存储库的历史记录以查找某个名称的文件(更好的是他们可以进行通配符搜索)?
我想查看.bat文件是否已在过去的某个时刻提交到存储库,但后来在以后的更新中被删除.即使在每个修订版本中转储文件历史记录也可以工作,因为我可以只输出输出.我查看了手册,但看不到这样做的好方法.
每个提交的日志都是描述性的,因此我不能只查看日志消息以查看已完成的修改.我认为Subversion确实有办法检索这个?
我正在尝试为我们的团队建立一个私人远程存储库.现在存储库提供以下服务,到目前为止我已经尝试过 -
当发出' mvn compile '时,它会搜索"〜/ .m2"中的依赖项.如果在那里找不到它,那么它将进入远程私有存储库,当依赖关系仍然不存在时,它将进入中央存储库.
在编译之前,我必须将所有依赖项与校验和和元数据一起放在我们的私有(和远程)存储库中.
当我们需要一个工件(例如 - spring-mvc)时,我们需要将它与该工件的所有依赖项(spring-mvc)一起放在远程私有存储库中.在这种情况下,从我们的远程私有存储库下载"spring-mvc".但是,"spring-mvc"的依赖关系不会从我们的远程私有存储库下载.它们从中央存储库下载.
现在我要做的是 -
以这样一种方式配置专用远程存储库"R",即我不必手动将所有依赖项放入其中.当首先发出"mvn编译"时; 在"〜/ .m2"中搜索依赖项,如果没有找到,则它将转到私有远程存储库"R".如果在'R'中找到依赖关系,那么"〜/ .m2"将从'R'获得它.如果在'R'中找不到依赖关系,则从中央存储库下载这些依赖关系,并将依赖关系保存在'R'中以供进一步使用.之后'〜/ .m2'将从'R'获得它们.在这里,我不需要手动将依赖项放在我们的远程私有存储库"R"中.
'〜/ .m2'将从远程私有存储库'R'获取"spring-mvc"(这是我项目的pom.xml中提到的主要依赖项)的所有依赖项,并且'R'将从相应的中央存储库获取它们.
任何人都可以建议某种方式/或教程参考以满足上述两个目标吗?提前致谢.
编辑:我尝试过Nathaniel Waisbrot的回答和nexus-2.7.0-06-bundle.经过几个小时的努力,我可以在使用jre-7时进行设置.使用jre-6,无法启动nexus.但我们的项目是使用JDK-6部署的.我们不想更改当前jre版本.用jre-6 apache-archiva就行了.但我不确定我是否能够实现上一节中的所有目标.是否有任何archiva用户/专家可以告诉我是否可以在上一节中实现这些目标?
有没有免费的在线私人maven2或maven3存储库?这样团队就可以从各个区域访问存储库.
我是Git的新手.我使用Aptana 3来处理所有事情,我也非常想在使用Git时使用它.我遇到的问题是,我读到的所有内容似乎都是针对那些了解Git或了解正在发生的事情的人.我没有.我甚至都没有使用GitHub甚至没有克隆项目.
据我所知,Aptana设置进入首选项并设置我的git可执行文件的路径.我已经重新启动了它,而且它似乎已经接受了这条新路径,然而,没有什么不同.从阅读其中一些论坛我现在应该可以访问git命令,我有一个"提交"命令,但没有推或拉.
有没有一步一步的文档,网站教程,Git noobs和Aptana 3的任何东西?我花了一天时间试图解决这个问题,我的商店真的希望明天为我们当前的项目设置并运行它.他们从来没有使用它,所以学习如何在他们的Linux机器上设置它.这取决于我为Mac搞清楚.
我知道我的问题比它刚刚设置得更远,但是现在我知道我已经适当了,并且一旦我完成设置就可以从中央存储库推送和拉出.
那么教程,手持,有什么可用吗?谢谢.
我刚刚进入了一个精彩的git世界.我必须提交一些我在程序中所做的更改,位于名为:/ var/www/myapp的目录中
我创建了一个新目录"/ home/mylogin/gitclone".从这个目录,我对公共仓库做了一个"git clone"命令,我能够获得最新的副本.
我现在正在试图弄清楚如何将我的工作文件夹中的所有文件(/ var/www/myapp)和"检查它们"带到主存储库.
从/ home/mylogin/gitclone,我尝试了以下命令:
"git add/var/www/myapp"但是我收到一条错误消息,我试图添加的文件夹在存储库之外.
你能给我一些关于我做错的指示吗?此外,我想添加一切,无论是否与主人不同.谢谢.
抱歉,我是Git和GitHub的新手,我已经阅读了一些内容,但我不确定我尝试做的事情是否完全有可能.
基本上我想分叉XBMC上使用的Confluence Skin并修改位于此处的各种元素:
https://github.com/xbmc/xbmc/tree/master/addons/skin.confluence
但是我不想分叉整个XBMC存储库,所以一个简单的fork操作不会这样做.
以下是我的一般要求:
我想获取skin.confluence文件夹的内容并将其放入我自己的GitHub帐户的存储库中
我需要能够在原始XBMC仓库中保持链接以接收上游提交,因为我的修改通常是基于主题的,而不是功能.
感谢tbekolay发布的响应,我已经能够进行子树拆分,只采用repo的skin.confluence部分并基本上创建一个分支,但我不确定如何保持它与原始的XBMC repo链接我修改后推到了自己的仓库.
我对Subversion和Subclipse都很陌生,并且看到一些问题让我相信更新头部和同步之间存在差异.具体来说,我发现当我尝试恢复(使用subclipse历史记录)时,我经常会收到一条消息,说"无法从路径自己的未来历史中反转合并范围,请先尝试更新".我的同步应该确保我在REPO的分支中拥有所有文件的"head"版本,但是执行"Update to head"确实解决了问题...那么是什么给出了?我试图检查SVN控制台,看看有什么变化,但它不是很冗长.
想法?
我有第二个问题,但我假设第一个问题的答案将会阐明它.如果你很好奇并有时间阅读,我也会打字.这是场景......我从"生产"标签中分支了所有文件,并开始处理我的项目.在几次提交之后,我检查一个已更改文件的历史记录,并注意到"粗体"版本(根据文档,这应该是头部)低于我的所有提交.就好像我拥有的不是头脑.但是头部只是该项目的最新版本吗?所以我错过了什么.
感谢您的回复,并花时间阅读本文!
注意:我已经看过这个,并试图尽可能多地从中获取; 但我相信我的背景不同.
我正在开展一个小型项目.称之为Foobar.我想要把它做得更有组织.我已经尝试了一些项目,主要是作为一个无组织的编程,作为一个光的爱好学生.我想要变得更有条理; 这些项目中有90%是在我完全没有记录或者因为我丢失它们之后发生的.
因此,我一直在考虑让版本控制/托管进行.它不仅会组织我更多,而且(如果它在这里很大)如果它进入任何可用的状态,它将更容易获得.
我正在考虑的两个地方是Google Code和GitHub.从我链接的问题:
Google代码:
- 与任何Google页面一样,复杂性几乎不存在
- 每个人(或几乎每个人)都有一个Google帐户,如果人们想要使用问题系统报告问题,那就太好了
GitHub的:
- 可能(也可能不会)比谷歌的页面更复杂(虽然对我来说不是问题)但......
- ...有比Google服务更漂亮的界面
- 它需要人们在GitHub上注册以发布问题
- 我喜欢这样的事实:使用Git,您可以在本地进行自己的修订
由此我倾向于GitHub,因为谷歌代码看起来并不吸引我.
对于一个小的业余爱好项目 - 基本上使社区功能无关紧要 - 有哪些功能应该把我带到一边或另一边?
我需要来自2个不同实体的值.我不知道该怎么做.到目前为止我试过这个:
<?php
namespace Pond\GeolocBundle\Entity;
use Doctrine\ORM\EntityRepository;
/**
* PondLakeRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class PondLakeRepository extends EntityRepository
{
public function getSwimsAvailableById($id)
{
// get the nb of swims of a lake
$lake = $this->findOneById($id);
$swims = $lake->getSwims();
$repository = $this->getDoctrine()
->getManager()
->getRepository('PondGeolocBundle:User_Lake');
//get the nb of users in a lake
$qb = $this->_em->createQueryBuilder();
$qb->select('count(a.id)');
$qb->from('PondGeolocBundle:User_Lake', 'a');
$nbOfUsers = $qb->getQuery()->getSingleScalarResult();
// return the nb of swims …Run Code Online (Sandbox Code Playgroud)