Doesn't submodules do what you need? And, all submodules get cloned automatically if you just add --recursive to the clone command. It all depends on what you mean by arbitrary location. :).

https://github.com/magnusjjj/gfesys/blob/master/.gitmodules

(I will shut up if you feel this is annoying and shit. Not meant as a besserwisser-y shit or no-clue-as-to-situation or something, and don't want to derail the discussion :). Just nerdsniped me since I have been using the functionality a fair bit and also seen other projects use it for things that *sound* similar to what you are talking about)

Virus-free. www.avast.com

2017-09-07 23:50 GMT+02:00 David Quintana (gigaherz) <gigaherz@gmail.com>:
Answering to Magnus: In svn it's trivial to checkout a subfolder in an arbitrary location and commit and such from that subfolder. This made it easy to have separate root folders for rostests, rosapps, etc. Doing this in git is non-trivial and even if possible, would require multiple clones, which is not wanted.

Answering to Dimitrij: Using mklink in windows requires administrator privileges. It's not a valid option. And XP didn't have proper symlinks, it had junction points which are not quite the same.

Given to the two reasons above, it's much more effective to permanently move the files to inside the modules folder, where the build system already expects it, and change the check from "folder exists" to "this property/variable is set".

On 7 September 2017 at 22:50, Dimitrij Klingbeil <dklingb@gmail.com> wrote:
Hi Colin

How about using links in the local filesystem? On Windows it's possible to use directory links in a similar way to Linux. Starting from Win7 there is a simple native way to do so (the mklink command), but it has already been possible since WinXP (with linkd.exe from the Windows Server 2003 Resource Kit).

It should be possible to keep the modules structure, clone the individual repositories into separate directories locally and link the directories into the target directory with one of the linkd / mklink / ln utilities on the development system. The links can be easily deleted with the normal Windows delete functions if need arises to remove them.

Regards
Dimitrij

----- Original Message ----- From: "Colin Finck" <colin@reactos.org>
To: "'ReactOS Development List'" <ros-dev@reactos.org>
Sent: Thursday, September 07, 2017 7:17 PM
Subject: [ros-dev] Git Migration: The documentation, rossubsys and wallpapers directories


Hi all!

As you know, we have to give up our "modules" directory concept when switching to Git, because Git doesn't support checking out an arbitrary directory into a subdirectory of a Git clone.
Therefore, the first commit to the migrated repository will make the "reactos" directory the new root and move "rosapps" and "rostests" permanently into "modules". We can then introduce an environment variable/CMake variable/something else to enable or disable building of them on demand (suggestions are welcome!)


_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev