swh:1:snp:eb70f1f85391e4b077c211bec36af0061c4bf937
- HEAD
- refs/heads/add-content-get-range
- refs/heads/add-revision-origin-cache
- refs/heads/cassandra-backend
- refs/heads/content-find-return-null
- refs/heads/debian/buster-swh
- refs/heads/debian/stretch-swh
- refs/heads/debian/unstable-swh
- refs/heads/debian/upstream
- refs/heads/directory-listing-arrays
- refs/heads/feature/schema-revamp
- refs/heads/feature/sql-improve-revision-comments
- refs/heads/inmemory-cql
- refs/heads/master
- refs/heads/pristine-tar
- refs/heads/read-data-from-storage
- refs/heads/stored-proc-language-sql
- refs/heads/tmp-directory-add
- refs/heads/update-journal
- refs/heads/update-origin-trigger
- refs/heads/wip/snapshots
- refs/heads/zack/dir-lists-in-directory
- refs/tags/v0.0.1
- refs/tags/v0.0.126
- refs/tags/v0.0.129
- refs/tags/v0.0.130
- refs/tags/v0.0.132
- refs/tags/v0.0.134
- refs/tags/v0.0.135
- refs/tags/v0.0.136
- refs/tags/v0.0.137
- refs/tags/v0.0.138
- refs/tags/v0.0.140
- refs/tags/v0.0.141
- refs/tags/v0.0.142
- refs/tags/v0.0.143
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.1
- v0.8.0
- v0.7.0
- v0.6.0
- v0.5.2
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.18.0
- v0.17.2
- v0.17.1
- v0.17.0
- v0.16.0
- v0.15.3
- v0.15.2
- v0.15.1
- v0.15.0
- v0.14.3
- v0.14.2
- v0.14.1
- v0.14.0
- v0.13.3
- v0.13.2
- v0.13.1
- v0.13.0
- v0.12.0
- v0.11.9
- v0.11.8
- v0.11.7
- v0.11.6
- v0.11.5
- v0.11.4
- v0.11.3
- v0.11.2
- v0.11.10
- v0.11.1
- v0.11.0
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.1.1
- v0.1.0
- v0.0.99
- v0.0.98
- v0.0.97
- v0.0.96
- v0.0.95
- v0.0.94
- v0.0.93
- v0.0.92
- v0.0.91
- v0.0.90
- v0.0.9
- v0.0.89
- v0.0.88
- v0.0.87
- v0.0.86
- v0.0.85
- v0.0.84
- v0.0.83
- v0.0.82
- v0.0.81
- v0.0.80
- v0.0.8
- v0.0.79
- v0.0.78
- v0.0.77
- v0.0.76
- v0.0.75
- v0.0.74
- v0.0.73
- v0.0.72
- v0.0.71
- v0.0.70
- v0.0.7
- v0.0.69
- v0.0.68
- v0.0.67
- v0.0.66
- v0.0.65
- v0.0.64
- v0.0.63
- v0.0.62
- v0.0.61
- v0.0.60
- v0.0.6
- v0.0.59
- v0.0.58
- v0.0.57
- v0.0.56
- v0.0.55
- v0.0.54
- v0.0.53
- v0.0.52
- v0.0.51
- v0.0.50
- v0.0.5
- v0.0.49
- v0.0.48
- v0.0.47
- v0.0.46
- v0.0.45
- v0.0.44
- v0.0.43
- v0.0.42
- v0.0.41
- v0.0.40
- v0.0.4
- v0.0.39
- v0.0.38
- v0.0.37
- v0.0.36
- v0.0.35
- v0.0.34
- v0.0.33
- v0.0.32
- v0.0.31
- v0.0.30
- v0.0.3
- v0.0.29
- v0.0.28
- v0.0.27
- v0.0.26
- v0.0.25
- v0.0.24
- v0.0.23
- v0.0.22
- v0.0.21
- v0.0.20
- v0.0.2
- v0.0.193
- v0.0.192
- v0.0.191
- v0.0.190
- v0.0.19
- v0.0.189
- v0.0.188
- v0.0.187
- v0.0.186
- v0.0.185
- v0.0.184
- v0.0.183
- v0.0.182
- v0.0.181
- v0.0.180
- v0.0.18
- v0.0.179
- v0.0.178
- v0.0.177
- v0.0.176
- v0.0.175
- v0.0.174
- v0.0.173
- v0.0.172
- v0.0.171
- v0.0.170
- v0.0.17
- v0.0.169
- v0.0.168
- v0.0.167
- v0.0.166
- v0.0.165
- v0.0.164
- v0.0.163
- v0.0.162
- v0.0.161
- v0.0.160
- v0.0.16
- v0.0.159
- v0.0.158
- v0.0.157
- v0.0.156
- v0.0.155
- v0.0.154
- v0.0.153
- v0.0.152
- v0.0.151
- v0.0.150
- v0.0.15
- v0.0.149
- v0.0.148
- v0.0.147
- v0.0.146
- v0.0.145
- v0.0.14
- v0.0.139
- v0.0.133
- v0.0.131
- v0.0.13
- v0.0.128
- v0.0.127
- v0.0.125
- v0.0.124
- v0.0.123
- v0.0.122
- v0.0.121
- v0.0.120
- v0.0.12
- v0.0.119
- v0.0.118
- v0.0.117
- v0.0.116
- v0.0.115
- v0.0.114
- v0.0.113
- v0.0.112
- v0.0.111
- v0.0.110
- v0.0.11
- v0.0.109
- v0.0.108
- v0.0.107
- v0.0.106
- v0.0.105
- v0.0.104
- v0.0.103
- v0.0.102
- v0.0.101
- v0.0.100
- v0.0.10
- debian/upstream/0.9.3
- debian/upstream/0.9.2
- debian/upstream/0.9.1
- debian/upstream/0.9.0
- debian/upstream/0.8.1
- debian/upstream/0.8.0
- debian/upstream/0.7.0
- debian/upstream/0.6.0
- debian/upstream/0.5.0
- debian/upstream/0.4.0
- debian/upstream/0.3.0
- debian/upstream/0.2.0
- debian/upstream/0.18.0
- debian/upstream/0.17.2
- debian/upstream/0.17.1
- debian/upstream/0.17.0
- debian/upstream/0.16.0
- debian/upstream/0.15.3
- debian/upstream/0.15.2
- debian/upstream/0.15.1
- debian/upstream/0.15.0
- debian/upstream/0.14.3
- debian/upstream/0.14.2
- debian/upstream/0.14.1
- debian/upstream/0.14.0
- debian/upstream/0.13.3
- debian/upstream/0.13.2
- debian/upstream/0.13.1
- debian/upstream/0.13.0
- debian/upstream/0.12.0
- debian/upstream/0.11.9
- debian/upstream/0.11.8
- debian/upstream/0.11.6
- debian/upstream/0.11.5
- debian/upstream/0.11.4
- debian/upstream/0.11.3
- debian/upstream/0.11.2
- debian/upstream/0.11.10
- debian/upstream/0.11.1
- debian/upstream/0.11.0
- debian/upstream/0.10.6
- debian/upstream/0.10.5
- debian/upstream/0.10.4
- debian/upstream/0.10.3
- debian/upstream/0.10.2
- debian/upstream/0.10.1
- debian/upstream/0.10.0
- debian/upstream/0.1.1
- debian/upstream/0.1.0
- debian/upstream/0.0.99
- debian/upstream/0.0.98
- debian/upstream/0.0.97
- debian/upstream/0.0.96
- debian/upstream/0.0.95
- debian/upstream/0.0.94
- debian/upstream/0.0.93
- debian/upstream/0.0.92
- debian/upstream/0.0.91
- debian/upstream/0.0.90
- debian/upstream/0.0.9
- debian/upstream/0.0.89
- debian/upstream/0.0.88
- debian/upstream/0.0.87
- debian/upstream/0.0.86
- debian/upstream/0.0.85
- debian/upstream/0.0.84
- debian/upstream/0.0.83
- debian/upstream/0.0.82
- debian/upstream/0.0.81
- debian/upstream/0.0.80
- debian/upstream/0.0.8
- debian/upstream/0.0.79
- debian/upstream/0.0.78
- debian/upstream/0.0.77
- debian/upstream/0.0.76
- debian/upstream/0.0.75
- debian/upstream/0.0.74
- debian/upstream/0.0.73
- debian/upstream/0.0.72
- debian/upstream/0.0.71
- debian/upstream/0.0.70
- debian/upstream/0.0.7
- debian/upstream/0.0.69
- debian/upstream/0.0.68
- debian/upstream/0.0.67
- debian/upstream/0.0.66
- debian/upstream/0.0.65
- debian/upstream/0.0.64
- debian/upstream/0.0.63
- debian/upstream/0.0.62
- debian/upstream/0.0.61
- debian/upstream/0.0.60
- debian/upstream/0.0.6
- debian/upstream/0.0.59
- debian/upstream/0.0.58
- debian/upstream/0.0.57
- debian/upstream/0.0.56
- debian/upstream/0.0.55
- debian/upstream/0.0.54
- debian/upstream/0.0.53
- debian/upstream/0.0.52
- debian/upstream/0.0.51
- debian/upstream/0.0.50
- debian/upstream/0.0.5
- debian/upstream/0.0.49
- debian/upstream/0.0.48
- debian/upstream/0.0.47
- debian/upstream/0.0.46
- debian/upstream/0.0.45
- debian/upstream/0.0.44
- debian/upstream/0.0.43
- debian/upstream/0.0.42
- debian/upstream/0.0.41
- debian/upstream/0.0.40
- debian/upstream/0.0.4
- debian/upstream/0.0.39
- debian/upstream/0.0.38
- debian/upstream/0.0.37
- debian/upstream/0.0.36
- debian/upstream/0.0.35
- debian/upstream/0.0.34
- debian/upstream/0.0.33
- debian/upstream/0.0.32
- debian/upstream/0.0.31
- debian/upstream/0.0.30
- debian/upstream/0.0.3
- debian/upstream/0.0.29
- debian/upstream/0.0.28
- debian/upstream/0.0.27
- debian/upstream/0.0.26
- debian/upstream/0.0.25
- debian/upstream/0.0.24
- debian/upstream/0.0.23
- debian/upstream/0.0.22
- debian/upstream/0.0.21
- debian/upstream/0.0.20
- debian/upstream/0.0.2
- debian/upstream/0.0.193
- debian/upstream/0.0.192
- debian/upstream/0.0.191
- debian/upstream/0.0.190
- debian/upstream/0.0.19
- debian/upstream/0.0.189
- debian/upstream/0.0.188
- debian/upstream/0.0.187
- debian/upstream/0.0.186
- debian/upstream/0.0.185
- debian/upstream/0.0.184
- debian/upstream/0.0.183
- debian/upstream/0.0.182
- debian/upstream/0.0.181
- debian/upstream/0.0.180
- debian/upstream/0.0.18
- debian/upstream/0.0.179
- debian/upstream/0.0.178
- debian/upstream/0.0.177
- debian/upstream/0.0.176
- debian/upstream/0.0.175
- debian/upstream/0.0.174
- debian/upstream/0.0.172
- debian/upstream/0.0.171
- debian/upstream/0.0.170
- debian/upstream/0.0.17
- debian/upstream/0.0.169
- debian/upstream/0.0.168
- debian/upstream/0.0.167
- debian/upstream/0.0.166
- debian/upstream/0.0.165
- debian/upstream/0.0.164
- debian/upstream/0.0.163
- debian/upstream/0.0.162
- debian/upstream/0.0.161
- debian/upstream/0.0.160
- debian/upstream/0.0.16
- debian/upstream/0.0.159
- debian/upstream/0.0.158
- debian/upstream/0.0.157
- debian/upstream/0.0.156
- debian/upstream/0.0.155
- debian/upstream/0.0.154
- debian/upstream/0.0.153
- debian/upstream/0.0.152
- debian/upstream/0.0.151
- debian/upstream/0.0.150
- debian/upstream/0.0.15
- debian/upstream/0.0.149
- debian/upstream/0.0.148
- debian/upstream/0.0.147
- debian/upstream/0.0.146
- debian/upstream/0.0.145
- debian/upstream/0.0.143
- debian/upstream/0.0.142
- debian/upstream/0.0.141
- debian/upstream/0.0.140
- debian/upstream/0.0.14
- debian/upstream/0.0.139
- debian/upstream/0.0.138
- debian/upstream/0.0.137
- debian/upstream/0.0.135
- debian/upstream/0.0.134
- debian/upstream/0.0.132
- debian/upstream/0.0.131
- debian/upstream/0.0.130
- debian/upstream/0.0.13
- debian/upstream/0.0.129
- debian/upstream/0.0.128
- debian/upstream/0.0.127
- debian/upstream/0.0.126
- debian/upstream/0.0.125
- debian/upstream/0.0.124
- debian/upstream/0.0.123
- debian/upstream/0.0.122
- debian/upstream/0.0.121
- debian/upstream/0.0.120
- debian/upstream/0.0.12
- debian/upstream/0.0.119
- debian/upstream/0.0.118
- debian/upstream/0.0.117
- debian/upstream/0.0.116
- debian/upstream/0.0.115
- debian/upstream/0.0.114
- debian/upstream/0.0.113
- debian/upstream/0.0.112
- debian/upstream/0.0.111
- debian/upstream/0.0.110
- debian/upstream/0.0.11
- debian/upstream/0.0.109
- debian/upstream/0.0.108
- debian/upstream/0.0.107
- debian/upstream/0.0.106
- debian/upstream/0.0.105
- debian/upstream/0.0.104
- debian/upstream/0.0.103
- debian/upstream/0.0.102
- debian/upstream/0.0.101
- debian/upstream/0.0.100
- debian/upstream/0.0.10
- debian/0.9.3-1_swh1_bpo10+1
- debian/0.9.3-1_swh1
- debian/0.9.2-1_swh1_bpo10+1
- debian/0.9.2-1_swh1
- debian/0.9.1-1_swh1_bpo10+1
- debian/0.9.1-1_swh1
- debian/0.9.0-1_swh1_bpo10+1
- debian/0.9.0-1_swh1
- debian/0.8.1-1_swh1_bpo10+1
- debian/0.8.1-1_swh1
- debian/0.8.0-1_swh1_bpo10+1
- debian/0.8.0-1_swh1
- debian/0.7.0-1_swh1_bpo10+1
- debian/0.7.0-1_swh1
- debian/0.6.0-1_swh1_bpo10+1
- debian/0.6.0-1_swh1
- debian/0.5.0-1_swh1_bpo10+1
- debian/0.5.0-1_swh1
- debian/0.4.0-1_swh1_bpo10+1
- debian/0.4.0-1_swh1
- debian/0.3.0-1_swh1_bpo10+1
- debian/0.3.0-1_swh1
- debian/0.2.0-1_swh1_bpo10+1
- debian/0.2.0-1_swh1
- debian/0.18.0-1_swh1_bpo10+1
- debian/0.18.0-1_swh1
- debian/0.17.2-1_swh1_bpo10+1
- debian/0.17.2-1_swh1
- debian/0.17.1-1_swh1_bpo10+1
- debian/0.17.1-1_swh1
- debian/0.17.0-1_swh1_bpo10+1
- debian/0.17.0-1_swh1
- debian/0.16.0-1_swh1_bpo10+1
- debian/0.16.0-1_swh1
- debian/0.15.3-1_swh1_bpo10+1
- debian/0.15.3-1_swh1
- debian/0.15.2-1_swh1_bpo10+1
- debian/0.15.2-1_swh1
- debian/0.15.1-1_swh1
- debian/0.15.0-1_swh1_bpo10+1
- debian/0.15.0-1_swh1
- debian/0.14.3-1_swh1_bpo10+1
- debian/0.14.3-1_swh1
- debian/0.14.2-1_swh1_bpo10+1
- debian/0.14.2-1_swh1
- debian/0.14.1-1_swh1_bpo10+1
- debian/0.14.1-1_swh1
- debian/0.14.0-1_swh1_bpo10+1
- debian/0.14.0-1_swh1
- debian/0.13.3-1_swh1_bpo10+1
- debian/0.13.3-1_swh1
- debian/0.13.2-1_swh2_bpo10+1
- debian/0.13.2-1_swh2
- debian/0.13.2-1_swh1
- debian/0.13.1-1_swh3_bpo10+1
- debian/0.13.1-1_swh3
- debian/0.13.1-1_swh2_bpo10+1
- debian/0.13.1-1_swh2
- debian/0.13.1-1_swh1_bpo10+1
- debian/0.13.1-1_swh1
- debian/0.13.0-1_swh1_bpo10+1
- debian/0.13.0-1_swh1
- debian/0.12.0-1_swh1_bpo10+1
- debian/0.12.0-1_swh1
- debian/0.11.9-1_swh1
- debian/0.11.8-1_swh1_bpo10+1
- debian/0.11.8-1_swh1
- debian/0.11.6-1_swh1_bpo10+1
- debian/0.11.6-1_swh1
- debian/0.11.5-1_swh1_bpo10+1
- debian/0.11.5-1_swh1
- debian/0.11.4-1_swh1_bpo10+1
- debian/0.11.4-1_swh1
- debian/0.11.3-1_swh1_bpo10+1
- debian/0.11.3-1_swh1
- debian/0.11.2-1_swh1_bpo10+1
- debian/0.11.2-1_swh1
- debian/0.11.10-1_swh1_bpo10+1
- debian/0.11.10-1_swh1
- debian/0.11.1-1_swh1_bpo10+1
- debian/0.11.1-1_swh1
- debian/0.11.0-1_swh1_bpo10+1
- debian/0.11.0-1_swh1
- debian/0.10.6-1_swh1_bpo10+1
- debian/0.10.6-1_swh1
- debian/0.10.5-1_swh1_bpo10+1
- debian/0.10.5-1_swh1
- debian/0.10.4-1_swh1_bpo10+1
- debian/0.10.4-1_swh1
- debian/0.10.3-1_swh1_bpo10+1
- debian/0.10.3-1_swh1
- debian/0.10.2-1_swh2_bpo10+1
- debian/0.10.2-1_swh2
- debian/0.10.2-1_swh1
- debian/0.10.1-1_swh2_bpo10+1
- debian/0.10.1-1_swh2
- debian/0.10.1-1_swh1
- debian/0.10.0-1_swh1
- debian/0.1.1-1_swh1_bpo10+1
- debian/0.1.1-1_swh1
- debian/0.1.0-2_swh1
- debian/0.1.0-1_swh1
- debian/0.0.193-1_swh1_bpo10+1
- debian/0.0.193-1_swh1
- debian/0.0.192-1_swh1_bpo10+1
- debian/0.0.192-1_swh1
- debian/0.0.191-1_swh1_bpo10+1
- debian/0.0.191-1_swh1
- debian/0.0.190-1_swh1_bpo10+1
- debian/0.0.190-1_swh1
- debian/0.0.189-1_swh1_bpo10+1
- debian/0.0.189-1_swh1
- debian/0.0.188-1_swh1_bpo10+1
- debian/0.0.188-1_swh1
- debian/0.0.187-1_swh1_bpo10+1
- debian/0.0.187-1_swh1
- debian/0.0.186-1_swh1_bpo10+1
- debian/0.0.186-1_swh1
- debian/0.0.185-1_swh1_bpo10+1
- debian/0.0.185-1_swh1
- debian/0.0.184-1_swh1_bpo10+1
- debian/0.0.184-1_swh1
- debian/0.0.183-1_swh1_bpo10+1
- debian/0.0.183-1_swh1
- debian/0.0.182-1_swh1_bpo10+1
- debian/0.0.182-1_swh1
- debian/0.0.181-1_swh1_bpo10+1
- debian/0.0.181-1_swh1
- debian/0.0.180-1_swh1_bpo10+1
- debian/0.0.180-1_swh1
- debian/0.0.179-1_swh1_bpo10+1
- debian/0.0.179-1_swh1
- debian/0.0.178-1_swh1_bpo10+1
- debian/0.0.178-1_swh1
- debian/0.0.177-1_swh1_bpo10+1
- debian/0.0.177-1_swh1
- debian/0.0.176-1_swh2_bpo10+1
- debian/0.0.176-1_swh2
- debian/0.0.176-1_swh1
- debian/0.0.175-1_swh1_bpo10+1
- debian/0.0.175-1_swh1
- debian/0.0.174-1_swh1_bpo10+1
- debian/0.0.174-1_swh1
- debian/0.0.172-1_swh1_bpo10+1
- debian/0.0.172-1_swh1
- debian/0.0.171-1_swh1_bpo10+1
- debian/0.0.171-1_swh1
- debian/0.0.170-1_swh3_bpo10+1
- debian/0.0.170-1_swh3
- debian/0.0.170-1_swh2
- debian/0.0.170-1_swh1
- debian/0.0.169-1_swh1_bpo10+1
- debian/0.0.169-1_swh1
- debian/0.0.168-1_swh1
- debian/0.0.167-1_swh1_bpo10+1
- debian/0.0.167-1_swh1
- debian/0.0.166-1_swh1_bpo10+1
- debian/0.0.166-1_swh1
- debian/0.0.165-1_swh1_bpo10+1
- debian/0.0.165-1_swh1
- debian/0.0.164-1_swh1_bpo10+1
- debian/0.0.164-1_swh1
- debian/0.0.163-1_swh2_bpo10+1
- debian/0.0.163-1_swh2
- debian/0.0.163-1_swh1
- debian/0.0.162-1_swh1_bpo10+1
- debian/0.0.162-1_swh1
- debian/0.0.161-1_swh1_bpo10+1
- debian/0.0.161-1_swh1
- debian/0.0.160-1_swh1_bpo10+1
- debian/0.0.160-1_swh1
- debian/0.0.159-1_swh2_bpo10+1
- debian/0.0.159-1_swh2
- debian/0.0.159-1_swh1
- debian/0.0.158-1_swh1_bpo10+1
- debian/0.0.158-1_swh1
- debian/0.0.157-1_swh1_bpo10+1
- debian/0.0.157-1_swh1
- debian/0.0.156-1_swh2_bpo9+1
- debian/0.0.156-1_swh2_bpo10+1
- debian/0.0.156-1_swh2
- debian/0.0.156-1_swh1_bpo9+1
- debian/0.0.156-1_swh1_bpo10+1
- debian/0.0.156-1_swh1
- debian/0.0.155-1_swh1
- debian/0.0.154-1_swh1
- debian/0.0.153-1_swh1
- debian/0.0.152-1_swh1
- debian/0.0.151-1_swh2_bpo9+1
- debian/0.0.151-1_swh2_bpo10+1
- debian/0.0.151-1_swh2
- debian/0.0.151-1_swh1
- debian/0.0.150-1_swh1_bpo9+1
- debian/0.0.150-1_swh1_bpo10+1
- debian/0.0.150-1_swh1
- debian/0.0.149-1_swh1
- debian/0.0.148-1_swh1_bpo9+1
- debian/0.0.148-1_swh1_bpo10+1
- debian/0.0.148-1_swh1
- debian/0.0.147-1_swh1_bpo9+1
- debian/0.0.147-1_swh1_bpo10+1
- debian/0.0.147-1_swh1
- debian/0.0.146-1_swh1
- debian/0.0.145-1_swh3_bpo9+1
- debian/0.0.145-1_swh3_bpo10+1
- debian/0.0.145-1_swh3
- debian/0.0.145-1_swh2
- debian/0.0.145-1_swh1_bpo9+1
- debian/0.0.145-1_swh1
- debian/0.0.143-1_swh1_bpo9+1
- debian/0.0.143-1_swh1
- debian/0.0.142-1_swh1_bpo9+1
- debian/0.0.142-1_swh1
- debian/0.0.141-1_swh1
- debian/0.0.140-1_swh1_bpo9+1
- debian/0.0.140-1_swh1
- debian/0.0.139-1_swh1_bpo9+1
- debian/0.0.139-1_swh1
- debian/0.0.138-1_swh1_bpo9+1
- debian/0.0.138-1_swh1
- debian/0.0.137-1_swh1_bpo9+1
- debian/0.0.137-1_swh1
- debian/0.0.135-1_swh1_bpo9+1
- debian/0.0.135-1_swh1
- debian/0.0.134-1_swh1_bpo9+1
- debian/0.0.134-1_swh1
- debian/0.0.132-1_swh1_bpo9+1
- debian/0.0.132-1_swh1
- debian/0.0.131-1_swh1_bpo9+1
- debian/0.0.131-1_swh1
- debian/0.0.130-1_swh1_bpo9+1
- debian/0.0.130-1_swh1
- debian/0.0.129-1_swh1_bpo9+1
- debian/0.0.129-1_swh1
- debian/0.0.128-1_swh1_bpo9+1
- debian/0.0.128-1_swh1
- debian/0.0.127-1_swh1_bpo9+1
- debian/0.0.127-1_swh1
- debian/0.0.126-1_swh1_bpo9+1
- debian/0.0.126-1_swh1
- debian/0.0.125-1_swh1_bpo9+1
- debian/0.0.125-1_swh1
- debian/0.0.124-1_swh3_bpo9+1
- debian/0.0.124-1_swh3
- debian/0.0.124-1_swh2
- debian/0.0.124-1_swh1_bpo9+1
- debian/0.0.124-1_swh1
- debian/0.0.123-1_swh1_bpo9+1
- debian/0.0.123-1_swh1
- debian/0.0.122-1_swh1_bpo9+1
- debian/0.0.122-1_swh1
- debian/0.0.120-1_swh1_bpo9+1
- debian/0.0.120-1_swh1
- debian/0.0.119-1_swh1_bpo9+1
- debian/0.0.119-1_swh1
- debian/0.0.118-1_swh1_bpo9+1
- debian/0.0.118-1_swh1
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Tip revision: 604c34fb4bfb17291ab94c49b2cc1629d6f1dea6 authored by Antoine R. Dumont (@ardumont) on 29 November 2016, 16:25:29 UTC
New upstream version 0.0.74
New upstream version 0.0.74
Tip revision: 604c34f
listener.py
# Copyright (C) 2016 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
import json
import logging
import kafka
import msgpack
from swh.core.config import load_named_config
import swh.storage.db
CONFIG_BASENAME = 'storage/listener'
DEFAULT_CONFIG = {
'database': ('str', 'service=softwareheritage'),
'brokers': ('list[str]', ['getty.internal.softwareheritage.org']),
'topic_prefix': ('str', 'swh.tmp_journal.new'),
'poll_timeout': ('int', 10),
}
def decode_sha(value):
"""Decode the textual representation of a SHA hash"""
if isinstance(value, str):
return bytes.fromhex(value)
return value
def decode_json(value):
"""Decode a JSON value containing hashes and other types"""
value = json.loads(value)
return {k: decode_sha(v) for k, v in value.items()}
OBJECT_TYPES = {
'content': decode_sha,
'skipped_content': decode_json,
'directory': decode_sha,
'revision': decode_sha,
'release': decode_sha,
'origin_visit': decode_json,
}
def register_all_notifies(db):
"""Register to notifications for all object types listed in OBJECT_TYPES"""
with db.transaction() as cur:
for object_type in OBJECT_TYPES:
db.register_listener('new_%s' % object_type, cur)
def dispatch_notify(topic_prefix, producer, notify):
"""Dispatch a notification to the proper topic"""
channel = notify.channel
if not channel.startswith('new_') or channel[4:] not in OBJECT_TYPES:
logging.warn("Got unexpected notify %s" % notify)
return
object_type = channel[4:]
topic = '%s.%s' % (topic_prefix, object_type)
data = OBJECT_TYPES[object_type](notify.payload)
producer.send(topic, value=data)
def run_from_config(config):
"""Run the Software Heritage listener from configuration"""
db = swh.storage.db.Db.connect(config['database'])
def kafka_serializer(data):
return msgpack.dumps(data, use_bin_type=True)
producer = kafka.KafkaProducer(
bootstrap_servers=config['brokers'],
value_serializer=kafka_serializer,
)
register_all_notifies(db)
topic_prefix = config['topic_prefix']
poll_timeout = config['poll_timeout']
try:
while True:
for notify in db.listen_notifies(poll_timeout):
dispatch_notify(topic_prefix, producer, notify)
producer.flush()
except Exception:
logging.exception("Caught exception")
producer.flush()
if __name__ == '__main__':
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s %(process)d %(levelname)s %(message)s'
)
config = load_named_config(CONFIG_BASENAME, DEFAULT_CONFIG)
run_from_config(config)