GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PITHUB::GITDATA::TREES (3)

.ds Aq ’

NAME

Pithub::GitData::Trees - Github v3 Git Data Trees API

CONTENTS

VERSION

version 0.01033

METHODS

    create

The tree creation API will take nested entries as well. If both a tree and a nested path modifying that tree are specified, it will overwrite the contents of that tree with the new path contents and write a new tree out.
o Create a Tree



    POST /repos/:user/:repo/git/trees



Parameters:
o <B>userB>: mandatory string
o <B>repoB>: mandatory string
o <B>dataB>: mandatory hashref, having following keys:
o <B>base_treeB>: optional String of the SHA1 of the tree you want to update with new data.
o <B>treeB>: mandatory arrayref of hashrefs, having following keys:
o <B>pathB>: mandatory string of the file referenced in the tree.
o <B>modeB>: mandatory string of the file mode - one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree), 160000 for submodule (commit) or 120000 for a blob that specifies the path of a symlink.
o <B>typeB>: mandatory string of blob, tree, commit.
o <B>shaB>: mandatory string of SHA1 checksum ID of the object in the tree.
o <B>contentB>: String of content you want this file to have - GitHub will write this blob out and use that SHA for this entry. Use either this or tree.sha.

Examples:



    my $t = Pithub::GitData::Trees->new;
    my $result = $t->create(
        user => octocat,
        repo => Hello-World,
        data => {
            tree => [
                {
                    path => file.rb,
                    mode => 100644,
                    type => blob,
                    sha  => 7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b,
                }
            ]
        }
    );



Response: <B>Status: 201 CreatedB>



    {
        "sha": "cd8274d15fa3ae2ab983129fb037999f264ba9a7",
        "url": "https://api.github.com/repo/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7",
        "tree": [
        {
            "path": "file.rb",
            "mode": "100644",
            "type": "blob",
            "size": 132,
            "sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b",
            "url": "https://api.github.com/octocat/Hello-World/git/blobs/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b"
        }
        ]
    }



    get

o Get a Tree



    GET /repos/:user/:repo/git/trees/:sha



Parameters:
o <B>userB>: mandatory string
o <B>repoB>: mandatory string
o <B>shaB>: mandatory string
o <B>recursiveB>: optional boolean

Examples:



    my $t = Pithub::GitData::Trees->new;
    my $result = $t->get(
        user => plu,
        repo => Pithub,
        sha  => df21b2660fb6
    );



Response: <B>Status: 200 OKB>



    {
        "sha": "9fb037999f264ba9a7fc6274d15fa3ae2ab98312",
        "url": "https://api.github.com/repo/octocat/Hello-World/trees/9fb037999f264ba9a7fc6274d15fa3ae2ab98312",
        "tree": [
        {
            "path": "file.rb",
            "mode": "100644",
            "type": "blob",
            "size": 30,
            "sha": "44b4fc6d56897b048c772eb4087f854f46256132",
            "url": "https://api.github.com/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132"
        },
        {
            "path": "subdir",
            "mode": "040000",
            "type": "tree",
            "sha": "f484d249c660418515fb01c2b9662073663c242e",
            "url": "https://api.github.com/octocat/Hello-World/git/blobs/f484d249c660418515fb01c2b9662073663c242e"
        },
        {
            "path": "exec_file",
            "mode": "100755",
            "type": "blob",
            "size": 75,
            "sha": "45b983be36b73c0788dc9cbcb76cbb80fc7bb057",
            "url": "https://api.github.com/octocat/Hello-World/git/blobs/45b983be36b73c0788dc9cbcb76cbb80fc7bb057"
        }
        ]
    }



o Get a Tree Recursively



    GET /repos/:user/:repo/git/trees/:sha?recursive=1



Parameters:
o <B>userB>: mandatory string
o <B>repoB>: mandatory string
o <B>shaB>: mandatory string
o <B>recursiveB>: optional boolean

Examples:



    my $t = Pithub::GitData::Trees->new;
    my $result = $t->get(
        user      => plu,
        repo      => Pithub,
        sha       => df21b2660fb6,
        recursive => 1,
    );



Response: <B>Status: 200 OKB>



    {
        "sha": "fc6274d15fa3ae2ab983129fb037999f264ba9a7",
        "url": "https://api.github.com/repo/octocat/Hello-World/trees/fc6274d15fa3ae2ab983129fb037999f264ba9a7",
        "tree": [
        {
            "path": "subdir/file.txt",
            "mode": "100644",
            "type": "blob",
            "size": 132,
            "sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b",
            "url": "https://api.github.com/octocat/Hello-World/git/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b"
        }
        ]
    }



AUTHOR

Johannes Plunien <plu@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Johannes Plunien.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PITHUB::GITDATA::TREES (3) 2016-01-22

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.