Svn 带XCode&;颠覆问题

Svn 带XCode&;颠覆问题,svn,xcode,doxygen,Svn,Xcode,Doxygen,我跟随苹果公司创建了doxygen文档。我确实需要修改脚本,将变量放在引号中,这样当它解析带有空格的目录时,就不会将其视为两个单独的参数 也就是说,我最近转而在XCODE中使用subversion,而不是使用Snapshot之类的东西,因为Snapshot有着臭名昭著的破坏自身和丢失历史的历史。我这样做的过程是为我的项目创建一个类似subversion的目录结构,将其签入SVN,然后从主干签出 我的问题是,当我创建文档时,无论我如何修改我的doxygen配置文件(排除_参数等),它第一次为文档创

我跟随苹果公司创建了doxygen文档。我确实需要修改脚本,将变量放在引号中,这样当它解析带有空格的目录时,就不会将其视为两个单独的参数

也就是说,我最近转而在XCODE中使用subversion,而不是使用Snapshot之类的东西,因为Snapshot有着臭名昭著的破坏自身和丢失历史的历史。我这样做的过程是为我的项目创建一个类似subversion的目录结构,将其签入SVN,然后从主干签出

我的问题是,当我创建文档时,无论我如何修改我的doxygen配置文件(排除_参数等),它第一次为文档创建docset时都没有问题。第二次执行时,它在尝试使用cp命令复制到我的库文档目录时遇到问题,在该目录中安装了它,以便XCODE参考

我已经尝试添加到exclude_parameters.svn*.svn**/.svn**/.svn/*中,但似乎没有任何帮助或影响文档。安装docset之后,我在docset上做了一个chmod,这解决了这个问题,但它实际上只是掩盖了.svn目录仍然存在于文档中这一事实

我想也许创建一个文件夹操作就可以了,但我并没有把苹果的脚本弄得那么糟。这将是一次黑客攻击,但肯定能完成任务

但是,要正确地做到这一点,有人知道如何优雅地(正确地)做到这一点吗


谢谢

我不知道您的问题出在哪里,所以我将尝试描述如何使用svn、doxygen和Xcode。我写了一篇比这个答案更详细的文章,但不幸的是它是用法语写的

关于源文件,我的项目目录结构是扁平的:子文件夹中没有源代码(这是仅使用Xcode管理代码时的默认设置)。我的Doxyfile包含以下设置:

RECURSIVE = NO
这样,
.svn
目录就不会被doxygen解析

关于Docset,my Doxyfile包含以下设置:

GENERATE_DOCSET        = YES
DOCSET_FEEDNAME        = "My wonderful Application"
DOCSET_BUNDLE_ID       = com.example.mywonderfulapp
我的脚本如下所示:

# Where are doxygen and dot (assuming in my own Applications folder)
DOXYGEN_PATH=${HOME}/Applications/Doxygen.app/Contents/Resources
PATH=${DOXYGEN_PATH}:${PATH}
export PATH

# Doxygen documentation generation
doxygen || exit 1

# DOCSET generation
make -C html install || exit 1

# Open DOCSET in Xcode
DOCSET_PATH=Library/Developer/Shared/Documentation/DocSets
open $HOME/$DOCSET_PATH/fr.exemple.doxygentutorial.docset || exit 1

使用这些设置时,我没有遇到与您描述的问题类似的问题。

我不知道您的问题在哪里,因此我将尝试描述如何使用svn、doxygen和Xcode。我写了一篇比这个答案更详细的文章,但不幸的是它是用法语写的

关于源文件,我的项目目录结构是扁平的:子文件夹中没有源代码(这是仅使用Xcode管理代码时的默认设置)。我的Doxyfile包含以下设置:

RECURSIVE = NO
这样,
.svn
目录就不会被doxygen解析

关于Docset,my Doxyfile包含以下设置:

GENERATE_DOCSET        = YES
DOCSET_FEEDNAME        = "My wonderful Application"
DOCSET_BUNDLE_ID       = com.example.mywonderfulapp
我的脚本如下所示:

# Where are doxygen and dot (assuming in my own Applications folder)
DOXYGEN_PATH=${HOME}/Applications/Doxygen.app/Contents/Resources
PATH=${DOXYGEN_PATH}:${PATH}
export PATH

# Doxygen documentation generation
doxygen || exit 1

# DOCSET generation
make -C html install || exit 1

# Open DOCSET in Xcode
DOCSET_PATH=Library/Developer/Shared/Documentation/DocSets
open $HOME/$DOCSET_PATH/fr.exemple.doxygentutorial.docset || exit 1

使用这些设置,我没有遇到像您描述的那样的问题。

您的项目不应该有一个平面目录结构。如果你想国际化怎么办

避免这些cp错误的方法是将DocSet包添加到SVN忽略的文件列表中。如果它被忽略,它就没有版本,如果它没有版本,cp就没有可抱怨的.svn文件

我正在使用命令行SVN客户机,所以YMMV,但我做了以下工作:

  • 首先,svn更新您的工作副本以确保与存储库同步
  • 其次,svn从存储库中删除DocSet目录并提交
  • 第三,构建项目以生成一个新的DocSet目录(这个目录是未版本的)
  • 将其添加到SVN忽略并提交
  • 检查svn状态,确保一切正常。你现在应该可以毫无问题地工作了

我花了几个小时才弄明白这一点,但现在我可以随意构建我的项目,而不会被那些虚假错误所误导,我有我的文档集。

你的项目不应该有一个扁平的目录结构。如果你想国际化怎么办

避免这些cp错误的方法是将DocSet包添加到SVN忽略的文件列表中。如果它被忽略,它就没有版本,如果它没有版本,cp就没有可抱怨的.svn文件

我正在使用命令行SVN客户机,所以YMMV,但我做了以下工作:

  • 首先,svn更新您的工作副本以确保与存储库同步
  • 其次,svn从存储库中删除DocSet目录并提交
  • 第三,构建项目以生成一个新的DocSet目录(这个目录是未版本的)
  • 将其添加到SVN忽略并提交
  • 检查svn状态,确保一切正常。你现在应该可以毫无问题地工作了

我花了几个小时才弄明白这一点,但现在我可以随心所欲地构建我的项目,而不会被那些虚假错误所误导,我有了我的文档集。

完美!我的大多数目录结构都是扁平的,除了一些我认为默认XCode项目放入子目录的文件。我只需要移动那几个文件,设置RECURSIVE=NO就行了。我确实尝试更改输入目录以包含Classes目录,但是关于doc构建的某些内容似乎忽略了这一点。不管怎样,一个扁平的结构似乎工作得更好。谢谢完美的我的大多数目录结构都是扁平的,除了一些我认为默认XCode项目放入子目录的文件。我只需要移动那几个文件,设置RECURSIVE=NO就行了。我确实尝试更改输入目录以包含Classes目录,但是关于doc构建的某些内容似乎忽略了这一点。不管怎样,一个扁平的结构似乎工作得更好。谢谢