1

会社のマシンで作業していますが、Windows ユーザー名の名前を変更できません。TortoiseSvn をローカルで実行していて、コミットを自分の名前に変更したいと考えています。各コミットを右クリックして手動で名前を変更したくありません。これを行う方法はありますか?これについていくつかのスレッドがあることは知っていますが、解決策はありません。

4

1 に答える 1

2

はい、それを行う方法はありますが、おそらくできないでしょう。

Subversion には、2 種類のプロパティがあります。ファイル自体でリビジョンされるファイル プロパティと、ファイルではなくリビジョンに添付されるリビジョン プロパティです。これらはバージョン管理されていません。

いくつかの標準リビジョン プロパティがあります。

  • svn:log : これはコミット コメントです。
  • svn:author : これはコミットを行ったユーザーです。
  • svn:date : これはコミットの日時スタンプです。

次のコマンドを使用して、これらのリビジョン プロパティを変更できます。

$ svn pset svn:log --rev-prop -r193 "The commit comment for revsion #193 is this!"

PowerShell、Python、または Perl でスクリプトを記述して、大量のリビジョンに対して一度にこれを実行するのはかなり簡単です。ただし、気まぐれに Subversion リビジョンの日付、作成者、およびコミット コメントを変更できるとしたら、これがどのような大惨事になるか想像できます。

したがって、変更を使用できるようにするにはrev-prop、リポジトリにフックが必要です。これは、許可されたアクションを明示的に許可するフックが必要な唯一のケースです。そしてもちろん、あなたがそのようなフックを作成する能力を持っているかどうかは非常に疑わしい.


さて、すでにコミットされたリビジョンについて話していると思います。作業コピーを共有していて、変更を加えて、他の全員と一緒にそれらの変更をコミットする場合、Subversion をまったく間違って使用しています。

各ユーザーには、変更を加えることができる独自の作業ディレクトリが必要です。このようにして、レポジトリは誰がコミットしたかを不正行為なしに記録します。


Windows 名以外の名前でリポジトリからチェックアウトするだけの場合は、認証をローカル マシンに保存できます。Subversion は、そのリポジトリからチェックアウトするときにその認証を使用します。

認証は %HOMEPATH%.subversion\auth ディレクトリに保存されていると思います。承認済みのファイルを見つけて削除するのにそれほど時間はかかりません。次に、次回チェックアウトするときに、ユーザーとパスワードを指定し、資格情報を保存する必要があります。その後、そのリポジトリを使用するときに TortoiseSVN がデフォルトで使用するものです。


これは、Subversion と資格情報を使用する際の 3 つの異なる状況をカバーする 3 つの異なる回答です。正しいシナリオに答えていない場合は、質問を編集して、何を意味し、何を達成したいのかを正確に説明してください。あなたが説明する状況はあまり明確ではありません。

于 2012-09-14T02:17:07.487 に答える