标签: dvcs

处理自动备份脚本中的登录

我需要编写一个shell脚本来安排每天运行以使用mercurial备份目录.我已经完成了大部分用例,除了我可以找到一种在脚本运行时进行自动登录的方法.

for REPOSITORY in $@ 
do
    cd $REPOSITORY

    # commit the changes
    hg commit -A -m "Commit changes `date`"

    # push the changes to the remote repository
    if hg push 
    then
        logger hg push success
    else
        logger hg push failure
    fi
done
Run Code Online (Sandbox Code Playgroud)

发出hg push命令后会显示登录提示.

shell backup mercurial dvcs login

2
推荐指数
1
解决办法
650
查看次数

在开发iPhone时,我应该使用Git还是Subversion?

听起来像subversion的集中模型更适用于Web应用程序开发,在这种情况下,您拥有一个工程师团队,他们目前在相同的代码库上工作并不断发布.

另一方面,Git的分布式模型对于iPhone应用程序很有吸引力,因为1)我不需要连接来浏览存储库2)它的速度要快得多3)开发将被共享但不常见.

对不起,如果我回答了我自己的问题,我不是故意引发辩论,请随意给出单行答案.

svn git iphone version-control dvcs

2
推荐指数
2
解决办法
1107
查看次数

Mercurial的廉价克隆/本地分支

几天前刚刚开始与Mercurial合作,有些事我不明白.

我有一个我想做的实验性的事情,所以正常的做法是克隆我的存储库,处理克隆,如果最终我想保留这些更改,我会将它们推送到我的主存储库.

问题是克隆我的存储库需要很多时间(我们有很多代码),只编译克隆的副本需要一个小时.
所以我需要以某种方式在不同的存储库上工作,但仍然在我原来的工作副本中.

输入本地分支.

问题只是创建一个本地分支需要永远,并与他们合作也不是那么有趣.因为当在本地分支之间移动时不会"恢复"到目标分支状态时,我必须发出一个hg purge(删除在移动的分支中添加的文件)然后hg update -c(以恢复移动的分支中的已修改文件).(注意:我确实尝试过PK11 fork的本地分支扩展,它有一个简单的本地分支创建崩溃异常)

在一天结束时,这太复杂了.我有什么选择?

mercurial dvcs

2
推荐指数
1
解决办法
627
查看次数

如何将新功能推送到中央Mercurial回购?

我被指派为项目开发一个功能.我将在几周的时间内完成该功能几天.我将克隆中央回购.然后我要去当地工作3个星期.在这个过程中,我会多次将我的进展交给我的回购.当我完成后,我会在推动之前拉/合并/提交.

将我的功能作为单个变更集推送到中央仓库的正确方法是什么?我不想将14个"正在进行中的工作"变更集和1个"合并"变更集推送到中央仓库.我希望项目中的其他协作者只能看到一个带有重要提交消息的变更集(例如"已实现的功能ABC").

我是Mercurial和DVCS的新手,如果您认为我没有以正确的方式接近,请不要犹豫提供指导.

<My own answer>

到目前为止,我想出了一种方法,将15个变更集减少到2个变更集.假设变更集10到24是"正在进行中"变更集.我可以'hg collapse -r 10:24 -m "Implemented feature ABC"'(14个变更集合并为1).然后,我必须'hg pull'+ 'hg merge'+ 'hg commit -m "Merged with most recent changes"'.但现在我坚持使用2个变更集.我不能再'hg collapse',因为pull/merge/commit打破了我的变更集序列.当然,2个变更集比15个好,但是,我宁愿有1个变更集.

</My own answer>

workflow mercurial dvcs

2
推荐指数
1
解决办法
304
查看次数

使用DVCS进行每次保存后提交是否有意义?

我知道在提交DVCS的频率之前已经问过这个问题.所有答案都有一个共同点 - 尽可能经常.但它们通常是在完成一个思想,一个用户故事,获得编译代码或通过测试之后.我在想,鉴于DVCS为您提供了自己的存储库,提交非常便宜,在每次更改文件后提交都没有意义吗?毕竟,这就是NetBeans中发生的事情,你得到一个很好的免费"时间机器",甚至没有要求它.如果不是每次改变,那么至少每次保存或编译.

这是否有意义,或者我对DVCS有错误的想法.我的感觉是,这不是大多数人使用DVCS的工作流程.

git mercurial dvcs

2
推荐指数
2
解决办法
994
查看次数

使用git检出项目的第一次提交

有没有一种简单的方法可以在git中找到历史悠久的项目中第一个提交的SHA1?

git dvcs

2
推荐指数
1
解决办法
143
查看次数

使用Mercurial跟踪5个文件中的小差异?

我有五个httpd.conf文件,它们的区别仅在于它们正在侦听的端口号.站点之间的所有其他数据都是相同的.有没有办法在Mercurial中将其作为单个文件进行跟踪?因此,如果我对httpd.conf文件进行了不同的更改,我可以将其推送到所有五个,并保持端口号分开.

谢谢,凯文

python apache mercurial dvcs

2
推荐指数
1
解决办法
64
查看次数

合并时为什么会变得愚蠢?如何使拉/合并更改变得更简单?

我刚刚开始使用Mercurial而且我认为我正在尝试做一些非常简单的事情,这应该是非常典型的,但我很难理解为什么它如此复杂,以及为什么它不能按照应有的方式工作( IMO).

我和朋友分享了一些存储库,他做了一些更改并检查了几个文件并推送它们.现在在svn我习惯只是更新我的工作副本并获得他的更改,没有麻烦.但有了mercurial显然我必须合并.我不明白的是:不要善变足够聪明弄清楚,如果我的朋友所做的最新更改,我还没有碰到过的文件,它应该只是用他的版本的文件?显然它无法解决这个问题,而是试图合并完全失败的文件(实际上我已经安装了自动打开的Beyond Compare,所以我不能完全归咎于糟糕的合并).

无论如何,我不知道为什么它甚至必须"合并"文件,这显然(对我来说)它应该只是采取了远程(即最近的)更改.难道我做错了什么在我如何使用工具,或者是有什么我可以做,使之以更简单的方式(我已经习惯了它只是在Subversion工作的方式)工作...有什么配置设置,命令行标志的任何提示,我可以使用它来更好地工作?

merge mercurial dvcs

2
推荐指数
1
解决办法
770
查看次数

防止目录被推入mercurial

我在本地计算机上创建了一个新的存储库,添加了文件并在我的工作副本中提供了以下结构:

-/a     
-/b
Run Code Online (Sandbox Code Playgroud)

我想将我的初始提交推送到Bitbucket上的远程存储库.但是我想忽略目录,b以免它被推送.我补充道

syntax:
glob b/**
Run Code Online (Sandbox Code Playgroud)

到我的.hgignore档案.该b目录得到反正推.

我怎么能阻止这个?

version-control mercurial dvcs bitbucket hgignore

2
推荐指数
1
解决办法
554
查看次数

hg添加整个目录,尽管列在.hgignore中

我在mercurial存储库中有两个分支,它们具有相同的.hgignore文件: dir/

一个分支(发展)应该忽略这个目录,而其他(释放)应该不会忽略它.我知道我可以使用hg add dir/somefile.hgignore文件中的条目.但现在我想以递归的方式添加整个直升机.

我搜索了那个并尝试过

hg add dir    # does not add anything
hg add dir*   # does not add anything
hg add dir/   # does not add anything
hg add dir/*  # only adds the files in dir but not in sub-directories
hg add dir/** # only adds the files in dir but not in sub-directories
Run Code Online (Sandbox Code Playgroud)

但这不是递归的工作.我可以使用add dir/* dir/*/* dir/*/*/*等等,但这很烦人.是否有另一个通配符我必须使用或者可能是另一种方法来实现这一目标?

PS:我想避免改变.hgignore.

version-control mercurial dvcs hgignore

2
推荐指数
1
解决办法
1618
查看次数

标签 统计

dvcs ×10

mercurial ×8

git ×3

version-control ×3

hgignore ×2

apache ×1

backup ×1

bitbucket ×1

iphone ×1

login ×1

merge ×1

python ×1

shell ×1

svn ×1

workflow ×1