Tangled, 진짜 연합형 코드 포지의 등장
The Federated Code Forge

Tangled는 코드를 자기 서버에 두면서도 다른 사람들과 매끄럽게 협업할 수 있는 최초의 연합형 코드 포지다. AT Protocol 기반으로 원하는 구성 요소만 자체 호스팅할 수 있고, 이슈와 PR 같은 협업 데이터도 코드와 함께 저장돼 프로젝트 이식성이 극대화된다. 이번 릴리스에서는 Svelte 기반 새 UI, Rust로 작성된 전역 인메모리 인덱서 bobbin, 조직 계정, 스택형 PR 등이 추가됐다.
프로젝트의 이슈와 풀 리퀘스트는 코드만큼이나 프로젝트의 일부이므로, 어디에 호스팅하든 코드와 함께 있어야 한다.
HN 토론
72- stryan
Tangled이 발전하는 모습을 정말 기대하고 있어요! 저는 사이드 프로젝트가 있는데, 메인 저장소와 CI는 자체 호스팅 Gitea에 있고 코드와 릴리스는 Github에 미러링되어 있어요. 이걸 Gitea에서 Tangled로 옮겨서 코드/릴리스/잠재적으로 CI까지 맡기고, Github는 발견 가능성/백업/네임스페이스 "점유"용으로만 유지하고 싶어요.
다만 git-bug에 Tangled 브리지가 추가되어 이슈를 동기화할 수 있고, (이상적으로는) 클라이언트를 자체 호스팅으로 실행하는 방법에 대한 안내가 있으면 좋겠어요. 완전한 기능의 클라이언트일 필요는 없지만, 메인 Tangled 앱뷰가 다운됐을 때 웹 가시성 측면에서 막막해지고 싶지는 않거든요.
한 가지 생각: 얼마 전 새 머신에 Neovim을 설정하다가 연합형 Git 호스팅에서 첫 "문제"를 겪었어요. 제가 쓰는 플러그인 중 하나가 Tangled에 호스팅되어 있는데, 아마 그걸 뒷받침하는 Knot이 다운된 것 같았어요. 이게 두 가지 이유로 곤란했어요:
1. Tangled 웹사이트에서는 백킹 Knot이 문제라는 걸 알 수 없었어요 (한동안은 제 쪽 문제인 줄 알았죠)
2. Neovim 플러그인의 소스 포지가 다운될 경우에 대한 백업 계획이 전혀 없었고, Neovim 패키지 매니저도 마찬가지였던 것 같아요. 세션을 시작할 때마다 오류만 표시하고 고칠 방법이 없었거든요 :).
장기적으로는 코드 저장소가 항상 거기 있고 어딘가에 쉽게 캐시된다고 가정해서는 안 되겠지만, 당분간은 성장통이 있을 거라고 예상해요. ATProto는 ActivityPub가 가진 이점, 즉 내가 보고 싶은 콘텐츠가 있는 인스턴스가 […]
- icy
안녕하세요! Tangled 공동 창업자입니다. 이번 출시에 정말 기대가 큽니다 -- AT Protocol 렉시콘을 안정화했고, 아키텍처와 UI를 완전히 개편했으며, 전체 스택(또는 일부!)을 자체 호스팅하는 것을 놀라울 정도로 쉽게 만들었습니다. 조직 지원도 출시했고, 몇 주 안에 비공개 저장소도 출시할 예정입니다.
질문이 있으시면 무엇이든 답변해 드리겠습니다.
- ivanjermakov
핀란드 스타트업 Tangled, 코드 협업을 재창조하기 위해 380만 유로 투자 유치 https://www.vestbee.com/insights/articles/tangled-raises-3-8...
- pksunkara
게시물에서 렉시콘이 확정되었다고 봤습니다. 여기에 이슈, PR 및 댓글 레코드를 사용자 범위 대신 저장소 범위로 두는 것도 포함되나요?
여쭤보는 이유는 그 변경을 기다려 왔기 때문입니다. https://juju.bi (제가 만들고 있는 코드 포지)의 모든 공개 저장소를 Tangled와 상호 운용 가능하게 만들고 기본적으로 knot 서버처럼 동작하게 할 계획입니다.
- eterm
다음을 실행해 봤습니다:
git clone https://tangled.org/tangled.org/core
그런데 실패했나요?
Cloning into 'core'...
warning: redirecting to https://knot1.tangled.sh/did:plc:j5hmlfdrwkvtxm7cjmu7j2is/
remote: Thanks for using knot1.tangled.sh!
remote: Enumerating objects: 99191, done.
remote: Total 99191, done.
Receiving objects: 100% (99191/99191), 122.19 MiB | 39.12 MiB/s, done.
Resolving deltas: 100% (49286/49286), done.
error: invalid path 'localinfra/fixtures/blobs/did:plc:igzuueb63dytyy3tpaweofuu bafkreieify5bix4cmrj4iuxiceb6srr2boltkbbf7yizwtgwurqv42sltm'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
and retry with 'git restore --source=HEAD :/'
You can inspect what was checked out with 'git status'
제가 가장 먼저 시도하고 싶었던 일이 이렇게 되는 건 별로 좋은 모습이 아니네요:
1. .org에서 .sh로의 리다이렉트가 수상함
2. 실패함.
이제 저 도메인이 의도된 것인지 아니면 침해된 것인지 알아내야 합니다.