0

デフォルトのSVNユーザー名を新しい名前に変更したい。このリンクで提案されている解決策を試しましたが(ローカルSVNリポジトリにアクセスするためのデフォルトの作成者を変更するにはどうすればよいですか?)、機能しません。

コマンドラインからSVNリポジトリにアクセスし、Subversiveクライアントを使用してAptanaにアクセスできます。

4

3 に答える 3

3

編集:この回答は、デフォルトの作成者を設定する方法ではなく、ログで作成者を変更する方法に関するものです。作成者が正しいものではなかった場合でも、過去数回のコミットを元に戻すのに役立つ可能性があるため、ここで解決策を残しておきます。

編集2:フックスクリプトの例と.batファイルの情報。


詳細はあまり説明しないので、推測する必要があります。最初に考えたのは、変更を検証するために呼び出されるフックスクリプトについてです。その場合、クライアントは問題ではなく、サーバー構成の問題です。

pre-revprop-changeフックスクリプト(<repository>/hooksディレクトリ内、サーバー上)がサーバーによって実行可能であり、作成者の変更を許可していることを確認してください。

これがCの例です:

#include <stdio.h>

int main(int argc, char *argv[])
{
int i;
 char *repos = argv[1];
 char *rev = argv[2];
 char *user = argv[3];
 char *propname = argv[4];
 char *action = argv[5];

 if (!strcmp(action, "M") && !strcmp(propname, "svn:log")) return 0;
 if (!strcmp(action, "M") && !strcmp(propname, "svn:author")) return 0;
 fprintf(stderr, "Changing revision properties other than svn:log or svn:author is prohibited");
 return 1;
} 

SVNサーバーがLinux上にある場合はpre-revprop-change.tmpl、各リポジトリで自動的に作成されるファイルの名前をに変更pre-revprop-changeし、サーバーの実行可能権限を付与することもできます。作成者とログの変更を許可するには、次のようになります。

#!/bin/sh

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi

echo "Changing revision properties other than svn:log or svn:author is prohibited" >&2
exit 1

Windowsの場合:

@echo off
REM pre-revprop-change.bat hook script
if "%4" == "svn:log" exit /b 0
if "%4" == "svn:author" exit /b 0
echo "Changing revision properties %4% is prohibited" >&2
exit /b 1

動作しない場合は、COMSPECまたはPATH変数にサーバーアカウントの適切な値がないか、フックスクリプトのアクセス許可が原因である可能性があります。詳細については、このリンクを確認してください

CollabNetには他にもフックスクリプトの例があります。

詳細については、バージョン管理とSubversionのオンラインブック、およびこちらをご覧ください(次のセクションを確認してください)。

于 2009-11-03T10:32:55.107 に答える
3

Eclipseの場合(ただし、AptanaなどのEclipseベースのIDEで動作するはずです):

SVN Repositoryビューで、目的のリポジトリのにSVN Perpective移動し 、ボックス内の資格情報を変更します。Location PropertiesAuthentication

これからあなたの作者を変えるはずです。

履歴を書き換えたい場合は、RedGlyphのソリューションのようなものを使用する必要があります。

于 2009-11-03T10:49:07.017 に答える
0

Subversion 1.4.xでは、デフォルトpre-revprop-changeファイルで許可されているのはsvn:logのみです。これは、SubversivesvnプラグインでEclipseを使用するときに問題を引き起こす可能性があります。

それを示す魔法のエラーを解決するには

svn:log以外のリビジョンプロパティの変更は禁止されています

svnコマンドの後。この特定の問題を解決するには、

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi

上記のRedGlyphソリューションから。

于 2009-12-12T23:56:01.733 に答える