2

rsh コマンドを使用して、ファイルを ClearCase にチェックインします。

<cfexecute name="C:\cygwin64\bin\rsh.exe"
    arguments="-n -l #USERNAME# #SERVER# ""cleartool setview -exec '#KSH_FILE# -user #USERNAME# -dir #VOB_DIRECTORY#' #CLEARCASE_VIEW#"" "
    timeout="180"
    variable="CHECKIN_FILE_CONTENT">
</cfexecute>

しかし、ユーザーのプライマリ UNIX グループが、ユーザーがファイルをチェックインしようとしている VOB とは異なるグループに設定されているという問題が発生しています。

newgrpを実行する直前にコマンドを実行する必要があります#KSH_FILE#

私はこれがうまくいくと確信していました:

<cfexecute name="C:\cygwin64\bin\rsh.exe"
    arguments="-n -l #USERNAME# #SERVER# ""newgrp #GROUP#; cleartool setview -exec '#KSH_FILE# -user #USERNAME# -dir #VOB_DIRECTORY#' #CLEARCASE_VIEW#"" "
    timeout="180"
    variable="CHECKIN_FILE_CONTENT">
</cfexecute>

しかし、タイムアウトし続けます..エラーはなく、スピンして停止するだけです。

---更新--- さらにテストすると、cfexcute と rsh は複数のコマンドを許可していないようです。これは私が試したサンプルテストで、同じ問題が発生しました:

<cfexecute name="C:\cygwin64\bin\rsh.exe"
    arguments="-n -l #USERNAME# #SERVER# ""newgrp #GROUP#; id -a > results.txt"" "
    timeout="180">
</cfexecute>
4

2 に答える 2

1

使用しないでください (ここで説明したように) cleartool setview:現在のシェルをフォークするため、newgrp と setview がうまく通信できません: それらは独自のシェルをトリガーします。

動的ビューで何かをする必要がある場合は、フル パス ( /view/<aview>/vobs/<avob>) を使用し、 を使用しないでくださいsetviewnewgrpそうすれば、必要に応じて使用できます。

于 2015-09-25T23:56:07.153 に答える