2015-05-11 4 views
2

Следуя моим предыдущим question, я бы хотел, чтобы я автоматически добавлял ключевые слова SVN, когда я беру команду из командной строки. НапримерSVN ключевые слова config

/** 
* $LastChangedDate$ 
*/ 

Станет

/** 
* $LastChangedDate: 2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006) $ 
*/ 

У меня есть файл ~/.subversion/конфигурация следующим образом (обратите внимание на альманах раздел Enable-Автосвойство = да и Автосвойство раздел * .java значение)

### This file configures various client-side behaviors. 
### 
### The commented-out examples below are intended to demonstrate 
### how to use this file. 

### Section for authentication and authorization customizations. 
[auth] 
### Set password stores used by Subversion. They should be 
### delimited by spaces or commas. The order of values determines 
### the order in which password stores are used. 
### Valid password stores: 
### gnome-keyring  (Unix-like systems) 
### kwallet    (Unix-like systems) 
### keychain    (Mac OS X) 
### windows-cryptoapi (Windows) 
# password-stores = keychain 
# password-stores = windows-cryptoapi 
#else 
# password-stores = gnome-keyring,kwallet 
### 
### Set KWallet wallet used by Subversion. If empty or unset, 
### then the default network wallet will be used. 
# kwallet-wallet = 
### 
### Include PID (Process ID) in Subversion application name when 
### using KWallet. It defaults to 'no'. 
# kwallet-svn-application-name-with-pid = yes 
### 
### The rest of this section in this file has been deprecated. 
### Both 'store-passwords' and 'store-auth-creds' can now be 
### specified in the 'servers' file in your config directory. 
### Anything specified in this section is overridden by settings 
### specified in the 'servers' file. 
### 
### Set store-passwords to 'no' to avoid storing passwords in the 
### auth/ area of your config directory. It defaults to 'yes', 
### but Subversion will never save your password to disk in 
### plaintext unless you tell it to (see the 'servers' file). 
### Note that this option only prevents saving of *new* passwords; 
### it doesn't invalidate existing passwords. (To do that, remove 
### the cache files by hand as described in the Subversion book.) 
# store-passwords = no 
### Set store-auth-creds to 'no' to avoid storing any subversion 
### credentials in the auth/ area of your config directory. 
### It defaults to 'yes'. Note that this option only prevents 
### saving of *new* credentials; it doesn't invalidate existing 
### caches. (To do that, remove the cache files by hand.) 
# store-auth-creds = no 

### Section for configuring external helper applications. 
[helpers] 
### Set editor-cmd to the command used to invoke your text editor. 
### This will override the environment variables that Subversion 
### examines by default to find this information ($EDITOR, 
### et al). 
# editor-cmd = editor (vi, emacs, notepad, etc.) 
### Set diff-cmd to the absolute path of your 'diff' program. 
### This will override the compile-time default, which is to use 
### Subversion's internal diff implementation. 
# diff-cmd = diff_program (diff, gdiff, etc.) 
### Set diff3-cmd to the absolute path of your 'diff3' program. 
### This will override the compile-time default, which is to use 
### Subversion's internal diff3 implementation. 
# diff3-cmd = diff3_program (diff3, gdiff3, etc.) 
### Set diff3-has-program-arg to 'yes' if your 'diff3' program 
### accepts the '--diff-program' option. 
# diff3-has-program-arg = [yes | no] 
### Set merge-tool-cmd to the command used to invoke your external 
### merging tool of choice. Subversion will pass 4 arguments to 
### the specified command: base theirs mine merged 
# merge-tool-cmd = merge_command 

### Section for configuring tunnel agents. 
[tunnels] 
### Configure svn protocol tunnel schemes here. By default, only 
### the 'ssh' scheme is defined. You can define other schemes to 
### be used with 'svn+scheme://hostname/path' URLs. A scheme 
### definition is simply a command, optionally prefixed by an 
### environment variable name which can override the command if it 
### is defined. The command (or environment variable) may contain 
### arguments, using standard shell quoting for arguments with 
### spaces. The command will be invoked as: 
### <command> <hostname> svnserve -t 
### (If the URL includes a username, then the hostname will be 
### passed to the tunnel agent as <user>@<hostname>.) If the 
### built-in ssh scheme were not predefined, it could be defined 
### as: 
# ssh = $SVN_SSH ssh -q 
### If you wanted to define a new 'rsh' scheme, to be used with 
### 'svn+rsh:' URLs, you could do so as follows: 
# rsh = rsh 
### Or, if you wanted to specify a full path and arguments: 
# rsh = /path/to/rsh -l myusername 
### On Windows, if you are specifying a full path to a command, 
### use a forward slash (/) or a paired backslash (\\\\) as the 
### path separator. A single backslash will be treated as an 
### escape for the following character. 

### Section for configuring miscelleneous Subversion options. 
[miscellany] 
### Set global-ignores to a set of whitespace-delimited globs 
### which Subversion will ignore in its 'status' output, and 
### while importing or adding files and directories. 
### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'. 
# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo 
# *.rej *~ #*# .#* .*.swp .DS_Store 
### Set log-encoding to the default encoding for log messages 
# log-encoding = latin1 
### Set use-commit-times to make checkout/update/switch/revert 
### put last-committed timestamps on every file touched. 
# use-commit-times = yes 
### Set no-unlock to prevent 'svn commit' from automatically 
### releasing locks on files. 
# no-unlock = yes 
### Set mime-types-file to a MIME type registry file, used to 
### provide hints to Subversion's MIME type auto-detection 
### algorithm. 
# mime-types-file = /path/to/mime.types 
### Set preserved-conflict-file-exts to a whitespace-delimited 
### list of patterns matching file extensions which should be 
### preserved in generated conflict file names. By default, 
### conflict files use custom extensions. 
# preserved-conflict-file-exts = doc ppt xls od? 
### Set enable-auto-props to 'yes' to enable automatic properties 
### for 'svn add' and 'svn import', it defaults to 'no'. 
### Automatic properties are defined in the section 'auto-props'. 
enable-auto-props = yes 
### Set interactive-conflicts to 'no' to disable interactive 
### conflict resolution prompting. It defaults to 'yes'. 
# interactive-conflicts = no 

### Section for configuring automatic properties. 
[auto-props] 
### The format of the entries is: 
### file-name-pattern = propname[=value][;propname[=value]...] 
### The file-name-pattern can contain wildcards (such as '*' and 
### '?'). All entries which match (case-insensitively) will be 
### applied to the file. Note that auto-props functionality 
### must be enabled, which is typically done by setting the 
### 'enable-auto-props' option. 
# *.c = svn:eol-style=native 
# *.cpp = svn:eol-style=native 
# *.h = svn:keywords=Author Date Id Rev URL;svn:eol-style=native 
# *.dsp = svn:eol-style=CRLF 
# *.dsw = svn:eol-style=CRLF 
# *.sh = svn:eol-style=native;svn:executable 
# *.txt = svn:eol-style=native;svn:keywords=Author Date Id Rev URL; 
# *.png = svn:mime-type=image/png 
# *.jpg = svn:mime-type=image/jpeg 
*.java = svn:keywords=LastChangedDate LastChangedRevision LastChangedBy HeadURL 
# Makefile = svn:eol-style=native 

Однако если внести изменения в исходный файл Java, а затем сделать svn commit$LastChangedDate$ не замещен. Что мне не хватает?

ответ

3

От http://svnbook.red-bean.com/en/1.8/svn.advanced.props.html#svn.advanced.props.auto:

Свойство svn:auto-props работает как конфигурации во время выполнения автоматически устанавливать свойства файлов, когда они добавлены или импортированы.

Вы можете проверить, что Автосвойства применяется к файлу или реж перед добавлением к репо, как так:

svn propget svn:auto-props -v --show-inherited-props <yourfile> 

И проверить реквизита в действие после того:

svn proplist -v <yourfile> 
Смежные вопросы