Skip to main content

max / makenotwork

3.7 KB · 117 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
35 The overview shows the tree at HEAD and renders README.md as HTML if present.
36
37 ## Visibility
38
39 Repositories can be public or private:
40
41 - **Public**: Anyone can browse the source. Listed on your profile and the explore page.
42 - **Private**: Only you (the owner) can view. Does not appear in listings.
43
44 Set visibility from the repository settings page.
45
46 ## Explore Page
47
48 The public explore page at `/git` lists all public repositories, paginated 15 per page.
49
50 ## Cloning via HTTPS
51
52 Clone over HTTPS (read-only):
53
54 ```
55 git clone https://makenot.work/git/username/repo-name.git
56 ```
57
58 ## Collaborators
59
60 Add collaborators with push access from the repository settings page. Collaborators also get read access to private repositories they're added to.
61
62 ## Issue Tracker
63
64 Each repository has an email-driven issue tracker. Issues are created and replied to via email, with a read-only web interface for browsing.
65
66 ### Viewing Issues
67
68 Browse issues at `/git/username/repo-name/issues`. The list shows open and closed issues with search and filtering.
69
70 Click any issue to see its full description and comment thread.
71
72 ### Creating an Issue
73
74 Send an email to:
75
76 ```
77 username+repo-name@issues.makenot.work
78 ```
79
80 The email subject becomes the issue title. The email body becomes the issue description.
81
82 You must send from an email address associated with a verified MNW account.
83
84 ### Replying to an Issue
85
86 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.
87
88 ### Issue References in Commits
89
90 Commit messages can reference issues. Push a commit with `closes #123` or `fixes #123` in the message, and the referenced issue is automatically closed.
91
92 ### Issue Settings
93
94 From the repository settings page, you can configure:
95
96 - Whether issues are enabled for the repository
97 - Custom email domain for issue submissions (if using a custom domain)
98
99 ## Patch Submissions
100
101 Submit patches via `git send-email`. Patches are routed to a discussion thread on Multithreaded (the platform's forum):
102
103 ```
104 project-slug@patches.makenot.work
105 ```
106
107 Multi-part patch series are grouped automatically using `In-Reply-To` and `References` headers. The sender must have a verified MNW account.
108
109 ## Linking Releases
110
111 If your repository is associated with a project, releases are linked in the repository view.
112
113 ## See Also
114
115 - [Content & Items]./02-content.md: Publishing releases
116 - [Projects]./projects.md: Project setup
117