Git clone with subdirectories?

Hi, I’m trying to clone a Git repo (stored on Azure btw) and not having much luck using KSE 8.0.5.
The repo I am trying to clone has a subdirectory (named “KatWeb”), which contains the Katalon project - there is nothing else in the repo root. How do I clone a repo with such a setup?

When I clone the repo, Katalon creates a project structure for me, also containing folder “KatWeb”(eg it creates a new .prj file, empty test case/scrip folders etc).
When I open folder “KatWeb” itself in Katalon, I see another complete project structure, but none of the files are configured correctly - eg Test Cases appear in the navigator with suffix .tc and opens as an xml document, rather than the test script expected.

What I am expecting is to end up with an identical clone of the remote repo - ie zero files in the directory root, a single folder named “KatWeb”. Upon opening KatWeb in Katalon I would expect to see the project structure and all expected test cases. Katalon Git integration appears to struggle if the repo to clone does not have everything in the top level.

Usually a Katalon project would be like:

    + --- .git
    +--- KatWeb.prj
    +--- Test Cases, etc

On the other hand, you meant your project likes this. Am I right?

    + --- .git
    + --- KatWeb
            +--- KatWeb.prj
            +--- Test Cases, etc

And, in Katalon Studio GUI, you want to open the “KatWeb” as a project, don’t you?

This looks very unusual.

The key issue here is: where the .git directory is located.

I guess, the “Git Integration” feature of Katalon Studio naively assumes that the .git directory is located in the Katalon project directory (KatWeb). But in your case, the .git is not there. So the “Git Integration” gets at a loss.

I do not think, “Git Integration” can cope with this irregular case.

In this unusual case, I suppose, you should not rely on the “Git Integration” feature in the Katlaon Studio GUI.

But you can use “git” in the command line, and can achieve everything.

In the command line, you want to do

$ git clone parentProject
$ cd parentProject
$ git add ...
$ git status .
$ git commit -m "..."
$ git push

you can do whatever git operations.

On the other hand, in Katalon Studio GUI, you open “yourProject/KatWeb” project. That would also work with no problem.

However, you can not use “Git Integration in Katalon Studio”, because the .git directory is not found in the project directory.

Hi @kazurayam

thank you, your summary of the project structure is spot on and a lot clearer than my explanation!
The objective in using subdirectories was to organise the system more effectively, by adding multiple projects to the same repo. Our previous version control system would have no issue with this because mapping was done at whatever directory level the user desired - it seems Git is a bit more rigid, or at least the Katalon implementation of it.
Appreciate the suggestion to use command line but for now I think the easiest way forward is to keep a single project per repository, so keeping .git directory within the project directory and creating extra repositories as required.
Thanks for your detailed answer and for putting me back on track! :slight_smile:
Regards Dan

I think that Git is the most robust software ever in the world.

Katalon is not necessarily so.

Yes, that is the easiest way.

1 Like