Make Csocket as a submodule in git #347

Closed
opened 2026-10-05 04:14:28 +02:00 by adam · 6 comments
Owner

Current "Csocket merges" are dumb and doesn't provide any meaningful Csocket changelog. Moreover it breaks Github links.

For example: https://github.com/znc/znc/commit/6012cdee77c4e11879537c973177d138b9e66006
Good luck finding exact change that added charset support here. Also link in commit message is broken.

Yes, I can go to Csocket repository and check there, but that's what submodules actually do.

Current "Csocket merges" are dumb and doesn't provide any meaningful Csocket changelog. Moreover it breaks Github links. For example: https://github.com/znc/znc/commit/6012cdee77c4e11879537c973177d138b9e66006 Good luck finding exact change that added charset support here. Also link in commit message is broken. Yes, I can go to Csocket repository and check there, but that's what submodules actually do. <!-- github-sync-id:36284448 -->
adam closed this issue 2026-10-05 04:14:28 +02:00
Author
Owner

I am not very aware on submodule, but I am not ZNC developer either.

I have considered them, but they are actively suggested against.

I am not very aware on submodule, but I am not ZNC developer either. I have considered them, but they are actively suggested against. - http://somethingsinistral.net/blog/git-submodules-are-probably-not-the-answer/ - Related to this: "You are tracking specific commits with git submodules - not branches, not references, a single commit." - I understand this: "CSocket will never be updated if it's submodule", but as I said, I don't know anything about submodules nor am developer. - http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/ - https://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/ <!-- github-comment-id:46836177 -->
Author
Owner

Related to this: "You are tracking specific commits with git submodules - not branches, not references, a single commit."

I understand this: "CSocket will never be updated if it's submodule", but as I said, I don't know anything about submodules nor am developer.

Erm, you don't understand how submodules work. Right now with "Csocket merges" znc keeps track for the commits close enough to Csocket HEAD. Submodules allows you to do the same in the sane way. Submodule just a reference to the commit in external repository, nothing stops you from updating this link to newer commit in future.

Also as a side note submodule would prevent situation like #569, when user doesn't know that Csocket is a separate project.

> Related to this: "You are tracking specific commits with git submodules - not branches, not references, a single commit." > > I understand this: "CSocket will never be updated if it's submodule", but as I said, I don't know anything about submodules nor am developer. Erm, you don't understand how submodules work. Right now with "Csocket merges" znc keeps track for the commits close enough to Csocket HEAD. Submodules allows you to do the same in the sane way. Submodule just a reference to the commit in external repository, nothing stops you from updating this link to newer commit in future. Also as a side note submodule would prevent situation like #569, when user doesn't know that Csocket is a separate project. <!-- github-comment-id:46838143 -->
Author
Owner

I have many failed attempts at trying to do this. Would be great if you could contribute a pull request doing this @z0rc.

I have many failed attempts at trying to do this. Would be great if you could contribute a pull request doing this @z0rc. <!-- github-comment-id:46841008 -->
Author
Owner

You can find my branch where I attempted this at https://github.com/kylef/znc/commit/aba5c01cea6998b977d76f0081eafee96786c5ae, might be a good start.

You can find my branch where I attempted this at https://github.com/kylef/znc/commit/aba5c01cea6998b977d76f0081eafee96786c5ae, might be a good start. <!-- github-comment-id:46841192 -->
Author
Owner

I want to get rid of Csocket, and I'm writing the replacement, but it's not ready yet...
Until it's done, having Csocket as submodule would be cleaner than now, I agree.

I want to get rid of Csocket, and I'm writing the replacement, but it's not ready yet... Until it's done, having Csocket as submodule would be cleaner than now, I agree. <!-- github-comment-id:46890238 -->
Author
Owner

Closing, see details at linked PR.

Closing, see details at linked PR. <!-- github-comment-id:46961871 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#347