亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? x6950.htm

?? Its a xmpp protocol book
?? HTM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
<HTML
><HEAD
><TITLE
>CVS notification</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="Programming Jabber"
HREF="book1.htm"><LINK
REL="UP"
TITLE="Messages, Presence, and Presence Subscription"
HREF="c6941.htm"><LINK
REL="PREVIOUS"
TITLE="Messages, Presence, and Presence Subscription"
HREF="c6941.htm"><LINK
REL="NEXT"
TITLE="Dialup system watch"
HREF="x7229.htm"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Programming Jabber</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="c6941.htm"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 7. Messages, Presence, and Presence Subscription</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x7229.htm"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="JABTDG-CH-7-SECT-1"
>CVS notification</A
></H1
><P
>CVS&mdash;the Concurrent Versions System
<A
NAME="AEN6953"
HREF="#FTN.AEN6953"
>[1]</A
>
&mdash;allows you to comfortably
create and manage versions of the sources of your project. The most common
use for CVS is to create and manage versions of program source code, but
it can be readily used for any text files. For example, this book was
written using the DocBook markup language
<A
NAME="AEN6956"
HREF="#FTN.AEN6956"
>[2]</A
>
and CVS was used to take versions of the manuscript at certain points
in the writing's progress. The versions so taken could be compared, and old
versions could be retrieved. </P
><P
>That's the <I
CLASS="EMPHASIS"
>Versions System</I
> part of the name. The
<I
CLASS="EMPHASIS"
>Concurrent</I
> part means that this facility is given
an extra dimension in the form of group collaboration. With CVS, 
more than one person can share work on a project, and the various chunks
of work carried out by each participant are coordinated&mdash;automatically,
to a large extent&mdash;by CVS. Multiple changes by different people to
the same file can be merged by CVS; any unresolvable conflicts (which may 
for example arise when more than one person changes exactly the same line
of source code) are flagged and must be resolved by the participants 
involved.</P
><P
>The general idea is that you can create a project containing files and
directories and have it stored centrally in a CVS
<I
CLASS="EMPHASIS"
>repository</I
>. Depending on what sort of access is
granted to this repository, other project participants can pull down a
copy of the
project&mdash;those files and directories&mdash;and work on it 
independently. In this way, each participant's work is isolated (in time
and space) from the others. When the work is done, the work can be
sent back to the repository and the changes will be merged into the
central copy.
After that, those merged changes are available to the rest of the 
participants.</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="JABTDG-CH-7-SECT-1.1"
>CVS watches and notification</A
></H2
><P
>While CVS automatically handles most of the tedious merging process
that comes about when more than one person works on a project, it also
offers a facility which allows you to set a "watch" on one or more 
files in the project, and be alerted when someone else starts to work
on those watched files. This is useful if you wish to preempt any automatic
merging process by contacting the other participant and coordinating
your editing efforts with them.</P
><P
>There are two CVS commands involved in setting up watches and notifications.
There are also a couple of CVS administrative files that determine how the
notifications are carried out. Let's look at these commands and files in
turn.</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="JABTDG-CH-7-SECT-1.1.1"
>CVS commands</A
></H3
><P
>The CVS commands <B
CLASS="COMMAND"
>cvs watch</B
> and <B
CLASS="COMMAND"
>cvs notify</B
>
are used, usually in combination, by project participants to set up the
notification mechanism.</P
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><B
CLASS="COMMAND"
>cvs watch on|off</B
></DT
><DD
><P
>Assuming we have a CVS-controlled project called
'<I
CLASS="EMPHASIS"
>proj1</I
>', and we're currently inside our local
checked-out copy of the project's files, we first use
<B
CLASS="COMMAND"
>cvs watch</B
> to tell CVS to watch a file ("turn a watch
<I
CLASS="EMPHASIS"
>on</I
>") that we're 
interested in, which is <TT
CLASS="FILENAME"
>file4</TT
> in this example:</P
><P
><PRE
CLASS="SCREEN"
>yak:~/projects/proj1$ <TT
CLASS="USERINPUT"
><B
>cvs watch on file4</B
></TT
></PRE
></P
><P
>This causes CVS to mark <TT
CLASS="FILENAME"
>file4</TT
> as "watched", which 
means that any time a project participant checks out the file from the
central repository, the checked-out working copy is created with read-only 
attributes. This means that the participant is (initially) prevented from
saving any changes to that working copy. It is, in effect, a reminder
to that participant to use the CVS command <B
CLASS="COMMAND"
>cvs edit</B
>,
specifying <TT
CLASS="FILENAME"
>file4</TT
>, before commencing the edit session.
Using <B
CLASS="COMMAND"
>cvs edit</B
> will cause CVS to:</P
><P
></P
><OL
TYPE="1"
><LI
><P
>remove the read-only attribute for the file</P
></LI
><LI
><P
>send out a notification that the participant has 
commenced editing it.</P
></LI
></OL
></DD
><DT
><B
CLASS="COMMAND"
>cvs watch add|remove</B
></DT
><DD
><P
>While running <B
CLASS="COMMAND"
>cvs watch on</B
>
against a file will set a
marker causing the file to be replicated with the read-only attribute
when checked out (which has the effect of "suggesting" to the participant
editing the file that he 
use the <B
CLASS="COMMAND"
>cvs edit</B
> command to signal that he's to start
editing), the actual determination of the notification recipients is 
set up using the <B
CLASS="COMMAND"
>cvs watch add</B
> 
command. </P
><P
>Running the command:</P
><P
><PRE
CLASS="SCREEN"
>yak:~/projects/proj1$ <TT
CLASS="USERINPUT"
><B
>cvs watch add file4</B
></TT
></PRE
></P
><P
>will arrange for the CVS notification to be sent to <I
CLASS="EMPHASIS"
>us</I
>
when someone else signals their intention (via <B
CLASS="COMMAND"
>cvs edit</B
>)
to edit <TT
CLASS="FILENAME"
>file4</TT
>.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="JABTDG-CH-7-SECT-1.1.2"
>CVS administrative files</A
></H3
><P
>Kept in the central CVS repository are a number of administrative files 
that are used to control how CVS works. Two of these files, 
<TT
CLASS="FILENAME"
>notify</TT
> and <TT
CLASS="FILENAME"
>users</TT
>, are used to 
manage the watch-based notification process.</P
><P
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="FILENAME"
>notify</TT
></DT
><DD
><P
>The standard <TT
CLASS="FILENAME"
>notify</TT
> file contains a line like this:</P
><P
><PRE
CLASS="SCREEN"
>ALL mail %s -s "CVS notification" </PRE
></P
><P
>The '<TT
CLASS="LITERAL"
>ALL</TT
>' causes the formula described here to be
used for any notification requirements (an alternative to 
<TT
CLASS="LITERAL"
>ALL</TT
> is a regular expression to match the directory
name in which the edit causing the notification is being carried out).</P
><P
>The rest of the line is the formula to use to send the notification. 
It is a simple invocation of the <B
CLASS="COMMAND"
>mail</B
> command, 
specifying a subject line (<TT
CLASS="LITERAL"
>-s "CVS notification"</TT
>).
The <TT
CLASS="LITERAL"
>%s</TT
> is a placeholder that CVS replaces with the
address of the notification's intended recipient. The actual notification
text, generated by CVS, is piped into the <B
CLASS="COMMAND"
>mail</B
> command
via STDIN.</P
></DD
><DT
><TT
CLASS="FILENAME"
>users</TT
></DT
><DD
><P
>The <TT
CLASS="FILENAME"
>users</TT
> file contains a list of notification
recipient addresses:</P
><P
><PRE
CLASS="SCREEN"
>dj:dj.adams@pobox.com
piers:pxharding@ompa.net
robert:robert@shiels.com
...</PRE
></P
><P
>This is a mapping from the user IDs (<TT
CLASS="LITERAL"
>dj</TT
>,
<TT
CLASS="LITERAL"
>piers</TT
>, and <TT
CLASS="LITERAL"
>robert</TT
>) of the 
CVS participants, local to the host where the CVS repository is
stored, to the actual addresses (<TT
CLASS="LITERAL"
>dj.adams@pobox.com</TT
>,
<TT
CLASS="LITERAL"
>pxharding@ompa.net</TT
>, and
<TT
CLASS="LITERAL"
>robert@shiels.com</TT
>) that are
used to replace the <TT
CLASS="LITERAL"
>%s</TT
>
in the formula described in the <TT
CLASS="FILENAME"
>notify</TT
> file.</P
></DD
></DL
></DIV
></P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="JABTDG-CH-7-SECT-1.1.3"
>The Notification</A
></H3
><P
>If the contents  of the <TT
CLASS="FILENAME"
>notify</TT
> and
<TT
CLASS="FILENAME"
>users</TT
> files have been set up correctly, 
a typical notification, set up by <I
CLASS="EMPHASIS"
>dj</I
> using
the <B
CLASS="COMMAND"
>cvs watch on file4</B
>
and <B
CLASS="COMMAND"
>cvs watch add file4</B
> commands, and triggered
by <I
CLASS="EMPHASIS"
>piers</I
> using the <B
CLASS="COMMAND"
>cvs edit file4</B
>
command, will be received in <I
CLASS="EMPHASIS"
>dj</I
>'s inbox looking
like the one shown in <A
HREF="x6950.htm#JABTDG-CH-7-FIG-1"
>Figure 7-1</A
>.</P
><DIV
CLASS="FIGURE"
><A
NAME="JABTDG-CH-7-FIG-1"
></A
><P
><B
>Figure 7-1. A typical email CVS notification</B
></P
><PRE
CLASS="SCREEN"
>Date: Fri, 8 Jun 2001 13:10:55 +0100
From: piers@ompa.net
To: dj.adams@pobox.com
Subject: CVS notification
 
testproject file4
---
Triggered edit watch on /usr/local/cvsroot/testproject
By piers</PRE
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="JABTDG-CH-7-SECT-1.2"
>CVS notifications via Jabber</A
></H2
><P
>While email-based notifications are useful, we can add value to this
process by using a more immediate (and penetrating) form of communication:
Jabber. While mail clients can be configured to check for mail automatically
on a regular basis, using an IM-style client has a number of immediately
obvious advantages: </P
><P
></P
><UL
><LI
><P
>it's likely to take up less screen real-estate</P
></LI
><LI
><P
>no amount of tweaking of the mail client's auto-check frequency, if
available (which will log in, check for, and <I
CLASS="EMPHASIS"
>pull</I
>
emails from the mail server) will match the immediacy of IM-style
message <I
CLASS="EMPHASIS"
>push</I
></P
></LI
><LI
><P
>in extreme cases, the higher the auto-check frequency, the higher effect
on overall system performance</P
></LI
><LI
><P
>depending on the configuration, an incoming Jabber message can be made
to pop up, with greater effect</P
></LI
><LI
><P
>a Jabber user is more likely to have a Jabber client running permanently
than an email client</P
></LI
><LI
><P
>it's more fun!</P
></LI
></UL
><P
>The design of CVS's notification mechanism is simple and abstract enough
for us to put an alternative notification system in place.
If we substitute the formula in the <TT
CLASS="FILENAME"
>notify</TT
>
configuration file with something that will call a Jabber script, 
we might end up with something like <A
HREF="x6950.htm#JABTDG-CH-7-EX-1"
>Example 7-1</A
>.</P
><DIV
CLASS="EXAMPLE"
><A
NAME="JABTDG-CH-7-EX-1"
></A
><P
><B
>Example 7-1. A Jabber notification formula in the <TT
CLASS="FILENAME"
>notify</TT
> file</B
></P
><P
><PRE
CLASS="SCREEN"
>ALL python cvsmsg %s   </PRE
></P
></DIV
><P
>Like the previous formula, it will be invoked by CVS to send the notification,
and the <TT
CLASS="LITERAL"
>%s</TT
> will be substituted by the recipient's address
determined from the <TT
CLASS="FILENAME"
>users</TT
> file. In this case, the 
Python script <I
CLASS="EMPHASIS"
>cvsmsg</I
> is called. </P
><P
>But now that we're sending a notification via Jabber, we need a Jabber 
address - a JID - instead of an email address. No problem; just edit the
<TT
CLASS="FILENAME"
>users</TT
> file to reflect the new addresses. 
<A
HREF="x6950.htm#JABTDG-CH-7-EX-2"
>Example 7-2</A
> shows what the <TT
CLASS="FILENAME"
>users</TT
>
file might contain if we were to use JIDs instead of email addresses.</P
><DIV
CLASS="EXAMPLE"
><A
NAME="JABTDG-CH-7-EX-2"
></A
><P
><B
>Example 7-2. Matching users to JIDs in the <TT
CLASS="FILENAME"
>notify</TT
> file</B
></P
><P
><PRE
CLASS="SCREEN"
>dj:dj@gnu.pipetree.com
piers:piers@jabber.org
robert:shiels@jabber.org</PRE
></P
></DIV
><P
>As Jabber user JIDs in their most basic form (i.e., without a 
<I
CLASS="EMPHASIS"
>resource</I

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人精品福利| 亚洲国产成人一区二区三区| 国产成人日日夜夜| 五月天国产精品| 欧美激情一区二区三区全黄| 欧美一卡2卡三卡4卡5免费| 91麻豆123| 福利一区二区在线| 黄一区二区三区| 亚洲成av人片一区二区| 国产精品短视频| 久久久www免费人成精品| 69精品人人人人| 欧美在线观看视频一区二区| av网站免费线看精品| 国产精品一区二区视频| 日本不卡一区二区三区高清视频| 一区二区三国产精华液| 日韩一区日韩二区| 中文字幕在线观看不卡视频| 久久久91精品国产一区二区精品 | 不卡的av在线播放| 粉嫩aⅴ一区二区三区四区| 精品亚洲porn| 六月丁香婷婷色狠狠久久| 日韩中文字幕不卡| 日韩精品一级中文字幕精品视频免费观看| 亚洲男人天堂一区| 亚洲精品美腿丝袜| 亚洲伦在线观看| 亚洲精品视频免费观看| 亚洲欧美在线高清| 亚洲免费观看高清完整版在线观看 | 国产1区2区3区精品美女| 久久se精品一区二区| 九九国产精品视频| 久久精品噜噜噜成人av农村| 美腿丝袜亚洲综合| 另类的小说在线视频另类成人小视频在线 | 欧美自拍丝袜亚洲| 日本二三区不卡| 在线观看国产一区二区| 欧美影院精品一区| 欧美精品免费视频| 911精品国产一区二区在线| 欧美一区二视频| 欧美刺激脚交jootjob| 欧美精品一区在线观看| 国产拍揄自揄精品视频麻豆| 国产精品视频线看| 亚洲女子a中天字幕| 亚洲一级二级三级| 日本不卡视频在线| 国内精品久久久久影院薰衣草| 国产精品一区不卡| 91免费看`日韩一区二区| 欧美三级电影一区| 日韩欧美国产成人一区二区| 久久亚洲春色中文字幕久久久| 国产精品丝袜黑色高跟| 一区二区三区在线观看动漫 | 91丨porny丨蝌蚪视频| 在线观看欧美日本| 日韩欧美www| 国产精品久久久久久久久果冻传媒| 亚洲人成亚洲人成在线观看图片 | 中文字幕av不卡| 亚洲一区二区三区四区在线观看| 天堂va蜜桃一区二区三区| 久草中文综合在线| 91老师国产黑色丝袜在线| 555www色欧美视频| 国产三级精品三级在线专区| 一区二区三区高清不卡| 激情综合亚洲精品| 91网站在线观看视频| 91麻豆精品国产91久久久久| 国产欧美精品在线观看| 亚洲动漫第一页| 国产精品资源在线观看| 欧美日韩精品一区二区三区| 久久午夜羞羞影院免费观看| 一个色综合网站| 国产又黄又大久久| 欧美日韩高清一区二区| 国产精品久久久久久久久图文区 | 国产精品911| 欧美男生操女生| 国产精品久久久久久亚洲伦| 秋霞国产午夜精品免费视频| 99国产精品视频免费观看| 欧美电影免费观看高清完整版在| 亚洲欧洲在线观看av| 韩国女主播一区| 欧美日韩一本到| 日韩一区欧美一区| 国产一区美女在线| 日韩一区二区在线看| 亚洲伊人伊色伊影伊综合网| 成人一区二区三区视频在线观看| 日韩午夜激情视频| 香蕉成人伊视频在线观看| 99精品1区2区| 国产精品女上位| 黄一区二区三区| 日韩欧美在线123| 午夜视频在线观看一区二区三区| 99久久久久久| 久久久久久免费网| 精品一区二区三区免费| 欧美一区二区黄| 亚欧色一区w666天堂| 91色婷婷久久久久合中文| 国产欧美一区二区精品仙草咪| 麻豆成人免费电影| 欧美一区二区三区免费| 丝袜亚洲另类欧美综合| 欧美日韩精品欧美日韩精品一综合| 亚洲日本一区二区三区| aaa欧美色吧激情视频| 欧美国产成人在线| 国产成人精品亚洲日本在线桃色 | 日韩欧美二区三区| 日韩精品成人一区二区在线| 欧美日韩免费不卡视频一区二区三区| 亚洲精品日产精品乱码不卡| 成人黄色网址在线观看| 国产精品久久777777| 成人免费毛片片v| 国产精品免费视频一区| 成人免费视频视频在线观看免费| 久久精品一区二区三区四区| 国产成人午夜视频| 亚洲国产成人私人影院tom| 成人91在线观看| 中文字幕一区二区三区精华液| gogo大胆日本视频一区| 日韩美女精品在线| 一本一道波多野结衣一区二区| 亚洲日本乱码在线观看| 欧美午夜精品久久久久久超碰| 亚洲一区二区三区在线播放| 欧美精三区欧美精三区| 久久精品99久久久| 久久九九久久九九| www.久久久久久久久| 一区二区三区欧美| 欧美精品1区2区3区| 九色综合狠狠综合久久| 欧美激情一区二区三区蜜桃视频 | 毛片一区二区三区| 久久众筹精品私拍模特| 成人综合在线网站| 亚洲综合色视频| 欧美一区二区人人喊爽| 国产电影一区二区三区| 亚洲人午夜精品天堂一二香蕉| 欧美图区在线视频| 激情久久五月天| 亚洲欧美日韩成人高清在线一区| 欧美日韩综合在线| 国产一区激情在线| 日韩伦理av电影| 欧美一区二区三区播放老司机| 国产高清亚洲一区| 亚洲综合免费观看高清完整版| 欧美一级一级性生活免费录像| 国产大陆精品国产| 亚洲一区二区在线播放相泽| 亚洲精品一线二线三线 | www久久久久| 91视频在线观看免费| 日韩av一区二区三区| 国产精品欧美一区二区三区| 精品视频999| 国产一区 二区| 亚洲123区在线观看| 久久久www免费人成精品| 欧美日韩综合色| 成人黄色777网| 男男gaygay亚洲| 一区二区三区四区精品在线视频| 精品久久99ma| 在线免费观看成人短视频| 国产美女久久久久| 爽爽淫人综合网网站| 亚洲欧洲日产国产综合网| 欧美xfplay| 欧美性生活一区| 成人免费视频免费观看| 久久电影国产免费久久电影| 亚洲精品成a人| 国产亚洲午夜高清国产拍精品| 欧美日韩国产色站一区二区三区| 成人黄色免费短视频| 国产一区二区三区四区五区入口 | 白白色 亚洲乱淫| 久久99国产乱子伦精品免费| 亚洲一区二区三区不卡国产欧美| 国产欧美一区二区精品仙草咪|