Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure:leiningen(--force)和git交互_Clojure_Leiningen - Fatal编程技术网

Clojure:leiningen(--force)和git交互

Clojure:leiningen(--force)和git交互,clojure,leiningen,Clojure,Leiningen,假设我有一个由git clone创建的(leiningen)项目树。这可能是通过lein new template创建的项目的子集,这是完全合法的。有一个--force选项可以将lein项目滚动到已经存在的合适的源代码树上--或者我认为是这样。我试过了,像这样: $ lein new app alfa --force 它用模板存根替换了所有源文件。我做错了什么 具有开创性的讨论:这里没有任何错误,这就是强制选项的工作方式。如果您的项目已包含leiningen项目的某些文件和文件夹子集,则如果这

假设我有一个由git clone创建的(leiningen)项目树。这可能是通过lein new template创建的项目的子集,这是完全合法的。有一个--force选项可以将lein项目滚动到已经存在的合适的源代码树上--或者我认为是这样。我试过了,像这样:

$ lein new app alfa --force
它用模板存根替换了所有源文件。我做错了什么


具有开创性的讨论:

这里没有任何错误,这就是强制选项的工作方式。如果您的项目已包含leiningen项目的某些文件和文件夹子集,则如果这些文件和文件夹已存在于项目目录中,则它们将被覆盖。考虑到正在运行的任务被称为“新建”,这似乎是一种常规行为。它是在假设这确实是一个新项目的情况下运行的,但已经创建了一个目录。

到目前为止,这种推理对我来说有点神秘。这意味着现有的目录是无用的,可以事先手动删除,也可以根本不创建。例如,lein idefiles任务的存在是有明显原因的,它不是破坏性的。我处理您所处场景的方法是在新目录上使用lein new,而不使用force选项,然后将文件从本地git目录复制到新创建的目录中,用git中的文件覆盖模板文件。然后将上游设置为指向新目录中的git repo。如果没有其他方法。。。但是--force选项的用途是什么呢?创建一个git repo,将其克隆到磁盘上的一个目录,运行lein new。。。无强制=>错误。强制选项将模板文件写入现有目录。我认为它的设计只是考虑到了这种情况。最好能有一个无覆盖选项。