https://github.com/genome/genome
- HEAD
- refs/for/master
- refs/heads/chrisamiller-patch-1
- refs/heads/cle
- refs/heads/cle-snapshot
- refs/heads/cle-staging
- refs/heads/cram
- refs/heads/cwltool-path
- refs/heads/gms-pub
- refs/heads/gms-pub-2015.02.22
- refs/heads/gms-pub-2015.03.04
- refs/heads/gms-pub-before-plos-merge-from-master
- refs/heads/gotcloud
- refs/heads/master
- refs/heads/mcallawa_trusty
- refs/heads/model-tests
- refs/heads/model-tests-for-lsf9
- refs/heads/perl-tests
- refs/heads/revert-606-gmt_picard_typos
- refs/heads/snapshot
- refs/tags/AP-103
- refs/tags/genome-3177
- refs/tags/genome-3178
- refs/tags/genome-3179
- refs/tags/genome-3180
- refs/tags/genome-3181
- refs/tags/genome-3182
- refs/tags/genome-3183
- refs/tags/genome-3184
- refs/tags/genome-3185
- refs/tags/genome-3186
- refs/tags/genome-3187
- refs/tags/genome-3188
- refs/tags/genome-3189
- refs/tags/genome-3190
- refs/tags/genome-3191
- refs/tags/genome-3192
- refs/tags/genome-3194
- refs/tags/genome-3196
- refs/tags/genome-3197
- refs/tags/genome-3198
- refs/tags/genome-3199
- refs/tags/genome-3200
- refs/tags/genome-3201
- refs/tags/genome-3202
- refs/tags/genome-3203
- refs/tags/genome-3204
- refs/tags/genome-3206
- refs/tags/genome-3207
- refs/tags/genome-3209
- refs/tags/genome-3210
- refs/tags/genome-3211
- refs/tags/genome-3212
- refs/tags/genome-3214
- refs/tags/genome-3215
- refs/tags/genome-3216
- refs/tags/genome-3217
- refs/tags/genome-3218
- refs/tags/genome-3219
- refs/tags/genome-3220
- refs/tags/genome-3221
- refs/tags/genome-3222
- refs/tags/genome-3223
- refs/tags/genome-3224
- refs/tags/genome-3225
- refs/tags/genome-3226
- refs/tags/genome-3227
- refs/tags/genome-3228
- refs/tags/genome-3229
- refs/tags/genome-3230
- refs/tags/genome-3231
- refs/tags/genome-3232
- refs/tags/genome-3233
- refs/tags/genome-3234
- refs/tags/genome-3235
- refs/tags/genome-3236
- refs/tags/genome-3237
- refs/tags/genome-3238
- refs/tags/genome-3239
- refs/tags/genome-3240
- refs/tags/genome-3241
- refs/tags/genome-3242
- refs/tags/genome-3243
- refs/tags/genome-3244
- refs/tags/genome-3245
- refs/tags/genome-3246
- refs/tags/genome-3247
- refs/tags/genome-3248
- refs/tags/genome-3249
- refs/tags/genome-3250
- refs/tags/genome-3253
- refs/tags/genome-3254
- refs/tags/genome-3255
- refs/tags/genome-3257
- refs/tags/genome-3258
- refs/tags/genome-3259
- refs/tags/genome-3260
- refs/tags/genome-3261
- refs/tags/genome-3262
- refs/tags/genome-3263
- refs/tags/genome-3264
- refs/tags/genome-3265
- refs/tags/genome-3266
- refs/tags/genome-3267
- refs/tags/genome-3268
- refs/tags/genome-3269
- refs/tags/genome-3270
- refs/tags/genome-3272
- refs/tags/genome-3273
- refs/tags/genome-3274
- refs/tags/genome-3275
- refs/tags/genome-3276
- refs/tags/genome-3278
- refs/tags/genome-3279
- refs/tags/genome-3280
- refs/tags/genome-3281
- refs/tags/genome-3282
- refs/tags/genome-3283
- refs/tags/genome-3284
- refs/tags/genome-3285
- refs/tags/genome-3286
- refs/tags/genome-3287
- refs/tags/genome-3288
- refs/tags/genome-3289
- refs/tags/genome-3292
- refs/tags/genome-3293
- refs/tags/genome-3294
- refs/tags/genome-3295
- refs/tags/genome-3296
- refs/tags/genome-3297
- refs/tags/genome-3298
- refs/tags/genome-3299
- refs/tags/genome-3300
- refs/tags/genome-3301
- refs/tags/genome-3302
- refs/tags/genome-3303
- refs/tags/genome-3304
- refs/tags/genome-3305
- refs/tags/genome-3306
- refs/tags/genome-3307
- refs/tags/genome-3308
- refs/tags/genome-3309
- refs/tags/genome-3310
- refs/tags/genome-3311
- refs/tags/genome-3312
- refs/tags/genome-3313
- refs/tags/genome-3314
- refs/tags/genome-3315
- refs/tags/genome-3316
- refs/tags/genome-3317
- refs/tags/genome-3318
- refs/tags/genome-3319
- refs/tags/genome-3320
- refs/tags/genome-3321
- refs/tags/genome-3322
- refs/tags/genome-3323
- refs/tags/genome-3324
- refs/tags/genome-3325
- refs/tags/genome-3326
- refs/tags/genome-3327
- refs/tags/genome-3328
- refs/tags/genome-3329
- refs/tags/genome-3330
- refs/tags/genome-3331
- refs/tags/genome-3332
- refs/tags/genome-3333
- refs/tags/genome-3334
- refs/tags/genome-3335
- refs/tags/genome-3336
- refs/tags/genome-3337
- refs/tags/genome-3338
- refs/tags/genome-3339
- refs/tags/genome-3340
- refs/tags/genome-3341
- refs/tags/genome-3342
- refs/tags/genome-3343
- refs/tags/genome-3344
- refs/tags/genome-3345
- refs/tags/genome-3346
- refs/tags/genome-3347
- refs/tags/genome-3348
- refs/tags/genome-3349
- refs/tags/genome-3350
- refs/tags/genome-3351
- refs/tags/genome-3352
- refs/tags/genome-3353
- refs/tags/genome-3354
- refs/tags/genome-3355
- refs/tags/genome-3356
- refs/tags/genome-3357
- refs/tags/genome-3358
- refs/tags/genome-3359
- refs/tags/genome-3360
- refs/tags/genome-3361
- refs/tags/genome-3362
- refs/tags/genome-3363
- refs/tags/genome-3364
- refs/tags/genome-3365
- refs/tags/genome-3366
- refs/tags/genome-3367
- refs/tags/genome-3368
- refs/tags/genome-3369
- refs/tags/genome-3370
- refs/tags/genome-3371
- refs/tags/genome-3372
- refs/tags/genome-3373
- refs/tags/genome-3374
- refs/tags/genome-3375
- refs/tags/genome-3376
- refs/tags/genome-3377
- refs/tags/genome-3378
- refs/tags/genome-3379
- refs/tags/genome-3380
- refs/tags/genome-3381
- refs/tags/genome-3382
- refs/tags/genome-3383
- refs/tags/genome-3384
- refs/tags/genome-3385
- refs/tags/genome-3386
- refs/tags/genome-3387
- refs/tags/genome-3388
- refs/tags/genome-3389
- refs/tags/genome-3390
- refs/tags/genome-3391
- refs/tags/genome-3392
- refs/tags/genome-3393
- refs/tags/genome-3394
- refs/tags/genome-3395
- refs/tags/genome-3396
- refs/tags/genome-3397
- refs/tags/genome-3398
- refs/tags/genome-3399
- refs/tags/genome-3400
- refs/tags/genome-3401
- refs/tags/genome-3402
- refs/tags/genome-3403
- refs/tags/genome-3404
- refs/tags/genome-3405
- refs/tags/genome-3406
- refs/tags/genome-3407
- refs/tags/genome-3408
- refs/tags/genome-3409
- refs/tags/genome-3410
- refs/tags/genome-3411
- refs/tags/genome-3412
- refs/tags/genome-3413
- refs/tags/genome-3414
- refs/tags/genome-3415
- refs/tags/genome-3416
- refs/tags/genome-3417
- refs/tags/genome-3418
- refs/tags/genome-3419
- refs/tags/genome-3420
- refs/tags/genome-3421
- refs/tags/genome-3422
- refs/tags/genome-3423
- refs/tags/genome-3424
- refs/tags/genome-3425
- refs/tags/genome-3426
- refs/tags/genome-3427
- refs/tags/genome-3428
- refs/tags/genome-3429
- refs/tags/genome-3430
- refs/tags/genome-3431
- refs/tags/genome-3432
- refs/tags/genome-3433
- refs/tags/genome-3434
- refs/tags/genome-3435
- refs/tags/genome-3436
- refs/tags/genome-3437
- refs/tags/genome-3438
- refs/tags/genome-3439
- refs/tags/genome-3440
- refs/tags/genome-3441
- refs/tags/genome-3442
- refs/tags/genome-3443
- refs/tags/genome-3444
- refs/tags/genome-3445
- refs/tags/genome-3446
- refs/tags/genome-3447
- refs/tags/genome-3448
- refs/tags/genome-3449
- refs/tags/genome-3450
- refs/tags/genome-3451
- refs/tags/genome-3452
- refs/tags/genome-3453
- refs/tags/genome-3454
- refs/tags/genome-3455
- refs/tags/genome-3456
- refs/tags/genome-3457
- refs/tags/genome-3458
- refs/tags/genome-3459
- refs/tags/genome-3460
- refs/tags/genome-3461
- refs/tags/genome-3462
- refs/tags/genome-3463
- refs/tags/genome-3464
- refs/tags/genome-3465
- refs/tags/genome-3466
- refs/tags/genome-3467
- refs/tags/genome-3468
- refs/tags/genome-3469
- refs/tags/genome-3470
- refs/tags/genome-3471
- refs/tags/genome-3472
- refs/tags/genome-3473
- refs/tags/genome-3474
- refs/tags/genome-3475
- refs/tags/genome-3476
- refs/tags/genome-3477
- refs/tags/genome-3478
- refs/tags/genome-3479
- refs/tags/genome-3480
- refs/tags/genome-3481
- refs/tags/genome-3482
- refs/tags/genome-3483
- refs/tags/genome-3484
- refs/tags/genome-3485
- refs/tags/genome-3486
- refs/tags/genome-3487
- refs/tags/genome-3488
- refs/tags/genome-3489
- refs/tags/genome-3490
- refs/tags/genome-3491
- refs/tags/genome-3492
- refs/tags/genome-3493
- refs/tags/genome-3494
- refs/tags/genome-3495
- refs/tags/genome-3496
- refs/tags/genome-3497
- refs/tags/genome-3498
- refs/tags/genome-3499
- refs/tags/genome-3500
- refs/tags/genome-3501
- refs/tags/genome-3502
- refs/tags/genome-3503
- refs/tags/genome-3504
- refs/tags/genome-3505
- refs/tags/genome-3506
- refs/tags/genome-3507
- refs/tags/genome-3508
- refs/tags/genome-3509
- refs/tags/genome-3510
- refs/tags/genome-3511
- refs/tags/genome-3512
- refs/tags/genome-3513
- refs/tags/genome-3514
- refs/tags/genome-3515
- refs/tags/genome-3516
- refs/tags/genome-3517
- refs/tags/genome-3518
- refs/tags/genome-3519
- refs/tags/genome-3520
- refs/tags/genome-3521
- refs/tags/genome-3522
- refs/tags/genome-3523
- refs/tags/genome-3524
- refs/tags/genome-3525
- refs/tags/genome-3526
- refs/tags/genome-3527
- refs/tags/genome-3528
- refs/tags/genome-3529
- refs/tags/genome-3530
- refs/tags/genome-3531
- refs/tags/genome-3532
- refs/tags/genome-3533
- refs/tags/genome-3534
- refs/tags/genome-3535
- refs/tags/genome-3536
- refs/tags/genome-3537
- refs/tags/genome-3538
- refs/tags/genome-3539
- refs/tags/genome-3540
- refs/tags/genome-3541
- refs/tags/genome-3542
- refs/tags/genome-3543
- refs/tags/genome-3544
- refs/tags/genome-3545
- refs/tags/genome-3546
- refs/tags/genome-3547
- refs/tags/genome-3548
- refs/tags/genome-3549
- refs/tags/genome-3550
- refs/tags/genome-3551
- refs/tags/genome-3552
- refs/tags/genome-3553
- refs/tags/genome-3554
- refs/tags/genome-3555
- refs/tags/genome-3556
- refs/tags/genome-3557
- refs/tags/genome-3558
- refs/tags/genome-3559
- refs/tags/genome-3560
- refs/tags/genome-3561
- refs/tags/genome-3562
- refs/tags/genome-3563
- refs/tags/genome-3564
- refs/tags/genome-3565
- refs/tags/genome-3566
- refs/tags/genome-3567
- refs/tags/genome-3568
- refs/tags/genome-3569
- refs/tags/genome-3570
- refs/tags/genome-3571
- refs/tags/genome-3572
- refs/tags/genome-3573
- refs/tags/genome-3574
- refs/tags/genome-3575
- refs/tags/genome-3576
- refs/tags/genome-3577
- refs/tags/genome-3578
- refs/tags/genome-3579
- refs/tags/genome-3580
- refs/tags/genome-3581
- refs/tags/genome-3582
- refs/tags/genome-3583
- refs/tags/genome-3584
- refs/tags/genome-3585
- refs/tags/genome-3586
- refs/tags/genome-3587
- refs/tags/genome-3588
- refs/tags/genome-3589
- refs/tags/genome-3590
- refs/tags/genome-3591
- refs/tags/genome-3592
- refs/tags/genome-3593
- refs/tags/genome-3594
- refs/tags/genome-3595
- refs/tags/genome-3596
- refs/tags/genome-3597
- refs/tags/genome-3598
- refs/tags/genome-3599
- refs/tags/genome-3600
- refs/tags/genome-3601
- refs/tags/genome-3602
- refs/tags/genome-3603
- refs/tags/genome-3604
- refs/tags/genome-3605
- refs/tags/genome-3606
- refs/tags/genome-3607
- refs/tags/genome-3608
- refs/tags/genome-3609
- refs/tags/genome-3610
- refs/tags/genome-3611
- refs/tags/genome-3612
- refs/tags/genome-3613
- refs/tags/genome-3614
- refs/tags/genome-3615
- refs/tags/genome-3616
- refs/tags/genome-3617
- refs/tags/genome-3618
- refs/tags/genome-3619
- refs/tags/genome-3620
- refs/tags/genome-3621
- refs/tags/genome-3622
- refs/tags/genome-3623
- refs/tags/genome-3624
- refs/tags/genome-3625
- refs/tags/genome-3626
- refs/tags/genome-3627
- refs/tags/genome-3628
- refs/tags/genome-3629
- refs/tags/genome-3630
- refs/tags/genome-3631
- refs/tags/genome-3632
- refs/tags/genome-3633
- refs/tags/genome-3634
- refs/tags/genome-3635
- refs/tags/genome-3636
- refs/tags/genome-3637
- refs/tags/genome-3638
- refs/tags/genome-3639
- refs/tags/genome-3640
- refs/tags/genome-3641
- refs/tags/genome-3642
- refs/tags/genome-3643
- refs/tags/genome-3644
- refs/tags/genome-3645
- refs/tags/genome-3646
- refs/tags/genome-3647
- refs/tags/genome-3648
- refs/tags/genome-3649
- refs/tags/genome-3650
- refs/tags/genome-3651
- refs/tags/genome-3652
- refs/tags/genome-3653
- refs/tags/genome-3654
- refs/tags/genome-3655
- refs/tags/genome-3656
- refs/tags/genome-3657
- refs/tags/genome-3658
- refs/tags/genome-3659
- refs/tags/genome-3660
- refs/tags/genome-3661
- refs/tags/genome-3662
- refs/tags/genome-3663
- refs/tags/genome-3664
- refs/tags/genome-3665
- refs/tags/genome-3666
- refs/tags/genome-3667
- refs/tags/genome-3668
- refs/tags/genome-3669
- refs/tags/genome-3670
- refs/tags/genome-3671
- refs/tags/genome-3672
- refs/tags/genome-3673
- refs/tags/genome-3674
- refs/tags/genome-3675
- refs/tags/genome-3676
- refs/tags/genome-3677
- refs/tags/genome-3678
- refs/tags/genome-3679
- refs/tags/genome-3680
- refs/tags/genome-3681
- refs/tags/genome-3682
- refs/tags/genome-3683
- refs/tags/genome-3684
- refs/tags/genome-3685
- refs/tags/genome-3686
- refs/tags/genome-3687
- refs/tags/genome-3688
- refs/tags/genome-3689
- refs/tags/genome-3690
- refs/tags/genome-3691
- refs/tags/genome-3692
- refs/tags/genome-3693
- refs/tags/genome-3694
- refs/tags/genome-3695
- refs/tags/genome-3696
- refs/tags/genome-3697
- refs/tags/genome-3698
- refs/tags/genome-3699
- refs/tags/genome-3700
- refs/tags/genome-3701
- refs/tags/genome-3702
- refs/tags/genome-3703
- refs/tags/genome-3704
- refs/tags/genome-3705
- refs/tags/genome-3706
- refs/tags/genome-3707
- refs/tags/genome-3708
- refs/tags/genome-3709
- refs/tags/genome-3710
- refs/tags/genome-3711
- refs/tags/genome-3712
- refs/tags/genome-3713
- refs/tags/genome-3714
- refs/tags/genome-3715
- refs/tags/genome-3716
- refs/tags/genome-3717
- refs/tags/genome-3718
- refs/tags/genome-3719
- refs/tags/genome-3720
- refs/tags/genome-3721
- refs/tags/genome-3722
- refs/tags/genome-3723
- refs/tags/genome-3724
- refs/tags/genome-3725
- refs/tags/genome-3726
- refs/tags/genome-3727
- refs/tags/genome-3728
- refs/tags/genome-3729
- refs/tags/genome-3730
- refs/tags/genome-3731
- refs/tags/genome-3732
- refs/tags/genome-3733
- refs/tags/genome-3734
- refs/tags/genome-3735
- refs/tags/genome-3736
- refs/tags/genome-3737
- refs/tags/genome-3738
- refs/tags/genome-3739
- refs/tags/genome-3740
- refs/tags/genome-3741
- refs/tags/genome-3742
- refs/tags/genome-3743
- refs/tags/genome-3744
- refs/tags/genome-3745
- refs/tags/genome-3746
- refs/tags/genome-3747
- refs/tags/genome-3748
- refs/tags/genome-3749
- refs/tags/genome-3750
- refs/tags/genome-3751
- refs/tags/genome-3752
- refs/tags/genome-3753
- refs/tags/genome-3754
- refs/tags/genome-3755
- refs/tags/genome-3756
- refs/tags/genome-3757
- refs/tags/genome-3758
- refs/tags/genome-3759
- refs/tags/genome-3760
- refs/tags/genome-3761
- refs/tags/genome-3762
- refs/tags/genome-3763
- refs/tags/genome-3764
- refs/tags/genome-3765
- refs/tags/genome-3766
- refs/tags/genome-3767
- refs/tags/genome-3768
- refs/tags/genome-3769
- refs/tags/genome-3770
- refs/tags/genome-3771
- refs/tags/genome-3772
- refs/tags/genome-3773
- refs/tags/genome-3774
- refs/tags/genome-3775
- refs/tags/genome-3776
- refs/tags/genome-3777
- refs/tags/genome-3778
- refs/tags/genome-3779
- refs/tags/genome-3780
- refs/tags/genome-3781
- refs/tags/genome-3782
- refs/tags/genome-3783
- refs/tags/genome-3784
- refs/tags/genome-3785
- refs/tags/genome-3786
- refs/tags/genome-3787
- refs/tags/genome-3788
- refs/tags/genome-3789
- refs/tags/genome-3790
- refs/tags/genome-3791
- refs/tags/genome-3792
- refs/tags/genome-3793
- refs/tags/genome-3794
- refs/tags/genome-3795
- refs/tags/genome-3796
- refs/tags/genome-3797
- refs/tags/genome-3798
- refs/tags/genome-3799
- refs/tags/genome-3800
- refs/tags/genome-3801
- refs/tags/genome-3802
- refs/tags/genome-3803
- refs/tags/genome-3804
- refs/tags/genome-3805
- refs/tags/genome-3806
- refs/tags/genome-3807
- refs/tags/genome-3808
- refs/tags/genome-3809
- refs/tags/genome-3810
- refs/tags/genome-3811
- refs/tags/genome-3812
- refs/tags/genome-3813
- refs/tags/genome-3814
- ee5f5f536790022855d1b94ef80d21b00b055b69
Cook and download a directory from the Software Heritage Vault
You have requested the cooking of the directory with identifier None into a standard tar.gz archive
.
Are you sure you want to continue ?
Download a directory from the Software Heritage Vault
You have requested the download of the directory with identifier None as a standard tar.gz archive
.
Are you sure you want to continue ?
Cook and download a revision from the Software Heritage Vault
You have requested the cooking of the history heading to revision with identifier swh:1:rev:ee5f5f536790022855d1b94ef80d21b00b055b69 into a bare git archive
.
Are you sure you want to continue ?
Download a revision from the Software Heritage Vault
You have requested the download of the history heading to revision with identifier swh:1:rev:ee5f5f536790022855d1b94ef80d21b00b055b69 as a bare git archive
.
Are you sure you want to continue ?
Invalid Email !
The provided email is not well-formed.
Download link has expired
The requested archive is no longer available for download from the Software Heritage Vault.
Do you want to cook it again ?
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.![swh spinner](/static/img/swh-spinner.gif)
Processing "take a new snapshot" request ...
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.
Update CafInterpreter to prepend fields with source
#!/usr/bin/perl
use strict;
use warnings FATAL => qw(all);
use IPC::System::Simple qw(capture);
# This pre-receive hook comes from jira issue AR-206 The idea is to prevent a
# naive git commit -a from updating submodules in genome.git that should never
# be updated by a regular user.
# See githooks(5) for more information.
my @user_whitelist = exists $ENV{GENOMECI_USER_WHITELIST}
? (split /:/, $ENV{GENOMECI_USER_WHITELIST})
: qw( apipe-tester );
my @protected_dirs = qw( ur workflow );
my @protected_heads = qw( master );
my $user_name = getpwuid($>);
exit 0 if grep {$user_name eq $_} @user_whitelist;
my $exit_status = 0;
while (my $change = next_change()) {
my $protected = grep {$change->{'ref_name'} eq "refs/heads/$_"} @protected_heads;
if (not $protected) { }
elsif (change_creates_branch($change)) { }
elsif (change_delete_branch($change)) {
printf "*** %s is not allowed to delete %s\n", $user_name, $change->{'ref_name'};
$exit_status++;
}
elsif ( my @modified_dirs = get_modified_dirs($change, @protected_dirs) ) {
printf "*** %s is not allowed to modify %s on %s\n",
$user_name, join(', ', @modified_dirs), $change->{'ref_name'};
$exit_status++;
}
}
exit $exit_status;
sub next_change {
my $record = <STDIN>;
return unless $record;
chomp $record;
my %record;
@record{'old_value', 'new_value', 'ref_name'} = split / /, $record;
return \%record;
}
sub change_creates_branch {
my ($change) = @_;
return $change->{old_value} eq '0000000000000000000000000000000000000000';
}
sub change_delete_branch {
my ($change) = @_;
return $change->{new_value} eq '0000000000000000000000000000000000000000';
}
sub get_modified_dirs {
my ($change, @dirs_to_check) = @_;
my @modified_dirs = capture(
git => 'diff', '--name-only', @{$change}{'old_value', 'new_value'}, '--', @dirs_to_check);
chomp @modified_dirs;
return @modified_dirs;
}
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...