From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci cluster/form-macros site/luci/Exten ...
Date: 14 Dec 2006 23:14:55 -0000 [thread overview]
Message-ID: <20061214231455.9523.qmail@sourceware.org> (raw)
CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe at sourceware.org 2006-12-14 23:14:55
Modified files:
luci/cluster : form-macros
luci/site/luci/Extensions: cluster_adapters.py
Log message:
- fencing updates
- fix a typo in multicast address configuration
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.131&r2=1.132
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&r1=1.183&r2=1.184
--- conga/luci/cluster/form-macros 2006/12/14 18:22:53 1.131
+++ conga/luci/cluster/form-macros 2006/12/14 23:14:54 1.132
@@ -1156,44 +1156,55 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>IP Address</td>
<td>
<input name="ip_addr" type="text"
- tal:attributes="value cur_fencedev/ipaddr | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/ipaddr | nothing" />
</td>
</tr>
<tr>
<td>Login</td>
<td>
<input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/login | nothing" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="password" type="password" autocomplete="off"
- tal:attributes="value cur_fencedev/passwd | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/passwd | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-apc" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_apc" />
</div>
@@ -1212,44 +1223,55 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>IP Address</td>
<td>
<input name="ip_addr" type="text"
- tal:attributes="value cur_fendev/ipaddr | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fendev/ipaddr | nothing" />
</td>
</tr>
<tr>
<td>Login</td>
<td>
<input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/login | nothing" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="password" type="password" autocomplete="off"
- tal:attributes="value cur_fencedev/passwd | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/passwd | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-mcdata" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_mcdata" />
</div>
@@ -1268,37 +1290,46 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>IP Address</td>
<td>
<input name="ip_addr" type="text"
- tal:attributes="value cur_fencedev/ipaddr | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/ipaddr | nothing" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="password" type="password" autocomplete="off"
- tal:attributes="value cur_fencedev/passwd | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/passwd | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-wti" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_wti" />
</div>
@@ -1342,11 +1373,13 @@
</td>
</tr>
</table>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="fence_type" value="fence_ilo" />
</div>
</div>
@@ -1388,11 +1421,13 @@
tal:attributes="value cur_fencedev/passwd | nothing" />
</td>
</table>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="fence_type" value="fence_drac" />
</div>
</div>
@@ -1435,11 +1470,13 @@
</td>
</tr>
</table>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="fence_type" value="fence_rsa" />
</div>
</div>
@@ -1457,44 +1494,55 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>IP Address</td>
<td>
<input name="ip_addr" type="text"
- tal:attributes="value cur_fencedev/ipaddr | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/ipaddr | nothing" />
</td>
</tr>
<tr>
<td>Login</td>
<td>
<input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/login | nothing" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="password" type="password" autocomplete="off"
- tal:attributes="value cur_fencedev/passwd | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/passwd | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-brocade" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_brocade" />
</div>
@@ -1513,7 +1561,9 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
@@ -1524,30 +1574,37 @@
<td>Login</td>
<td>
<input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/login | nothing" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="password" type="password" autocomplete="off"
- tal:attributes="value cur_fencedev/passwd | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/passwd | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-sanbox2" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_sanbox2" />
</div>
@@ -1566,37 +1623,46 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>IP Address</td>
<td>
<input name="ip_addr" type="text"
- tal:attributes="value cur_fencedev/ipaddr | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/ipaddr | nothing" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="password" type="password" autocomplete="off"
- tal:attributes="value cur_fencedev/passwd | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/passwd | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-brocade" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_vixel" />
</div>
@@ -1615,30 +1681,37 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>Servers (whitespace separated list)</td>
<td>
<input name="servers" type="text"
- tal:attributes="value cur_fencedev/servers | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/servers | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-gnbd" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_gnbd" />
</div>
@@ -1657,37 +1730,46 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>CServer</td>
<td>
<input name="cserver" type="text"
- tal:attributes="value cur_fencedev/cserver | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/cserver | nothing" />
</td>
</tr>
<tr>
<td>ESH Path (Optional)</td>
<td>
<input name="login" type="text"
- tal:attributes="value cur_fencedev/login | string:/opt/pan-mgr/bin/esh" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/login | string:/opt/pan-mgr/bin/esh" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-egenera" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_egenera" />
</div>
@@ -1731,11 +1813,13 @@
</td>
</tr>
</table>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="fence_type" value="fence_bladecenter" />
</div>
</div>
@@ -1753,44 +1837,55 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
<tr>
<td>IP Address</td>
<td>
<input name="ip_addr" type="text"
- tal:attributes="value cur_fencedev/ipaddr | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/ipaddr | nothing" />
</td>
</tr>
<tr>
<td>Login</td>
<td>
<input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/login | nothing" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="password" type="password" autocomplete="off"
- tal:attributes="value cur_fencedev/passwd | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/passwd | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-bullpap" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="fence_bullpap" />
</div>
@@ -1827,11 +1922,13 @@
</td>
</tr>
</table>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="fence_type" value="fence_rps10" />
</div>
</div>
@@ -1849,23 +1946,28 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
</table>
+
<div name="instances">
<tal:block tal:condition="exists: cur_fence_instances">
- <tal:block tal:repeat="cur_fence_instance cur_fence_instances">
+ <tal:block tal:repeat="cur_instance cur_fence_instances">
<tal:block
metal:use-macro="here/form-macros/macros/fence-instance-form-xvm" />
</tal:block>
</tal:block>
</div>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="xvm" />
</div>
@@ -1884,15 +1986,19 @@
<td>Name</td>
<td>
<input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/name | nothing" />
</td>
</tr>
</table>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="sharable" value="1" />
<input type="hidden" name="fence_type" value="scsi" />
</div>
@@ -1940,11 +2046,13 @@
<td><input name="auth_type" type="text" Title="Options are to leave blank for none, password, md2, or md5"/></td>
</tr>
</table>
+
<tal:block tal:condition="exists: cur_fencedev">
<input type="hidden" name="existing_device" value="1" />
<input type="hidden" name="old_name"
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>
+
<input type="hidden" name="fence_type" value="fence_ipmilan" />
</div>
</div>
@@ -2508,6 +2616,7 @@
<tal:block tal:condition="exists: fenceinfo/level1">
<tal:block tal:repeat="cur_fencedev fenceinfo/level1">
<tal:block tal:define="
+ cur_fence_instances cur_fencedev/instance_list | nothing;
cur_fence_type cur_fencedev/agent | nothing;
cur_fence_level python: 1;">
<div tal:attributes="id python: 'fence1_' + str(cur_fence_num)">
--- conga/luci/site/luci/Extensions/cluster_adapters.py 2006/12/14 21:37:15 1.183
+++ conga/luci/site/luci/Extensions/cluster_adapters.py 2006/12/14 23:14:54 1.184
@@ -726,14 +726,16 @@
if mcast_manual == True:
try:
- addr_str = form['mcast_addr'].strip()
+ addr_str = form['mcast_address'].strip()
socket.inet_pton(socket.AF_INET, addr_str)
except KeyError, e:
+ addr_str = None
errors.append('No multicast address was given')
except socket.error, e:
try:
socket.inet_pton(socket.AF_INET6, addr_str)
except socket.error, e:
+ addr_str = None
errors.append('An invalid multicast address was given: %s')
else:
addr_str = None
@@ -745,6 +747,7 @@
try:
model.usesMulticast = True
model.mcast_address = addr_str
+ model.isModified = True
except Exception, e:
luci_log.debug('Error updating mcast properties: %s' % str(e))
errors.append('Unable to update cluster multicast properties')
@@ -3045,7 +3048,7 @@
if delete_cluster:
try:
- set_node_flag(self, clustername, rc.hostname(), str(batch_number), NODE_DELETE, "Deleting cluster \"%s\": Deleting node \'%s\'" \
+ set_node_flag(self, clustername, rc.hostname(), str(batch_number), CLUSTER_DELETE, "Deleting cluster \"%s\": Deleting node \'%s\'" \
% (clustername, nodename_resolved))
except Exception, e:
luci_log.debug_verbose('ND5a: failed to set flags: %s' % str(e))
next reply other threads:[~2006-12-14 23:14 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-14 23:14 rmccabe [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-09-21 3:11 [Cluster-devel] conga/luci cluster/form-macros site/luci/Exten rmccabe
2007-06-19 15:54 rmccabe
2007-05-03 20:16 rmccabe
2007-03-15 16:41 rmccabe
2007-03-14 22:38 rmccabe
2007-03-14 22:37 rmccabe
2007-03-05 16:50 rmccabe
2007-03-05 16:50 rmccabe
2007-03-05 16:49 rmccabe
2007-02-15 22:44 rmccabe
2007-02-08 3:46 rmccabe
2007-02-07 17:02 rmccabe
2007-02-07 16:55 rmccabe
2007-02-02 4:34 rmccabe
2007-02-02 0:11 rmccabe
2007-02-01 20:49 rmccabe
2007-01-31 23:36 rmccabe
2007-01-31 5:26 rmccabe
2007-01-23 13:53 rmccabe
2007-01-15 18:21 rmccabe
2007-01-11 19:11 rmccabe
2007-01-10 21:40 rmccabe
2007-01-06 3:29 rmccabe
2006-12-14 18:22 rmccabe
2006-12-11 22:42 rmccabe
2006-12-11 21:51 rmccabe
2006-12-06 22:11 rmccabe
2006-12-06 21:16 rmccabe
2006-11-13 21:40 rmccabe
2006-11-12 2:10 rmccabe
2006-11-09 20:32 rmccabe
2006-11-03 22:48 rmccabe
2006-10-25 1:53 rmccabe
2006-10-25 1:11 rmccabe
2006-10-13 21:25 rmccabe
2006-08-03 18:36 shuennek
2006-07-21 14:49 rmccabe
2006-07-20 16:59 rmccabe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061214231455.9523.qmail@sourceware.org \
--to=rmccabe@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).