Svn 将新文件添加到subversion存储库

Svn 将新文件添加到subversion存储库,svn,Svn,我在本地Unix计算机上有一些文件需要添加到存储库(通过HTTPS访问)。我该怎么做 在目录中执行svn commit,只表示它不是工作目录 签出存储库的工作副本(或至少签出要将文件添加到的子目录):svn Checkouthttps://example.org/path/to/repo/bleh 复制那边的文件 svn添加文件1文件2… svn提交 我不知道有什么更快的选择 注意:如果您与Subversion存储库在同一台机器上,URL可以使用文件:说明符,在svn checkout命令中

我在本地Unix计算机上有一些文件需要添加到存储库(通过HTTPS访问)。我该怎么做

在目录中执行
svn commit
,只表示它不是工作目录

  • 签出存储库的工作副本(或至少签出要将文件添加到的子目录):
    svn Checkouthttps://example.org/path/to/repo/bleh
  • 复制那边的文件
  • svn添加文件1文件2…
  • svn提交
我不知道有什么更快的选择

注意:如果您与Subversion存储库在同一台机器上,URL可以使用
文件:
说明符,在
svn checkout
命令中使用路径代替
https:
。例如
svn签出file:///path/to/repo/bleh


PS.正如评论和其他答案中指出的,您可以使用类似于
svn导入的功能如果要递归导入当前目录中的所有内容。但是,使用此选项,您不能跳过某些文件;要么全有,要么全无。

可能
svn import
将是最好的选择。退房(入住)

svn import命令是复制未版本的 将文件放入存储库,创建中间目录作为 必要的。svn导入不需要工作副本,您的文件 立即提交到存储库。您通常使用这个 当您已有要开始的文件树时 在Subversion存储库中进行跟踪。例如:

$ svn import /path/to/mytree \
             http://svn.example.com/svn/repo/some/project \
             -m "Initial import"
Adding         mytree/foo.c
Adding         mytree/bar.c
Adding         mytree/subdir
Adding         mytree/subdir/quux.h

Committed revision 1.
$
上一个示例复制了本地目录mytree的内容 进入存储库中的目录some/project。注意你 不必在svn导入之前创建新目录 为你。提交之后,您可以立即在 存储库:

$ svn list http://svn.example.com/svn/repo/some/project
bar.c
foo.c
subdir/
$
请注意,导入完成后,原始本地目录 未转换为工作副本。在中开始处理该数据 作为一种版本化的方式,您仍然需要创建一个新的工作副本 那棵树


注意:如果您与Subversion存储库在同一台计算机上,则可以使用带有路径的
文件://
说明符,而不是带有URL说明符的
https://

在可以在未版本目录中添加文件之前,必须将目录本身添加到版本控制中:

svn add directory_name

将添加目录
directory\u name
和所有子目录:

通常
svn add*
工作。但如果您收到类似于
svn:warning:w15002:
的消息,这是因为工作副本中混合了非版本文件和非版本文件。使用此命令:

svn add <path to directory> --force

在SVN中添加新文件的步骤

svn add file_name
svn commit -m "text about changes..."
在SVN中的目录中添加新文件

svn add directory_name/file_name
svn commit -m "text about changes"
要在目录中添加所有新文件,并且某些目标(文件)已进行版本控制(添加),请执行以下操作:


svn add*--force更快的选项是使用svn import作为@versionControlBuddysuggests@ChrisMarotta如果您要导入目录或单个文件中的所有内容,但不导入目录中的文件子集,则可以使用此方法<代码>svn导入
仅接受单个路径参数。不过,老实说,我当时不知道
svn import
可以与已经填充的存储库一起使用。无论如何,谢谢你指出这一点!从代码中删除.svn文件夹以避免两个子版本之间的冲突。然后添加文件。@nordmanden您可以尝试
svn导入的
--force
选项。。。但不能保证。我自己不使用SVN。我的猜测是,这根本不受支持/允许-因此,如果它不起作用,您将不得不询问SVN人员原因。@nordmanden我的印象是Subversion合并是在存储库中完成的,比如从分支到主干或从存储库到工作集。因此,如果您执行
签出操作
来创建工作集,然后更新工作集,然后执行提交操作,那么您使用的是Subversion merge,而不是针对它。如果存储库是空的,则导入
应该可以,或者您正在现有存储库中创建一个新文件夹,其中包含内容。svn add directory_name/*svn commit-m“text about changes”这只适用于传输文件。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。在linux中。
svn add directory_name/file_name
svn commit -m "text about changes"
svn add directory_name/*
svn commit -m "text about changes"