或者,为了让 SVN_EDITOR 更加舒适(例如,在必须使用 SvnBridge 的情况下正确链接到 TFS 工作项),可以将以下脚本存储为 ~/bin/svn_editor :
#!/bin/sh
template_file="${@}"
template_file_new="${template_file}.new"
current_work_item_number_file="${HOME}/tfs_work_item_number_current.txt"
[ -f "${current_work_item_number_file}" ] && work_item=$(cat "${current_work_item_number_file}") || work_item="please fill in!"
# Yes folks, this is the TFS convention (hard, NOT-TO-BE-ALTERED text)
# to properly link to work items via SvnBridge commits!
work_item_prefix_hard_tfs_convention_text="work item: "
work_item_text="${work_item_prefix_hard_tfs_convention_text}${work_item}"
custom_text="${work_item_text}\n\n[this addition above initially placed to ignored content part here,\nto ensure properly abortable empty message by default - please move it to active content as needed]"
sed -e 's/\(will be ignored--\)/\1\n'"${custom_text}"'/' "${template_file}" > "${template_file_new}"
mv -f "${template_file_new}" "${template_file}"
$EDITOR "${@}"
然后简单地做
export SVN_EDITOR=~/bin/svn_editor
在 ~/.bashrc 或类似的地方。即使从 Firefox TFS Web 界面中查看的当前工作项页面保持工作项编号文件更新的奖励积分(我认为可能有一种与 Firefox 通信以获取页面标题等的方法)。或者简单地让这个脚本在持久性工作项文件上启动第一个初始编辑器,然后让它在自定义提交模板上运行第二个编辑器。