Skip to main content

max / makenotwork

3.9 KB · 119 lines History Blame Raw
1 # Git Source Browser
2
3 Host your project's source code alongside your releases. Fans and collaborators can browse code, read commit history, and view diffs without leaving the platform.
4
5 ## Creating a Repository
6
7 Push to the platform via SSH and the repository appears automatically. No web UI for creating empty repos.
8
9 ### SSH Setup
10
11 1. Go to Settings > SSH Keys
12 2. Add your public key
13 3. Push to your repo:
14
15 ```
16 git remote add mnw git@ssh.makenot.work:username/repo-name.git
17 git push mnw main
18 ```
19
20 The remote URL format is `git@ssh.makenot.work:username/repo-name.git`.
21
22 ## Browsing Code
23
24 Your repository is available at `/git/username/repo-name`. The source browser provides:
25
26 - **Tree view**: Browse files and directories at any ref (branch, tag, or commit)
27 - **File view**: Read individual files with syntax highlighting
28 - **Commit log**: Paginated history (25 commits per page) for any branch
29 - **Commit detail**: Full diff with inline additions and deletions (capped at 100 files / 10,000 lines)
30 - **Blame view**: Per-line commit attribution
31 - **Per-file history**: Commit log filtered to a single file's changes
32 - **Raw file access**: View or download raw file contents at `/git/username/repo-name/raw/branch/path/to/file`
33 - **Ref selector**: Switch between branches and tags from any view
34 - **Notes**: Annotations attached to commits and files, rendered wherever the object appears. See [Git Notes]./git-notes.md.
35
36 The overview shows the tree at HEAD and renders README.md as HTML if present.
37
38 ## Visibility
39
40 Repositories can be public or private:
41
42 - **Public**: Anyone can browse the source. Listed on your profile and the explore page.
43 - **Private**: Only you (the owner) can view. Does not appear in listings.
44
45 Set visibility from the repository settings page.
46
47 ## Explore Page
48
49 The public explore page at `/git` lists all public repositories, paginated 15 per page.
50
51 ## Cloning via HTTPS
52
53 Clone over HTTPS (read-only):
54
55 ```
56 git clone https://makenot.work/git/username/repo-name.git
57 ```
58
59 ## Collaborators
60
61 Add collaborators with push access from the repository settings page. Collaborators also get read access to private repositories they're added to.
62
63 ## Issue Tracker
64
65 Each repository has an email-driven issue tracker. Issues are created and replied to via email, with a read-only web interface for browsing.
66
67 ### Viewing Issues
68
69 Browse issues at `/git/username/repo-name/issues`. The list shows open and closed issues with search and filtering.
70
71 Click any issue to see its full description and comment thread.
72
73 ### Creating an Issue
74
75 Send an email to:
76
77 ```
78 username+repo-name@issues.makenot.work
79 ```
80
81 The email subject becomes the issue title. The email body becomes the issue description.
82
83 You must send from an email address associated with a verified MNW account.
84
85 ### Replying to an Issue
86
87 Reply to the notification email you received, or use the reply address shown in the issue detail. Replies are threaded into the existing issue as comments.
88
89 ### Issue References in Commits
90
91 Commit messages can reference issues. Push a commit with `closes #123` or `fixes #123` in the message, and the referenced issue is automatically closed.
92
93 ### Issue Settings
94
95 From the repository settings page, you can configure:
96
97 - Whether issues are enabled for the repository
98 - Custom email domain for issue submissions (if using a custom domain)
99
100 ## Patch Submissions
101
102 Submit patches via `git send-email`. Patches are routed to a discussion thread on Multithreaded (the platform's forum):
103
104 ```
105 project-slug@patches.makenot.work
106 ```
107
108 Multi-part patch series are grouped automatically using `In-Reply-To` and `References` headers. The sender must have a verified MNW account.
109
110 ## Linking Releases
111
112 If your repository is associated with a project, releases are linked in the repository view.
113
114 ## See Also
115
116 - [Git Notes]./git-notes.md: Annotating commits, and how to fetch and push notes
117 - [Content & Items]./02-content.md: Publishing releases
118 - [Projects]./projects.md: Project setup
119