Giter VIP home page Giter VIP logo

Comments (4)

richbl avatar richbl commented on August 23, 2024

@BowlOfSoup, very strange. It seems as if there's some kind of permissions issue here, but I'm unable to repro the issue. I just did a clean clone --recursive, and had expected results:

Cloning into 'old-files-delete'...
remote: Enumerating objects: 65, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 65 (delta 8), reused 15 (delta 7), pack-reused 45
Receiving objects: 100% (65/65), 28.67 KiB | 402.00 KiB/s, done.
Resolving deltas: 100% (28/28), done.
Submodule 'bash-lib' ([email protected]:richbl/bash-lib.git) registered for path 'bash-lib'
Cloning into '/home/richbl/Documents/dev/old-files-delete/bash-lib'...
remote: Enumerating objects: 54, done.        
remote: Counting objects: 100% (10/10), done.        
remote: Compressing objects: 100% (8/8), done.        
remote: Total 54 (delta 2), reused 6 (delta 2), pack-reused 44        
Receiving objects: 100% (54/54), 28.59 KiB | 2.04 MiB/s, done.
Resolving deltas: 100% (16/16), done.

I'll continue to investigate, but in the meantime, the workaround is to clone the base project (this project, old-files-delete) without the --recursive switch, then cd into the newly created project directory and separately clone the submodule project (bash-lib). The result will be the same: the bash-lib folder should now be populated with the appropriate submodule project files available to the old-files-delete parent project.

I suspect some changes have occurred with the permissions handling of Git submodules on Github. More to come.

from old-files-delete.

richbl avatar richbl commented on August 23, 2024

@BowlOfSoup, did a bit of research and the quickest solution was to update the project .gitmodule file to use http instead of ssh (default). I've updated this file appropriately. Please confirm that this works for your use case.

In the meantime, I'll investigate a more appropriate solution of syncing public keys between git projects and submodules.

Thanks

from old-files-delete.

richbl avatar richbl commented on August 23, 2024

To follow up, here's a good explanation of how Github manages Git submodules formatting, particularly as it relates to its use of SSH by default over HTTPS. https://github.com/orgs/community/discussions/21659

So, in short, using SSH with Github and submodules should always work, provided that you have a valid Github SSH key. Otherwise, using HTTPS (which usually just works) can potentially cause issues if the related .gitmodules file is not also configured to use HTTPS.

In my quick configuration tests, it appears that reconfiguring a SSH-configured .gitmodules files to use HTTPS works with both HTTPS and SSH use cases. And so, hence the change made here to update that file appropriately to use HTTPS.

@BowlOfSoup, I'll wait until I hear back from you before closing this issue. If I don't get a response in the next week, I'll assume the issue is appropriately resolved.

Thanks for identifying and reporting this unusual Git/Github issue.

from old-files-delete.

BowlOfSoup avatar BowlOfSoup commented on August 23, 2024

Thanks! It works for me now 👍

from old-files-delete.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.