根据http://dev.lshift.net/paul/mercurial-server/docbook.html上的"创建存储库",我们需要做的就是创建新的存储库 - clone
不存在.
但在1.1中我不起作用.如果我们看代码:
if cmd is None:
fail("direct logins on the hg account prohibited")
elif cmd.startswith('hg -R ') and cmd.endswith(' serve --stdio'):
repo = getrepo("read", cmd[6:-14])
if not os.path.isdir(repo + "/.hg"):
fail("no such repository %s" % repo)
dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
elif cmd.startswith('hg init '):
repo = getrepo("init", cmd[8:])
if os.path.exists(repo):
fail("%s exists" % repo)
d = os.path.dirname(repo)
if d != "" and not os.path.isdir(d):
os.makedirs(d)
dispatch.dispatch(['init', repo])
else:
fail("illegal command %r" % cmd)
Run Code Online (Sandbox Code Playgroud)
我们可以看到,要创建我们需要传递特定init …
我试图拉一些文件和目录,我有以下消息:
当我查看我的存储库时,我可以看到文件已经下载但所有包含_
为前缀,甚至包含文件和文件夹的名称_
requesting all changes
adding changesets
adding manifests
adding file changes
added 1094 changesets with 4304 changes to 1071 files abort:
untracked file in working directory differs from file in requested revision: '.hgignore' [command interrupted]
Run Code Online (Sandbox Code Playgroud)
怎么了?
我正在尝试在新的Jenkins服务器上创建我的第一个Jenkins构建作业.在前两次尝试中,工作失败了; 在我修复了这些问题后,下一个构建(我通过单击"立即构建"手动请求)失败了 - 但是没有给出构建错误.
我看到的唯一有用的信息是构建状态页面上的"无更改"(和一个mercurial修订版ID).
我怎么知道为什么构建失败了?
99%的时间我们的团队在本地开发框中提交并推送提交,在这种情况下,提交的作者信息是正确的.但是,在高压力下,有人会直接在开发服务器上调整某些内容并从那里提交.发生这种情况时,提交中的作者信息默认为共享部署帐户.
有没有办法在提交时提示用户提供作者信息?他们不会记得这么做--author
.
我看过的一些事情,但无法完成终点线:
有没有办法让其中一个工作或一个好方法来做到这一点?
我有一个带有version.2的项目,我必须开始研究它以开发一个新版本.我想在远程服务器(即mercurial-server)上创建一个新的repo,以便我的团队成员可以访问该repo.我的本地机器上有我的项目文件.
我有两个有关的问题:
如何/home/hg/repositories/private/project3
使用我的项目文件在远程mercurial-server中创建它(假设新的repo名称将是project3).我应该遵循哪些步骤来执行此操作.
如何创建访问权限(usrname/pword),以便我的团队在http://dev.myproject.com/private/project3上访问此repo .
注意: /home/hg/repositories/
默认为http://dev.myproject.com/,我没有版本2的回购(克隆是不可能的,我猜!)
我试图用一个例子来理解。这是代码:
import Queue
import threading
import urllib2
import time
from BeautifulSoup import BeautifulSoup
hosts = ["http://yahoo.com", "http://google.com", "http://amazon.com",
"http://ibm.com", "http://apple.com"]
queue = Queue.Queue()
out_queue = Queue.Queue()
class ThreadUrl(threading.Thread):
"""Threaded Url Grab"""
def __init__(self, queue, out_queue):
threading.Thread.__init__(self)
self.queue = queue
self.out_queue = out_queue
def run(self):
while True:
#grabs host from queue
host = self.queue.get()
#grabs urls of hosts and then grabs chunk of webpage
url = urllib2.urlopen(host)
chunk = url.read()
#place chunk into out queue
self.out_queue.put(chunk)
#signals to queue …
Run Code Online (Sandbox Code Playgroud) 我对我的工作存储库进行了一些更改,并添加了一些小的(2kb-10kb)python文件.然后我捆绑了我的更改:
hg bundle --base 100:120 nameofbundle.hg
Run Code Online (Sandbox Code Playgroud)
我的捆绑似乎是20MB.当我跑:
hg diff -r 100:120
Run Code Online (Sandbox Code Playgroud)
我可以看到我在python文件中所做的所有更改,但它仍然没有解释20MB大小.我可能有可能添加另一个文件,从而导致这个奇怪的大小,有没有办法查看这个文件或被跟踪的文件(从r100-120)?
我希望我已经说清楚了,我仍然是一个善变的新手.
编辑1
我跑的时候
hg bundle --base 119:120 nameofbundle.hg
hg bundle --base 118:120 nameofbundle.hg
Run Code Online (Sandbox Code Playgroud)
当我在python文件中为两个变更集编辑了8行时,我找到了439个变更集.我不明白这些变化是不是在差异中显示?
谢谢
回答:
该命令应该是
hg bundle -r 120 --base 100 nameofbundle.hg
Run Code Online (Sandbox Code Playgroud)
这只捆绑了20个变更集,并将尺寸缩小到仅仅16k.
我是一个Mercurial新手,我刚刚开始使用它.
我在本地存储库工作,当我提交更改时,我用它hg <command> ssh://user@host/usr/www/site.com/project
来推送,拉动并查看传入/传出的更改.
但每次ssh问我密码.有没有办法记住我的ssh密码为此目的?另外,每次完整命令(ssh:// user等)时我怎么不写?
我有一个使用Apache + mod_wsgi运行django代码的设置,我想添加一层保护,以防非终止视图滑入.有些东西可以杀死超过30秒的请求.理想.
为了测试我只是time.sleep(60)
在一个视图中.
我TimeOut 30
在Apache中尝试过这个设置,但是60秒后我仍然会恢复卷曲.
我看到mod_wsgi本身提供了三种不同的超时值,但它们似乎都不适用于长时间运行的请求.
是否有一个标准的Django中间件,或者是否有一个我在Apache或mod_wsgi上缺少的旋钮?
我想从本地和中央存储库中删除一个目录.我成功地在当地做到了
hg remove name_directoriy
hg commit
Run Code Online (Sandbox Code Playgroud)
但是,在将我的更改推送到中央存储库后,已删除的文件夹仍在中央存储库中,而在本地存储库中.
如何删除中央存储库中的目录?
谢谢
带'删除'的ps我的意思是它没有出现,但它仍然在历史中
我有一个SQL数据库表,具有以下结构:
create table category_value (
category varchar(25),
property varchar(25)
);
Run Code Online (Sandbox Code Playgroud)
我想将其读入Scala Map[String, Set[String]]
,其中地图中的每个条目都是同一类别中所有属性值的集合.我想以"功能"样式进行,没有可变数据(数据库结果集除外).
继Clojure loop
构造之后,我提出了以下内容:
def fillMap(statement: java.sql.Statement): Map[String, Set[String]] = {
val resultSet = statement.executeQuery("select category, property from category_value")
@tailrec
def loop(m: Map[String, Set[String]]): Map[String, Set[String]] = {
if (resultSet.next) {
val category = resultSet.getString("category")
val property = resultSet.getString("property")
loop(m + (category -> m.getOrElse(category, Set.empty)))
} else m
}
loop(Map.empty)
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点,而不使用可变数据结构?
__
大家好,
我的 hgignore 文件包含以下几行:
syntax:regexp
^data/dyn/.*
^data/config/.*
^data/temp/.*
^data/mediapool
^\.project
^\.buildpath
^\.settings/.*
^nbproject/.*
/\.git/
\.hg_archival.txt
syntax:glob
*.sublime-project
*.sublime-workspace
sftp-config.json
Run Code Online (Sandbox Code Playgroud)
但是,我想“忽略”文件夹 data/dyn/xxx/yyy 及其内部文件。
我该如何解决我的问题?
非常感谢!
运行Mercurial时出现此错误:
t3@des:gem5$ hg qnew my_p.diff
abort: no username supplied (see "hg help config")
Run Code Online (Sandbox Code Playgroud)
的hg help config
说:
The configuration files use a simple ini-file format. A configuration file
consists of sections, led by a "[section]" header and followed by "name =
value" entries:
[ui]
username = Firstname Lastname <firstname.lastname@example.net>
verbose = True
Run Code Online (Sandbox Code Playgroud)
但那个ini文件在哪里?