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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331
|
Description: <short summary of the patch>
TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.
.
github-backup (1.20200721-2) unstable; urgency=medium
.
* Oops missing build dependency on libghc-split-dev
* Rules do not require root
Author: Barak A. Pearlmutter <bap@debian.org>
---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2020-08-27
--- /dev/null
+++ github-backup-1.20200721/doc/README.mdwn
@@ -0,0 +1,108 @@
+github-backup is a simple tool you run in a git repository you cloned from
+GitHub. It backs up everything GitHub publishes about the repository,
+including branches, tags, other forks, issues, comments, wikis, milestones,
+pull requests, watchers, and stars.
+
+## Installation
+
+Several distributions include packages of github-backup, for example
+on Debian and Debian derived distributions it can easily be installed
+with `sudo apt-get install github-backup`.
+
+To build it from source, first install Haskell's
+[stack](http://haskellstack.org/) tool.
+For example, on a Debian system:
+
+ sudo apt-get install haskell-stack
+
+Then to build and install github-backup:
+
+ git clone https://git.joeyh.name/git/github-backup.git
+ cd github-backup
+ stack install
+
+There is also a Makefile, which uses cabal to build, and installs
+a man page, bash completion file, etc. This is recommended for use when
+making packages of github-backup.
+
+## Use
+
+ Run `github-backup` with no parameters, inside a git repository cloned
+ from GitHub to back up that repository.
+
+ Or, if you have a GitHub account, run `github-backup username`
+ to clone and back up your account's repositories, as well
+ as the repositories you're watching and have starred.
+
+## Why backup GitHub repositories
+
+There are a couple of reasons to want to back this stuff up:
+
+* In case something happens to GitHub. (Some may argue that this has
+ already happened.) More generally because keeping your data in the
+ cloud *and* relying on the cloud to back it up is foolish.
+
+* In case someone takes down a repository that you were interested in.
+ If you run github-backup with your username, it will back up all
+ the repositories you have watched and starred.
+
+* So you can keep working on your repository while on a plane, or
+ on a remote beach or mountaintop. Just like Linus intended.
+
+## What to expect
+
+Each time you run github-backup, it will find any new forks on GitHub. It
+will add remotes to your repository for the forks, using names like
+`github_torvalds_subsurface`. It will fetch from every fork.
+
+It downloads metadata from each fork. This is stored
+into a branch named "github". Each fork gets a directory in there,
+like `torvalds_subsurface`. Inside the directory there will be some
+files, like `torvalds_subsurface/watchers`. There may be further
+directories, like for comments: `torvalds_subsurface/comments/1`.
+
+You can follow the commits to the github branch to see what information
+changed on GitHub over time.
+
+The format of the files in the github branch is currently Haskell
+serialized data types. This is plain text, and readable, if you squint.
+
+## Limitations
+
+github-backup is repository-focused. It does not try to back up other
+information from GitHub. In particular, social network stuff, like
+users who are following you, is not backed up.
+
+github-backup does not log into GitHub, so it cannot backup private
+repositories.
+
+Notes added to commits and lines of code don't get backed up yet.
+There is only recently API support for this.
+
+The labels that can be added to issues and milestones are not backed up.
+Neither are the hooks. They could be, but don't seem important
+enough for the extra work involved. Yell if you need them.
+
+github-backup re-downloads all issues, comments, and so on
+each time it's run. This may be slow if your repo has a lot of them,
+or even if it just has a lot of forks.
+
+Bear in mind that this uses the GitHub API; don't run it every 5 minutes.
+GitHub [rate limits](http://developer.github.com/v3/#rate-limiting) the
+API to some small number of requests per hour when used without
+authentication. To avoid this limit, you can set the environment
+variable `GITHUB_OAUTH_TOKEN` to a token obtained from
+<https://github.com/settings/tokens> and
+it will log in when making (most) API requests.
+
+Anyway, github-backup *does* do an incremental backup, picking up where it
+left off, so will complete the backup eventually even if it's rate limited.
+
+## Author
+
+github-backup was written by Joey Hess <id@joeyh.name>
+
+It is made possible thanks to:
+
+* Mike Burns's [haskell github library](http://hackage.haskell.org/package/github)
+* GitHub, for providing an API exposing this data.
--- /dev/null
+++ github-backup-1.20200721/doc/forum.mdwn
@@ -0,0 +1,4 @@
+This is a place to discuss using github-backup, share tips and tricks, etc.
+If you need help, advice, or anything, post about it here.
+
+[[!inline pages="forum/* and !*/Discussion" archive=yes rootpage=forum postformtext="Add a new thread titled:"]]
--- /dev/null
+++ github-backup-1.20200721/doc/forum/Error_when_running___34__stack_install__34__.mdwn
@@ -0,0 +1,13 @@
+When I run "stack install", I get the following message:
+
+```
+Unable to parse cabal file: NoParse "build-tools" 91
+```
+
+I'm not really familiar with Haskell, and I didn't find anything by searching DuckDuckGo for the error message.
+Any ideas how I can fix this?
+
+---
+
+Update:
+I used `sudo apt-get install github-backup` and it installed with no problems. :)
--- /dev/null
+++ github-backup-1.20200721/doc/forum/Error_when_running___34__stack_install__34__/comment_1_32eb9162e2d1d0a571540c971bf0238e._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2018-04-10T16:29:08Z"
+ content="""
+I think this error comes from the Cabal library, you probably need to
+upgrade the version of stack you're using to a newer one. (stack
+upgrade)
+"""]]
--- /dev/null
+++ github-backup-1.20200721/doc/forum/tor_support.mdwn
@@ -0,0 +1,34 @@
+I am having trouble running github-backup under tor. A normal run works like this:
+
+ $ github-backup --no-forks anarcat
+ New repository: alabaster
+ Clonage dans 'alabaster'...
+ remote: Enumerating objects: 13, done.
+ remote: Counting objects: 100% (13/13), done.
+ remote: Compressing objects: 100% (11/11), done.
+ remote: Total 1572 (delta 2), reused 11 (delta 2), pack-reused 1559
+ Réception d'objets: 100% (1572/1572), 508.50 KiB | 2.12 MiB/s, fait.
+ Résolution des deltas: 100% (929/929), fait.
+ [...]
+
+But running under tor (with [torsocks](https://github.com/dgoulet/torsocks)) hangs forever:
+
+ $ torsocks github-backup --no-forks anarcat
+ [blank, hangs forever]
+
+`strace` shows the process is looping over this:
+
+ recvfrom(3, "", 2, 0, NULL, NULL) = 0
+ select(4, [3], NULL, NULL, NULL) = 1 (in [3])
+
+file descriptor `3` is this, according to lsof:
+
+ github-ba 18134 anarcat 3u IPv4 162905 0t0 TCP localhost:35828->localhost:9050 (CLOSE_WAIT)
+
+... that's the local SOCKS connexion over to the tor daemon that
+`torsocks` reroutes the traffic to, with `LD_PRELOAD`, which I suspect
+is playing badly with the Haskell stack behind `github-backup`.
+
+So I understand this might be a compatibility issue - maybe the best
+would be to add SOCKS proxy support to github-backup? Not sure how
+best to solve this... --[[anarcat]]
--- /dev/null
+++ github-backup-1.20200721/doc/index.mdwn
@@ -0,0 +1,13 @@
+github-backup is a simple tool you run in a git repository you cloned from
+GitHub. It backs up everything GitHub publishes about the repository,
+including branches, tags, other forks, issues, comments, wikis, milestones,
+pull requests, watchers, and stars.
+
+See the [[README]] for installation and usage instructions.
+
+[[!sidebar content="""
+[[README]]
+[[News]]
+[[Todo]]
+[[Forum]]
+"""]]
--- /dev/null
+++ github-backup-1.20200721/doc/index/discussion.mdwn
@@ -0,0 +1,8 @@
+Hi,
+
+is it possible to include submodules in a repo-backup? I am trying to backup the repo supercollider, which makes heavy use of submodules.
+
+A second though: I backup an entire oranization with --no-forks, but somehow this doesn't work as expected. For some of the repos attempts are still made to backup forks too?
+
+Thanks
+Rainer
--- /dev/null
+++ github-backup-1.20200721/doc/news.mdwn
@@ -0,0 +1,2 @@
+[[!inline pages="news/* and !*/Discussion" show="3"]]
+
--- /dev/null
+++ github-backup-1.20200721/doc/todo.mdwn
@@ -0,0 +1,5 @@
+This is github-backup's todo list, for both posting feature requests, and merge
+requests. Link items to [[todo/done]] when done.
+
+[[!inline pages="./todo/* and !./todo/done and !link(done)
+and !*/Discussion" actions=yes postform=yes show=0 archive=yes]]
--- /dev/null
+++ github-backup-1.20200721/doc/todo/GitHub_deprecated_basic_authentication_using_password.mdwn
@@ -0,0 +1,39 @@
+After using github-backup recently with my account username and password (to avoid the limits for anonymous users), I got the mails below from GitHub about password authentication being deprecated. It would be nice to be able to continue to authenticate to get the higher API usage limits.
+
+The latest GitHub blog post about this issue is available [here](https://developer.github.com/changes/2020-02-14-deprecating-password-auth/).
+
+In it they say that they will disable password authentication in November 2020.
+
+The first email I got:
+
+> Subject: [GitHub] Deprecation Notice
+>
+> Hi @pabs3,
+>
+> You recently used a password to access an endpoint through the GitHub API using github.hs/0.7.4. We will deprecate basic authentication using password to this endpoint soon:
+>
+> https://api.github.com/repositories/105323641/milestones
+>
+> We recommend using a personal access token (PAT) with the appropriate scope to access this endpoint instead. Visit https://github.com/settings/tokens for more information.
+>
+> Thanks,
+> The GitHub Team
+
+The latest email from GitHub says this instead:
+
+> Subject: [GitHub] Deprecation Notice
+>
+> Hi @pabs3,
+>
+> On July 12th, 2020 at 01:41 (UTC) you used a password to access an endpoint through the GitHub API using github.hs/0.7.4:
+>
+> https://api.github.com/repositories/120820726/forks
+>
+> Basic authentication using a password to the API is deprecated and will soon no longer work. Visit https://developer.github.com/changes/2020-02-14-deprecating-password-auth/ for more information around suggested workarounds and removal dates.
+>
+> Thanks,
+> The GitHub Team
+
+----
+
+Removed the env vars for password auth. [[done]] --[[Joey]]
--- /dev/null
+++ github-backup-1.20200721/doc/todo/GitHub_deprecated_basic_authentication_using_password/comment_1_82eac378d7e4d0976056885f73d2a98c._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2019-12-19T20:54:36Z"
+ content="""
+Unless this is an OAuth token, it does not look like the github
+library supports it yet.
+<http://hackage.haskell.org/package/github-0.24/docs/GitHub-Auth.html>
+
+Though there is the generic setAuthRequest which could probably be used to
+implement it, it doesn't seem right to put the code in github-backup.
+"""]]
--- /dev/null
+++ github-backup-1.20200721/doc/todo/GitHub_deprecated_basic_authentication_using_password/comment_2_824c12b3f3a147e1c8f345a294199b8c._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="pabs3@49c776417680694a0f3295ee80df4edfca300096"
+ nickname="pabs3"
+ avatar="http://cdn.libravatar.org/avatar/3bf5f3b29a3d68ddf11eb1a3d8c5dc65"
+ subject="comment 2"
+ date="2020-07-22T02:09:50Z"
+ content="""
+I have switched to the GITHUB_OAUTH_TOKEN variable and the issue has stopped occurring. I hadn't noticed the variable in the manual page, sorry for the noise. I guess the only thing to do now for this issue is to deprecate and remove support for the GITHUB_USER and GITHUB_PASSWORD environment variables, which seem to be checked by the github-backup codebase rather than the GitHub API Haskell codebase.
+"""]]
--- /dev/null
+++ github-backup-1.20200721/doc/todo/exclude_certain_repositories.mdwn
@@ -0,0 +1 @@
+I'd like to suggest a configuration option be added to github-backup to allow for the exclusion of certain repositories. https://github.com/githubschool/open-enrollment-classes-introduction-to-github includes hundreds of forks/branches, and I'd rather not have them downloaded when running "github-backup tomhoover". At one time, I contributed to https://github.com/githubschool/open-enrollment-classes-introduction-to-github; however, it is neither "watched" nor "starred" at this time.
--- /dev/null
+++ github-backup-1.20200721/doc/todo/need_to_import_old_issues_from_github.mdwn
@@ -0,0 +1,6 @@
+github-backup used to be hosted on Github, but their new TOS makes this
+either impossible or undesirable. So, that repository was removed.
+
+There is a backup of all the github issues etc in the `github` branch
+of the github-backup git repository. Some of those issues were still open,
+and ought to be imported here.
|