aboutsummaryrefslogtreecommitdiff
path: root/git-remote-gittorrent
AgeCommit message (Collapse)Author
2015-06-06gittorrentd: Use git-upload-pack for pack files.Scott Prager
Add `upload_pack` to the git module to (partially) implement the pack protocol, then use this in gittorrentd instead of `git pack-objects`. This lets us generate packs based off HEAD instead of packing the whole tree each time.
2015-06-06Use `git ls-remote` to get local refs.Scott Prager
`git ls-remote` gives us the same info as `git-upload-pack`, but in an easier to parse format. We can also share the code for interpreting `git ls-remote` between git-remote-gittorrent and gittorrentd. This also fixes the problem of `publish_mutable_key()` being called too soon.
2015-06-03Merge pull request #42 from ralphtheninja/masterChris Ball
use rc to get rid of hardcoded configuration
2015-06-03use rc to get rid of hardcoded configurationLars-Magnus Skog
2015-06-03git-remote-gittorrent: Trivial output cleanupsChris Ball
2015-06-03Store references being fetched in a dictionary.Scott Prager
We need to spawn one swarm per sha, but may need to update multiple branches, so this provides a mapping between sha's and the branches that point to it. Storing the information from `got` and `swarms` also seems more orderly.
2015-06-03git-remote: Don't edit .git/refs manually.Scott Prager
Use `$ git update-ref {branch} {sha}` instead.
2015-06-03git: fix communication protocol.Scott Prager
git-remote-gittorrent: Only fetch a reference when git sends a "fetch" command. It knows when it already has a commit and won't ask for it. If it asks for nothing, quit early. Store references in a dictionary so that when asked for a specific sha, we can find its reference quickly. gittorrentd: Add branches to `userProfile`, even if that sha has already been announced. Fix the parsing of `git-upload-pack`'s output to not skip the line pointing to `HEAD`.
2015-06-03support branchesScott Prager
git-remote-gittorrent: Call `git ls-remote` without the 'HEAD' argument to get all references and build a list of them. Use a different swarm for each ref and don't quit until we have them all. gittorrentd: Parse the branch name out of references and store the sha's in userProfile[reponame][branch] instead of userProfile[reponame].master.
2015-05-29git-remote-gitswram: Ask for a download stream directlyChris Ball
2015-05-28Create peerId properly/randomlyChris Ball
2015-05-28Use new bootstrap serversChris Ball
2015-05-28Prettify mutable key JSONChris Ball
2015-05-27Rename! gitswarm->gittorrentChris Ball