-
Notifications
You must be signed in to change notification settings - Fork 40
/
TODO
94 lines (57 loc) · 1.99 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Main Features / TODO
====================================
* integrate CocoaGit, replacing ObjGit
- add server functionality to CocoaGit
* push / pull works locally and over bonjour
* browse local repos
* uses file handles for writing / reading packs instead of memory
- library option?
Cloning List
====================================
* http smart server
- push
- info/refs
- dumb [SHA ref, etc]
- smart
C: GET $GIT_URL/info/refs?service=git-upload-pack HTTP/1.0
S: 200 OK
S: Content-Type: application/x-git-upload-pack-advertisement
S: Cache-Control: no-cache
S:
S: ....# service=git-upload-pack
S: ....95dcfa3633004da0049d3d0fa03f80589cbcaf31 refs/heads/maint\0 multi_ack
S: ....d049f6c27a2244e12041955e262a404c7faba355 refs/heads/master
S: ....2cb58b79488a98d2721cea644875a8dd0026b115 refs/tags/v1.0
S: ....a3c2e2402b99163d1d59756e5f207ae21cccba4c refs/tags/v1.0^{}
C: POST $GIT_URL/git-receive-pack HTTP/1.0
C: ....0a53e9ddeaddad63ad106860237bbf53411d11a7 441b40d833fdfa93eb2908e52742248faf0ee993 refs/heads/maint\0 report-status
C: 0000
C: PACK....
- fetch
-
* http smart client
* Bonjour announcement
ToDo List
====================================
* flick up/down to browse commits
* status bar (when clones/fetches are happening)
* about page - who did this
* how to page
* delete a repo
* public / private repos
* commit key for private repos
* ipad version
* bonjour sniffing - clone from other iphones
GitHub Features
====================================
* github user/pass login
* a "search github" feature
* fork/clone a github project
* send a pull request
* add a list of remotes of people that forked you
Implementation Get-Back-Tos
====================================
* read/write blob data from disk rather than memory to handle objects > 100M
* won't handle multi-depth refs 'chacon/master', etc
* doesn't handle ofs-deltas, but the client shouldn't be sending them
* doesn't keep objects in packs