嗨,我想知道SVN服务器是否有办法在任何二进制文件而不是文本文件上自动分配svn:needs-lock属性.
我们有一个相当小的开发团队,但是每个人都要记住在新创建的二进制文件上设置这个属性是没有意义的,因为它很容易忘记这样的事情.
我知道我可以使用以下命令配置文件夹和文件以便被subversion忽略:
svn propset svn:ignore build . // Ignores the build folder.
svn propedit svn:ignore . // Opens an editor.
Run Code Online (Sandbox Code Playgroud)
虽然,我git svn用来检查存储在subversion服务器上的存储库.我找不到以这种方式进行配置的命令.以下列表显示了zsh完成建议的所有命令git svn:
$ git svn
blame -- show what revision and author last modified each line of a file:
branch -- create a branch in the SVN repository
clone -- same as init, followed by fetch
commit-diff -- commit diff of two tree-ishs
create-ignore -- recursively finds the svn:ignore property and creates .gitignore files …Run Code Online (Sandbox Code Playgroud) 是否可以操纵subversion属性,例如svn:externals仅通过URL?(即没有工作副本.)
我想要一个脚本,svn:externals在给定subversion URL的情况下固定到特定版本,但这似乎是不可能的:
$ svn propset foo bar https://example.com/svn/myproject/trunk
svn: Setting property on non-local target 'https://example.com/svn/myproject/trunk' needs a base revision
$ svn propset foo bar -r HEAD https://example.com/svn/myproject/trunk
svn: Try 'svn help' for more info
svn: Cannot specify revision for setting versioned property 'foo'
$ svn propset foo bar --revprop -r HEAD https://example.com/svn/myproject/trunk
svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svn: At least one property change failed; …Run Code Online (Sandbox Code Playgroud) 我已经阅读了有关如何使用TortoiseSVN编辑日志消息的所有文章.我已经能够做到这一点很好.
但是,我想看看我在服务器上所做的更改是否可以在本地看到,我在本地进行的更改可以在服务器上看到.当我在服务器上进行更改并在本地查看它们时,这似乎正常工作.但是,当我在本地对编辑日志消息进行更改时,似乎两者之间的更改不再可见.
但是,当我转到编辑日志消息时,我能够看到消息..但它不会显示在日志中.其他人有这个问题吗?
这是我在本地编辑日志时得到的.请注意我已从服务器上的服务器添加,它在本地编辑日志中显示,但不显示在显示日志屏幕上 http://imgur.com/zljdE1i
我错过了某种刷新吗?我试过关闭SVN并重新开放,但这没有帮助.
更新:看起来像我已经回答了我的问题:看到部分修改日志消息和作者的的版本日志对话框帮助页面
由于TortoiseSVN会保留所有日志信息的缓存,因此对作者和日志消息的编辑只会显示在本地安装上.使用TortoiseSVN的其他用户仍会看到缓存(旧)作者和日志消息,直到他们刷新日志缓存.
因此,只需在存储库中右键单击并转到TortoiseSVN>设置>日志缓存并禁用/启用日志缓存或在缓存存储库下,选择所需的并更新.
我使用git-svn来保存共享Subversion存储库的克隆.最近有人编辑的修订提交的信息(一拉 这太问题)后,我曾git svn fetch编那个版本.如何更正我的Git克隆以获得正确的提交消息?
我原本期望git svn reset接下来git svn fetch重新提交这个提交并更新一些东西,让我只需要修复我的本地分支,但实际上并没有做任何事情; 在git svn fetch不重新获取我重置为提交.
(是的,我认为更改提交消息是一个坏主意,但这不是我可以控制的.)
更新:我尝试了sleske建议的过程(事实上,我在问这个问题之前尝试过,但我只是为了以防再次尝试),但没有运气.我得到如下输出:
me_and@centos ~/code ((358a2dd...)) Fri 16 Jan 15:31:27
$ git svn reset -p 55102
r55094 = 25d126219f7eeddfc7d0842704c7efcc0443dd70 (refs/remotes/origin/branchname)
me_and@centos ~/code ((358a2dd...)) Fri 16 Jan 15:33:06
$ git svn fetch
me_and@centos ~/code ((358a2dd...)) Fri 16 Jan 15:33:08
$
Run Code Online (Sandbox Code Playgroud)
没有输出git svn fetch(或者自从我上次运行以来是否存在提交,但它只是获取新提交,而不是重新提交旧提交),特别rereading是在sleske的示例中没有消息.
如果相关,我使用的是Git v2.0.4.
更新2:.git/config下面稍作修改:
[core]
repositoryformatversion = 0
filemode = …Run Code Online (Sandbox Code Playgroud) 我正在使用以下命令行在Windows机器上创建一个忽略列表:
svn propset svn:ignore "bin" Fardis.Test
Run Code Online (Sandbox Code Playgroud)
目录树结构是:
\src\
\src\Fardis.Test\
\src\Fardis.Test\bin\
\src\Fardis.Test\obj\
Run Code Online (Sandbox Code Playgroud)
我在当前目录中运行该命令\src.这工作正常,但我想将另一个文件夹添加\src\Fardis.Test\obj\到忽略列表,但它失败了.我尝试了以下方法:
svn propset svn:ignore "bin obj" Fardis.Test
svn propset svn:ignore "bin, obj" Fardis.Test
svn propset svn:ignore "bin; obj" Fardis.Test
Run Code Online (Sandbox Code Playgroud)
在发出其中一个之后,svn status表明没有文件夹bin或obj被添加到忽略列表中.
我怎么解决这个问题?
我的应用程序/admin/debug/output中有一个目录,其中包含一个目录和一堆JavaScript文件.在完成svn st提交代码之前,我想完全忽略它们.
我使用这样的propsetcommant来忽略它,但它似乎没有效果:
svn propset svn:ignore admin/debug/output/ . (我从根跑了这个)
property 'svn:ignore' set on '.'
Run Code Online (Sandbox Code Playgroud)
为什么SVN在做的时候仍然认识到这一点svn st?