| |
@@ -0,0 +1,898 @@
|
| |
+ interactions:
|
| |
+ - request:
|
| |
+ body: null
|
| |
+ headers:
|
| |
+ Accept: ['*/*']
|
| |
+ Accept-Encoding: ['gzip, deflate']
|
| |
+ Connection: [keep-alive]
|
| |
+ User-Agent: [python-requests/2.12.5]
|
| |
+ method: GET
|
| |
+ uri: https://pagure.io/pagure
|
| |
+ response:
|
| |
+ body: {string: "<!DOCTYPE html>\n<html lang='en'>\n<head>\n <meta http-equiv=\"\
|
| |
+ Content-Type\" content=\"text/html; charset=UTF-8\"/>\n <title>Overview\
|
| |
+ \ - pagure - Pagure</title>\n <link rel=\"shortcut icon\" type=\"image/vnd.microsoft.icon\"\
|
| |
+ \n href=\"/static/favicon.ico\"/>\n <link href=\"https://apps.fedoraproject.org/global/fedora-bootstrap-1.0.1/fedora-bootstrap.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <link href=\"/static/pagure.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <link href=\"/static/vendor/open-iconic/css/open-iconic.min.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <link href=\"/static/fonts/fonts.css\"\
|
| |
+ \n rel=\"stylesheet\" type=\"text/css\" />\n <link href=\"/static/vendor/hack_fonts/css/hack-extended.min.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <meta name=\"go-import\"\
|
| |
+ \ content=\"pagure.io/pagure git https://pagure.io/pagure.git\">\n </head>\n\
|
| |
+ \ <body id=\"home\">\n <!-- start masthead -->\n <div class=\"masthead\"\
|
| |
+ >\n <div class=\"container\">\n <div class=\"row\">\n \
|
| |
+ \ <div class=\"col-sm-3\">\n <a href=\"/\">\n <img\
|
| |
+ \ height=40px src=\"/static/pagure-logo.png\"\n alt=\"pagure\
|
| |
+ \ Logo\" id=\"pagureLogo\"/>\n </a>\n </div>\n \
|
| |
+ \ <div class=\"col-sm-9\">\n <div class=\"row\">\n\n <nav class=\"\
|
| |
+ navbar navbar-light p-t-0 p-b-0\">\n <div class=\"container\">\n \
|
| |
+ \ <ul class=\"nav navbar-nav nav-underline pull-xs-right\">\n \
|
| |
+ \ <li class=\"nav-item p-l-1\">\n <a class=\"nav-link btn\
|
| |
+ \ btn-primary\" href=\"/login/?next=https://pagure.io/pagure\">Log In</a>\n\
|
| |
+ \ </li>\n </ul>\n </div>\n </nav>\n\n \
|
| |
+ \ </div>\n </div>\n </div>\n </div>\n </div><!--\
|
| |
+ \ close masthead-->\n\n <div class=\"bodycontent p-b-3\">\n\n\n<div class=\"\
|
| |
+ repo-header p-t-1\">\n <div class=\"container\">\n <header>\n <h2\
|
| |
+ \ class=\"repo-name m-b-0\">\n<a href=\"/pagure\">pagure</a>\n </h2>\n\
|
| |
+ \ <div class=\"projectinfo m-t-1 m-b-1\">\nA git centered forge |\
|
| |
+ \ <a class=\"inline\" href=\"https://pagure.io\">https://pagure.io</a>\
|
| |
+ \ </div>\n\n </header>\n <ul class=\"nav nav-tabs nav-small\"\
|
| |
+ >\n <li class=\"nav-item\">\n <a class=\"nav-link active\" href=\"\
|
| |
+ /pagure\">\n <span class=\"oi hidden-md-up\" data-glyph=\"home\"\
|
| |
+ ></span>\n <span class=\"hidden-sm-down\">Overview</span>\n \
|
| |
+ \ </a>\n </li>\n <li class=\"nav-item\" >\n <a class=\"\
|
| |
+ nav-link\" href=\"/docs/pagure/\">\n <span class=\"oi hidden-md-up\"\
|
| |
+ \ data-glyph=\"book\"></span>\n <span class=\"hidden-sm-down\"\
|
| |
+ >Docs</span>\n </a>\n </li>\n\n <li class=\"nav-item\"\
|
| |
+ >\n <a class=\"nav-link\" href=\"/pagure/commits/master\">\n \
|
| |
+ \ <span class=\"oi hidden-md-up\" data-glyph=\"spreadsheet\">\n \
|
| |
+ \ </span><span class=\"hidden-sm-down\">Commits</span>\n \
|
| |
+ \ </a>\n </li>\n\n <li class=\"nav-item\">\n \
|
| |
+ \ <a class=\"nav-link\" href=\"/pagure/tree/master\">\n <span\
|
| |
+ \ class=\"oi hidden-md-up\" data-glyph=\"file\"></span>\n <span\
|
| |
+ \ class=\"hidden-sm-down\">Files</span>\n </a>\n </li>\n\n\
|
| |
+ \ <li class=\"nav-item\">\n <a class=\"nav-link\" href=\"\
|
| |
+ /pagure/releases\">\n <span class=\"oi hidden-md-up\" data-glyph=\"\
|
| |
+ box\"></span>\n <span class=\"hidden-sm-down\">Releases</span>\n\
|
| |
+ \ </a>\n </li>\n\n <li class=\"nav-item\">\n \
|
| |
+ \ <a class=\"nav-link\" href=\"/pagure/issues\">\n <span\
|
| |
+ \ class=\"oi hidden-md-up\" data-glyph=\"warning\"></span>\n \
|
| |
+ \ <span class=\"hidden-sm-down\">Issues </span>\n <span\
|
| |
+ \ class=\"label label-default label-pill hidden-sm-down\">\n \
|
| |
+ \ 340\n </span>\n </a>\n </li>\n\n \
|
| |
+ \ <li class=\"nav-item\">\n <a class=\"nav-link\" href=\"/pagure/pull-requests\"\
|
| |
+ >\n <span class=\"oi hidden-md-up\" data-glyph=\"task\"></span>\n\
|
| |
+ \ <span class=\"hidden-sm-down\">Pull Requests </span>\n\
|
| |
+ \ <span class=\"label label-default label-pill hidden-sm-down\"\
|
| |
+ >\n 15\n </span>\n </a>\n </li>\n\
|
| |
+ \n <li class=\"nav-item\">\n <a class=\"nav-link\" href=\"\
|
| |
+ /pagure/forks\">\n <span class=\"oi hidden-md-up\" data-glyph=\"\
|
| |
+ fork\"></span>\n <span class=\"hidden-sm-down\">Forks </span>\n\
|
| |
+ \ <span class=\"hidden-sm-down label label-default label-pill\"\
|
| |
+ >\n 131\n </span>\n </a>\n </li>\n\
|
| |
+ \n\n </ul>\n </div>\n</div>\n\n<div class=\"container p-t-3\">\n <div\
|
| |
+ \ class=\"row\">\n <div class=\"col-md-8\">\n <section class=\"\
|
| |
+ readme\">\n <div class=\"document\">\n<div class=\"section\"\
|
| |
+ >\n<h1>Pagure</h1>\n<table class=\"docutils field-list\">\n<colgroup><col>\n\
|
| |
+ <col>\n</colgroup><tbody>\n<tr><th>Author:</th><td>Pierre-Yves Chibon <<a\
|
| |
+ \ href=\"mailto:pingou@pingoured.fr\">pingou@pingoured.fr</a>></td>\n</tr>\n\
|
| |
+ </tbody>\n</table>\n<p>Pagure is a git-centered forge, python based using\
|
| |
+ \ pygit2.</p>\n<p>With pagure you can host your project with its documentation,\
|
| |
+ \ let your users\nreport issues or request enhancements using the ticketing\
|
| |
+ \ system and build your\ncommunity of contributors by allowing them to fork\
|
| |
+ \ your projects and contribute\nto it via the now-popular pull-request mechanism.</p>\n\
|
| |
+ <p>Homepage: <a href=\"https://pagure.io/pagure\">https://pagure.io/pagure</a></p>\n\
|
| |
+ <p>See it at work: <a href=\"https://pagure.io\">https://pagure.io</a></p>\n\
|
| |
+ <p>Playground version: <a href=\"https://stg.pagure.io\">https://stg.pagure.io</a></p>\n\
|
| |
+ </div>\n<div class=\"section\">\n<h1>Get it running</h1>\n<p>There are several\
|
| |
+ \ options when it comes to a development environment. Vagrant\nwill provide\
|
| |
+ \ you with a virtual machine which you can develop on, or you can\ninstall\
|
| |
+ \ it directly on your host machine.</p>\n<div class=\"section\">\n<h2>Vagrant</h2>\n\
|
| |
+ <p>For a more thorough introduction to Vagrant, see\n<a href=\"https://fedoraproject.org/wiki/Vagrant\"\
|
| |
+ >https://fedoraproject.org/wiki/Vagrant</a>.</p>\n<p>An example Vagrantfile\
|
| |
+ \ is provided as <code>Vagrantfile.example</code>. To use it,\njust copy it\
|
| |
+ \ and install Vagrant:</p>\n<pre>$ cp dev/Vagrantfile.example Vagrantfile\n\
|
| |
+ $ sudo dnf install ansible libvirt vagrant-libvirt vagrant-sshfs vagrant-hostmanager\n\
|
| |
+ $ vagrant up\n</pre>\n<p>The default <code>Vagrantfile</code> forwards ports\
|
| |
+ \ from the host to the guest,\nso you can interact with the application as\
|
| |
+ \ if it were running on your\nhost machine.</p>\n<div class=\"note\">\n<p>Note</p>\n\
|
| |
+ <p><code><span class=\"pre\">vagrant-hostmanager</span></code> will automatically\
|
| |
+ \ maintain /etc/hosts for you so you\ncan access the development environment\
|
| |
+ \ from the host using its hostname, which\nby default is <code><span class=\"\
|
| |
+ pre\">pagure-dev.example.com</span></code>. You can choose not to use this\n\
|
| |
+ functionality by simply not installing the <code><span class=\"pre\">vagrant-hostmanager</span></code>\
|
| |
+ \ plugin, but\nif you want Pagure to provide valid URLs in the UI for git\
|
| |
+ \ repositories, you\nwill need to adjust Pagure's configuration found in ~/pagure.cfg\
|
| |
+ \ on the guest.</p>\n</div>\n</div>\n<div class=\"section\">\n<h2>Manually</h2>\n\
|
| |
+ <ul>\n<li><p>Install the needed system libraries:</p>\n<pre>sudo dnf install\
|
| |
+ \ git python2-virtualenv libgit2-devel \\\n libjpeg-devel\
|
| |
+ \ gcc libffi-devel redhat-rpm-config\n</pre>\n<div class=\"note\">\n<p>Note</p>\n\
|
| |
+ <p>Do note the version of libgit2 that you install, for example\nin <code><span\
|
| |
+ \ class=\"pre\">libgit2-0.23.4-1</span></code> you need to keep in mind the\
|
| |
+ \ <code>0.23</code></p>\n</div>\n<div class=\"note\">\n<p>Note</p>\n<p>On\
|
| |
+ \ Fedora 23 and earlier or on RHEL and derivative (CentOS,\nScientific Linux)\
|
| |
+ \ the package <cite>python2-virtualenv</cite> is named\n<cite>python-virtualenv</cite></p>\n\
|
| |
+ </div>\n</li>\n<li><p>Retrieve the sources:</p>\n<pre>git clone https://pagure.io/pagure.git\n\
|
| |
+ cd pagure\n</pre>\n</li>\n<li><p>Install dependencies</p>\n<ul>\n<li><p>create\
|
| |
+ \ the virtualenv:</p>\n<pre>virtualenv pagure_env\nsource ./pagure_env/bin/activate\n\
|
| |
+ </pre>\n</li>\n<li><p>Install the correct version of pygit2:</p>\n<pre>pip\
|
| |
+ \ install pygit2==<version of libgit2 found>.*\n</pre>\n<p>So in our\
|
| |
+ \ example:</p>\n<pre>pip install pygit2==0.23.*\n</pre>\n</li>\n<li><p>Install\
|
| |
+ \ the rest of the dependencies:</p>\n<pre>pip install -r requirements.txt\n\
|
| |
+ </pre>\n</li>\n</ul>\n</li>\n<li><p>Create the folder that will receive the\
|
| |
+ \ projects, forks, docs, requests and\ntickets' git repo:</p>\n<pre>mkdir\
|
| |
+ \ -p lcl/{repos,docs,forks,tickets,requests,remotes,attachments,releases}\n\
|
| |
+ </pre>\n</li>\n<li><p>Create the inital database scheme:</p>\n<pre>python\
|
| |
+ \ createdb.py\n</pre>\n</li>\n<li><p>Start a worker, in one terminal:</p>\n\
|
| |
+ <pre>./runworker.py\n</pre>\n</li>\n<li><p>Run the application, in another\
|
| |
+ \ terminal:</p>\n<pre>./runserver.py\n</pre>\n</li>\n<li><p>To get some profiling\
|
| |
+ \ information you can also run it as:</p>\n<pre>./runserver.py --profile\n\
|
| |
+ </pre>\n</li>\n</ul>\n<p>This will launch the application at <a href=\"http://127.0.0.1:5000\"\
|
| |
+ >http://127.0.0.1:5000</a></p>\n<ul>\n<li><p>To run unit-tests on pagure</p>\n\
|
| |
+ <ul>\n<li><p>Install the dependencies:</p>\n<pre>pip install -r tests_requirements.txt\n\
|
| |
+ </pre>\n</li>\n<li><p>Run it:</p>\n<pre>./runtests.sh\n</pre>\n<div class=\"\
|
| |
+ note\">\n<p>Note</p>\n<p>While testing for worker tasks, pagure uses celery\
|
| |
+ \ in /usr/bin/\nCelery then looks for eventlet (which we use for testing only)\
|
| |
+ \ at\nsystem level and not in virtualenv. You will need to install eventlet\n\
|
| |
+ outside of your virtualenv if you are using one.</p>\n</div>\n</li>\n</ul>\n\
|
| |
+ </li>\n</ul>\n</div>\n</div>\n</div>\n\n </section>\n </div>\n\
|
| |
+ \ <div class=\"col-md-4\">\n <div class=\"card\">\n <div\
|
| |
+ \ class=\"card-block\">\n <h5><strong>Contributors</strong></h5>\n\
|
| |
+ \ <div class=\"m-b-2\">\n <div>\n <a\
|
| |
+ \ href=\"/user/pingou\">\n <img class=\"avatar circle\" src=\"\
|
| |
+ https://seccdn.libravatar.org/avatar/b3ee7bb4de70b6522c2478df3b4cd6322b5ec5d62ac7ceb1128e3d4ff42f6928?s=20&d=retro\"\
|
| |
+ />\n Pierre-YvesChibon (pingou)\n </a>\n \
|
| |
+ \ - main admin\n </div>\n <div>\n\
|
| |
+ \ <a href=\"/user/ryanlerch\">\n <img\
|
| |
+ \ class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/de5bf8d06663adb3bb1b8d49ccab259828fad7dddeb233b073d0c447d79b4c14?s=20&d=retro\"\
|
| |
+ />\n Ryan Lerch (ryanlerch)\n </a>\n\
|
| |
+ \ - admin\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/puiterwijk\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/85f8b5f58b9808429ad69ba3722d64da01ce850635e348e838dfdc053e1140e3?s=20&d=retro\"\
|
| |
+ />\n Patrick "\u30DE\u30EB\u30BF\u30A4\u30F3\u30A2\
|
| |
+ \u30F3\u30C9\u30EC\u30A2\u30B9" Uiterwijk (puiterwijk)\n \
|
| |
+ \ </a>\n - commit\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/vivekanand1101\"\
|
| |
+ >\n <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/342d1c36d5c2f6984933a1238581dfbe74a08bf09ccaf110793703f1e8067169?s=20&d=retro\"\
|
| |
+ />\n Vivek Anand (vivekanand1101)\n \
|
| |
+ \ </a>\n - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/farhaan\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/b681ddfaffa293b03c57e5f0ed90eb1e06a8f748f4dccdccef8cdd301c66c9ae?s=20&d=retro\"\
|
| |
+ />\n Farhaan Bukhsh (farhaan)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/cverna\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/c7844b93c43c862adaa29920c09bdfb91efed57a843203e5d0b72673e664c003?s=20&d=retro\"\
|
| |
+ />\n Clement Verna (cverna)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/jcline\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/1a108f46a960aa35efcabd0b779cd59b8c3aba2927213fe63373921e1aa3fac4?s=20&d=retro\"\
|
| |
+ />\n Jeremy Cline (jcline)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/lslebodn\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/8c6fcfe0eec099f1f01f5c237935bb5c97f2063a5c1068e57c5815e0bfecbf70?s=20&d=retro\"\
|
| |
+ />\n Lukas Slebodnik (lslebodn)\n \
|
| |
+ \ </a>\n - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/mprahl\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/ecae5ad9b37619a38e699de00049e449f120b433c9f26a8beb05b990dfc54c9d?s=20&d=retro\"\
|
| |
+ />\n Matt Prahl (mprahl)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n </div>\n\
|
| |
+ \ <h5><strong>Branches</strong></h5>\n <div class=\"\
|
| |
+ m-b-2\">\n <div id=\"branch-master\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"\n \
|
| |
+ \ title=\"Default branch\"></span>\n <strong title=\"\
|
| |
+ Currently viewing branch master\" data-toggle=\"tooltip\">master</strong>\n\
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\"\
|
| |
+ >\n <span class=\"oi text-muted\" data-glyph=\"star\"\n \
|
| |
+ \ title=\"Default branch\"></span>\n </div>\n\
|
| |
+ \ </div>\n\n <div id=\"branch-2.9.x\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/2.9.x\"\n \
|
| |
+ \ title=\"2.9.x\" data-toggle=\"tooltip\">2.9.x\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-alembic_changes\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/alembic_changes\"\n \
|
| |
+ \ title=\"alembic_changes\" data-toggle=\"tooltip\">alembic_changes\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-confirm_merge\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/confirm_merge\"\n \
|
| |
+ \ title=\"confirm_merge\" data-toggle=\"tooltip\">confirm_merge\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-css_tables\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/css_tables\"\n \
|
| |
+ \ title=\"css_tables\" data-toggle=\"tooltip\">css_tables\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_del_project\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_del_project\"\n \
|
| |
+ \ title=\"fix_del_project\" data-toggle=\"tooltip\">fix_del_project\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_delete\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_delete\"\n \
|
| |
+ \ title=\"fix_delete\" data-toggle=\"tooltip\">fix_delete\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_diff_refs\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_diff_refs\"\n \
|
| |
+ \ title=\"fix_diff_refs\" data-toggle=\"tooltip\">fix_diff_refs\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_doc\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_doc\"\n \
|
| |
+ \ title=\"fix_doc\" data-toggle=\"tooltip\">fix_doc\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_linking\" class=\"repoinfo-branchlistitem row\">\n\
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span\
|
| |
+ \ class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_linking\"\n \
|
| |
+ \ title=\"fix_linking\" data-toggle=\"tooltip\">fix_linking\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_pygit_error\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_pygit_error\"\n \
|
| |
+ \ title=\"fix_pygit_error\" data-toggle=\"tooltip\">fix_pygit_error\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_reply_to\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_reply_to\"\n \
|
| |
+ \ title=\"fix_reply_to\" data-toggle=\"tooltip\">fix_reply_to\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_sse\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_sse\"\n \
|
| |
+ \ title=\"fix_sse\" data-toggle=\"tooltip\">fix_sse\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_sse_status\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_sse_status\"\n \
|
| |
+ \ title=\"fix_sse_status\" data-toggle=\"tooltip\">fix_sse_status\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_templates\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_templates\"\n \
|
| |
+ \ title=\"fix_templates\" data-toggle=\"tooltip\">fix_templates\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fixes\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fixes\"\n \
|
| |
+ \ title=\"fixes\" data-toggle=\"tooltip\">fixes\n </a>\n\
|
| |
+ \n </div>\n <div class=\"branch_del col-md-4\"\
|
| |
+ >\n </div>\n </div>\n <div id=\"\
|
| |
+ branch-force_flag\" class=\"repoinfo-branchlistitem row\">\n \
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span class=\"\
|
| |
+ oi text-muted\" data-glyph=\"random\"></span>\n <a class=\"\
|
| |
+ \" href=\"/pagure/branch/force_flag\"\n title=\"force_flag\"\
|
| |
+ \ data-toggle=\"tooltip\">force_flag\n </a>\n\n \
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\">\n \
|
| |
+ \ </div>\n </div>\n <div id=\"branch-gpg_check\"\
|
| |
+ \ class=\"repoinfo-branchlistitem row\">\n <div class=\"branch_name\
|
| |
+ \ col-md-8\">\n <span class=\"oi text-muted\" data-glyph=\"\
|
| |
+ random\"></span>\n <a class=\"\" href=\"/pagure/branch/gpg_check\"\
|
| |
+ \n title=\"gpg_check\" data-toggle=\"tooltip\">gpg_check\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-logging_milter\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/logging_milter\"\n \
|
| |
+ \ title=\"logging_milter\" data-toggle=\"tooltip\">logging_milter\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-mirroring\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/mirroring\"\n \
|
| |
+ \ title=\"mirroring\" data-toggle=\"tooltip\">mirroring\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-py3_work2\" class=\"repoinfo-branchlistitem row\">\n \
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span\
|
| |
+ \ class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/py3_work2\"\n title=\"\
|
| |
+ py3_work2\" data-toggle=\"tooltip\">py3_work2\n </a>\n\n\
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\"\
|
| |
+ >\n </div>\n </div>\n <div id=\"\
|
| |
+ branch-rel_2.2.z\" class=\"repoinfo-branchlistitem row\">\n \
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span class=\"\
|
| |
+ oi text-muted\" data-glyph=\"random\"></span>\n <a class=\"\
|
| |
+ \" href=\"/pagure/branch/rel_2.2.z\"\n title=\"rel_2.2.z\"\
|
| |
+ \ data-toggle=\"tooltip\">rel_2.2.z\n </a>\n\n \
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\">\n \
|
| |
+ \ </div>\n </div>\n <div id=\"branch-rel_2.3.z\"\
|
| |
+ \ class=\"repoinfo-branchlistitem row\">\n <div class=\"branch_name\
|
| |
+ \ col-md-8\">\n <span class=\"oi text-muted\" data-glyph=\"\
|
| |
+ random\"></span>\n <a class=\"\" href=\"/pagure/branch/rel_2.3.z\"\
|
| |
+ \n title=\"rel_2.3.z\" data-toggle=\"tooltip\">rel_2.3.z\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-scroll_metadata\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/scroll_metadata\"\n \
|
| |
+ \ title=\"scroll_metadata\" data-toggle=\"tooltip\">scroll_metadata\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-utf_search\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/utf_search\"\n \
|
| |
+ \ title=\"utf_search\" data-toggle=\"tooltip\">utf_search\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ </div>\n <h5><strong>Source GIT URLs</strong> \
|
| |
+ \ <span class=\"pull-xs-right\"><a data-toggle=\"collapse\" href=\"\
|
| |
+ #moregiturls\"\n aria-expanded=\"false\" aria-controls=\"\
|
| |
+ moregiturls\"\n id=\"more_gits\">more</a></span></h5>\n \
|
| |
+ \ <div>\n <div class=\"form-group\">\n \
|
| |
+ \ <div class=\"input-group input-group-sm\">\n <div class=\"\
|
| |
+ input-group-addon\">GIT</div>\n <input class=\"form-control\"\
|
| |
+ \ type=\"text\" value=\"https://pagure.io/pagure.git\" readonly>\n \
|
| |
+ \ </div>\n </div>\n <div class=\"collapse\"\
|
| |
+ \ id=\"moregiturls\">\n <h5><strong>Docs GIT URLs</strong></h5>\n\
|
| |
+ \ <div class=\"form-group\">\n <div class=\"\
|
| |
+ input-group input-group-sm\">\n <div class=\"input-group-addon\"\
|
| |
+ >GIT</div>\n <input class=\"form-control\" type=\"text\"\
|
| |
+ \ value=\"https://pagure.io/docs/pagure.git\" readonly>\n \
|
| |
+ \ </div>\n </div>\n </div>\n </div>\n\
|
| |
+ \ </div>\n <div class=\"repo_date\" title=\"2015-05-13 20:38:10.552662\"\
|
| |
+ >\n created 2 years ago\n </div>\n </div>\n\n\
|
| |
+ \ <div class=\"card\">\n <div class=\"card-header\">\n\
|
| |
+ \ <strong>Recent Commits in\n <span class=\"pr-toplabel\"\
|
| |
+ >\n <span class=\"oi\" data-glyph=\"random\"></span>\n \
|
| |
+ \ master\n </span>\n </strong>\n\
|
| |
+ \ </div>\n <div class=\"card-block p-a-0\">\n \
|
| |
+ \ <div class=\"list-group list-group-flush\">\n <a\
|
| |
+ \ href=\"/pagure/c/a324b4120738bb9765b59625f3e767f9b50d599f\" class=\"list-group-item\"\
|
| |
+ >\n <div class=\"commitdate\" title=\"Sep 25 2017 12:50:46\"\
|
| |
+ >\n <small>\n <strong>\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/b3ee7bb4de70b6522c2478df3b4cd6322b5ec5d62ac7ceb1128e3d4ff42f6928?s=20&d=retro\"\
|
| |
+ />\n Pierre-Yves Chibon\n \
|
| |
+ \ </strong>\n commited 2 days ago\n \
|
| |
+ \ </small>\n </div>\n <div><small>\n\
|
| |
+ \ Fix the unit-tests\n </small></div>\n\
|
| |
+ \ </a>\n <a href=\"/pagure/c/ef569a5160891b30cc2aa4d614b39f4a266d7ad7\"\
|
| |
+ \ class=\"list-group-item\">\n <div class=\"commitdate\"\
|
| |
+ \ title=\"Sep 21 2017 12:15:51\">\n <small>\n \
|
| |
+ \ <strong>\n <img class=\"avatar\
|
| |
+ \ circle\" src=\"https://seccdn.libravatar.org/avatar/342d1c36d5c2f6984933a1238581dfbe74a08bf09ccaf110793703f1e8067169?s=20&d=retro\"\
|
| |
+ />\n Vivek Anand\n </strong>\n\
|
| |
+ \ commited 5 days ago\n </small>\n\
|
| |
+ \ </div>\n <div><small>\n \
|
| |
+ \ give project: generate gitolite acls after giving a project\n\
|
| |
+ \ </small></div>\n </a>\n \
|
| |
+ \ <a href=\"/pagure/c/16c5781815d4695fe89db3c5cec5191dc1b81c6f\" class=\"\
|
| |
+ list-group-item\">\n <div class=\"commitdate\" title=\"\
|
| |
+ Sep 21 2017 10:26:39\">\n <small>\n \
|
| |
+ \ <strong>\n <img class=\"avatar circle\" src=\"\
|
| |
+ https://seccdn.libravatar.org/avatar/342d1c36d5c2f6984933a1238581dfbe74a08bf09ccaf110793703f1e8067169?s=20&d=retro\"\
|
| |
+ />\n Vivek Anand\n </strong>\n\
|
| |
+ \ commited 6 days ago\n </small>\n\
|
| |
+ \ </div>\n <div><small>\n \
|
| |
+ \ read only repo: Add unit test for update_read_only_mode method\n\
|
| |
+ \ </small></div>\n </a>\n \
|
| |
+ \ </div>\n </div>\n </div>\n </div>\n \
|
| |
+ \ </div>\n </div>\n\n\n</div>\n </div>\n\n <div class=\"footer\
|
| |
+ \ p-t-1 p-b-1\">\n <div class=\"container\">\n <p class=\"\
|
| |
+ text-muted credit\">\n Copyright © 2014-2017 Red Hat\n \
|
| |
+ \ <a href=\"https://pagure.io/pagure\">pagure</a> —\n 3.7.1\
|
| |
+ \ — <a href=\"https://docs.pagure.org/pagure/usage/index.html\">Documentation</a>\n\
|
| |
+ \ </p>\n <p><a href=\"/ssh_info\">SSH Hostkey/Fingerprint</a></p>\n\
|
| |
+ \ </div>\n </div>\n\n <script type=\"text/javascript\"\n \
|
| |
+ \ src=\"/static/vendor/jquery/jquery.min.js\">\n </script>\n <script\
|
| |
+ \ type=\"text/javascript\"\n src=\"/static/vendor/jquery-ui/jquery-ui.min.js\"\
|
| |
+ >\n </script>\n <script type=\"text/javascript\"\n src=\"https://apps.fedoraproject.org/global/fedora-bootstrap-1.0.1/fedora-bootstrap.js\"\
|
| |
+ >\n </script>\n <script type=\"text/javascript\">\n$('[data-toggle=\"\
|
| |
+ tooltip\"]').tooltip({placement : 'bottom'});\n </script>\n\n<script type=\"\
|
| |
+ text/javascript\">\n$(document).ready(function() {\n var currentWatchStatusButton\
|
| |
+ \ = $('#unwatch_button');\n currentWatchStatusButton.prepend('<span class=\"\
|
| |
+ oi\" data-glyph=\"circle-check\" style=\"padding-right:0.5em\"></span>');\n\
|
| |
+ \ $('.watch-menu a').not(currentWatchStatusButton).css('padding-left',\
|
| |
+ \ '2.85em');\n\n $(\".watch-menu a\").click(function(){\n var selectedValue\
|
| |
+ \ = $(this).attr('id');\n var watchProjectForm = $(\"#watch_project\"\
|
| |
+ );\n var action = watchProjectForm.attr('action');\n\n if (selectedValue\
|
| |
+ \ === \"watch_issues_button\") {\n action = action.replace('/settings/0',\
|
| |
+ \ '/settings/1');\n } else if (selectedValue === \"watch_commits_button\"\
|
| |
+ ) {\n action = action.replace('/settings/0', '/settings/2');\n\
|
| |
+ \ } else if (selectedValue === \"watch_issues_commits_button\") {\n\
|
| |
+ \ action = action.replace('/settings/0', '/settings/3');\n \
|
| |
+ \ } else if (selectedValue === \"reset_button\") {\n action\
|
| |
+ \ = action.replace('/settings/0', '/settings/-1');\n }\n\n watchProjectForm.attr('action',\
|
| |
+ \ action);\n watchProjectForm.submit();\n });\n});\n</script>\n\n\
|
| |
+ <script type=\"text/javascript\">\n$(document).ready(function() {\n $(\"\
|
| |
+ .extra_gits\").hide();\n});\n\n$(function() {\n $( \"#more_gits\" ).click(function()\
|
| |
+ \ {\n if ($( \"#more_gits\" ).html() == 'more') {\n $( \"#more_gits\"\
|
| |
+ \ ).html('less');\n } else {\n $( \"#more_gits\" ).html('more');\n\
|
| |
+ \ }\n });\n\n});\n</script>\n\n\n</body>\n</html>"}
|
| |
+ headers:
|
| |
+ Connection: [Keep-Alive]
|
| |
+ Content-Length: ['31644']
|
| |
+ Content-Type: [text/html; charset=utf-8]
|
| |
+ Date: ['Wed, 27 Sep 2017 12:07:28 GMT']
|
| |
+ Keep-Alive: ['timeout=5, max=100']
|
| |
+ Server: [Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4
|
| |
+ Python/2.7.5]
|
| |
+ Set-Cookie: ['pagure=eyJfcGVybWFuZW50Ijp0cnVlLCJjc3JmIjp7IiBiIjoiWldWa1lqZ3lNVFpoT1RBNE5qSmhZemRsTURNeU56TmxNekExTXpnNVlUZGxPV016TlRVMVpnPT0ifX0.DK0mAQ.YtILWDOD3ZiRyLDyFcyzpcGTfaM;
|
| |
+ Expires=Sat, 28-Oct-2017 12:07:29 GMT; Secure; HttpOnly; Path=/']
|
| |
+ Strict-Transport-Security: [max-age=15768000; includeSubDomains; preload]
|
| |
+ status: {code: 200, message: OK}
|
| |
+ - request:
|
| |
+ body: null
|
| |
+ headers:
|
| |
+ Accept: ['*/*']
|
| |
+ Accept-Encoding: ['gzip, deflate']
|
| |
+ Connection: [keep-alive]
|
| |
+ User-Agent: [python-requests/2.12.5]
|
| |
+ method: GET
|
| |
+ uri: https://pagure.io/pagure
|
| |
+ response:
|
| |
+ body: {string: "<!DOCTYPE html>\n<html lang='en'>\n<head>\n <meta http-equiv=\"\
|
| |
+ Content-Type\" content=\"text/html; charset=UTF-8\"/>\n <title>Overview\
|
| |
+ \ - pagure - Pagure</title>\n <link rel=\"shortcut icon\" type=\"image/vnd.microsoft.icon\"\
|
| |
+ \n href=\"/static/favicon.ico\"/>\n <link href=\"https://apps.fedoraproject.org/global/fedora-bootstrap-1.0.1/fedora-bootstrap.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <link href=\"/static/pagure.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <link href=\"/static/vendor/open-iconic/css/open-iconic.min.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <link href=\"/static/fonts/fonts.css\"\
|
| |
+ \n rel=\"stylesheet\" type=\"text/css\" />\n <link href=\"/static/vendor/hack_fonts/css/hack-extended.min.css\"\
|
| |
+ \n type=\"text/css\" rel=\"stylesheet\" />\n <meta name=\"go-import\"\
|
| |
+ \ content=\"pagure.io/pagure git https://pagure.io/pagure.git\">\n </head>\n\
|
| |
+ \ <body id=\"home\">\n <!-- start masthead -->\n <div class=\"masthead\"\
|
| |
+ >\n <div class=\"container\">\n <div class=\"row\">\n \
|
| |
+ \ <div class=\"col-sm-3\">\n <a href=\"/\">\n <img\
|
| |
+ \ height=40px src=\"/static/pagure-logo.png\"\n alt=\"pagure\
|
| |
+ \ Logo\" id=\"pagureLogo\"/>\n </a>\n </div>\n \
|
| |
+ \ <div class=\"col-sm-9\">\n <div class=\"row\">\n\n <nav class=\"\
|
| |
+ navbar navbar-light p-t-0 p-b-0\">\n <div class=\"container\">\n \
|
| |
+ \ <ul class=\"nav navbar-nav nav-underline pull-xs-right\">\n \
|
| |
+ \ <li class=\"nav-item p-l-1\">\n <a class=\"nav-link btn\
|
| |
+ \ btn-primary\" href=\"/login/?next=https://pagure.io/pagure\">Log In</a>\n\
|
| |
+ \ </li>\n </ul>\n </div>\n </nav>\n\n \
|
| |
+ \ </div>\n </div>\n </div>\n </div>\n </div><!--\
|
| |
+ \ close masthead-->\n\n <div class=\"bodycontent p-b-3\">\n\n\n<div class=\"\
|
| |
+ repo-header p-t-1\">\n <div class=\"container\">\n <header>\n <h2\
|
| |
+ \ class=\"repo-name m-b-0\">\n<a href=\"/pagure\">pagure</a>\n </h2>\n\
|
| |
+ \ <div class=\"projectinfo m-t-1 m-b-1\">\nA git centered forge |\
|
| |
+ \ <a class=\"inline\" href=\"https://pagure.io\">https://pagure.io</a>\
|
| |
+ \ </div>\n\n </header>\n <ul class=\"nav nav-tabs nav-small\"\
|
| |
+ >\n <li class=\"nav-item\">\n <a class=\"nav-link active\" href=\"\
|
| |
+ /pagure\">\n <span class=\"oi hidden-md-up\" data-glyph=\"home\"\
|
| |
+ ></span>\n <span class=\"hidden-sm-down\">Overview</span>\n \
|
| |
+ \ </a>\n </li>\n <li class=\"nav-item\" >\n <a class=\"\
|
| |
+ nav-link\" href=\"/docs/pagure/\">\n <span class=\"oi hidden-md-up\"\
|
| |
+ \ data-glyph=\"book\"></span>\n <span class=\"hidden-sm-down\"\
|
| |
+ >Docs</span>\n </a>\n </li>\n\n <li class=\"nav-item\"\
|
| |
+ >\n <a class=\"nav-link\" href=\"/pagure/commits/master\">\n \
|
| |
+ \ <span class=\"oi hidden-md-up\" data-glyph=\"spreadsheet\">\n \
|
| |
+ \ </span><span class=\"hidden-sm-down\">Commits</span>\n \
|
| |
+ \ </a>\n </li>\n\n <li class=\"nav-item\">\n \
|
| |
+ \ <a class=\"nav-link\" href=\"/pagure/tree/master\">\n <span\
|
| |
+ \ class=\"oi hidden-md-up\" data-glyph=\"file\"></span>\n <span\
|
| |
+ \ class=\"hidden-sm-down\">Files</span>\n </a>\n </li>\n\n\
|
| |
+ \ <li class=\"nav-item\">\n <a class=\"nav-link\" href=\"\
|
| |
+ /pagure/releases\">\n <span class=\"oi hidden-md-up\" data-glyph=\"\
|
| |
+ box\"></span>\n <span class=\"hidden-sm-down\">Releases</span>\n\
|
| |
+ \ </a>\n </li>\n\n <li class=\"nav-item\">\n \
|
| |
+ \ <a class=\"nav-link\" href=\"/pagure/issues\">\n <span\
|
| |
+ \ class=\"oi hidden-md-up\" data-glyph=\"warning\"></span>\n \
|
| |
+ \ <span class=\"hidden-sm-down\">Issues </span>\n <span\
|
| |
+ \ class=\"label label-default label-pill hidden-sm-down\">\n \
|
| |
+ \ 340\n </span>\n </a>\n </li>\n\n \
|
| |
+ \ <li class=\"nav-item\">\n <a class=\"nav-link\" href=\"/pagure/pull-requests\"\
|
| |
+ >\n <span class=\"oi hidden-md-up\" data-glyph=\"task\"></span>\n\
|
| |
+ \ <span class=\"hidden-sm-down\">Pull Requests </span>\n\
|
| |
+ \ <span class=\"label label-default label-pill hidden-sm-down\"\
|
| |
+ >\n 15\n </span>\n </a>\n </li>\n\
|
| |
+ \n <li class=\"nav-item\">\n <a class=\"nav-link\" href=\"\
|
| |
+ /pagure/forks\">\n <span class=\"oi hidden-md-up\" data-glyph=\"\
|
| |
+ fork\"></span>\n <span class=\"hidden-sm-down\">Forks </span>\n\
|
| |
+ \ <span class=\"hidden-sm-down label label-default label-pill\"\
|
| |
+ >\n 131\n </span>\n </a>\n </li>\n\
|
| |
+ \n\n </ul>\n </div>\n</div>\n\n<div class=\"container p-t-3\">\n <div\
|
| |
+ \ class=\"row\">\n <div class=\"col-md-8\">\n <section class=\"\
|
| |
+ readme\">\n <div class=\"document\">\n<div class=\"section\"\
|
| |
+ >\n<h1>Pagure</h1>\n<table class=\"docutils field-list\">\n<colgroup><col>\n\
|
| |
+ <col>\n</colgroup><tbody>\n<tr><th>Author:</th><td>Pierre-Yves Chibon <<a\
|
| |
+ \ href=\"mailto:pingou@pingoured.fr\">pingou@pingoured.fr</a>></td>\n</tr>\n\
|
| |
+ </tbody>\n</table>\n<p>Pagure is a git-centered forge, python based using\
|
| |
+ \ pygit2.</p>\n<p>With pagure you can host your project with its documentation,\
|
| |
+ \ let your users\nreport issues or request enhancements using the ticketing\
|
| |
+ \ system and build your\ncommunity of contributors by allowing them to fork\
|
| |
+ \ your projects and contribute\nto it via the now-popular pull-request mechanism.</p>\n\
|
| |
+ <p>Homepage: <a href=\"https://pagure.io/pagure\">https://pagure.io/pagure</a></p>\n\
|
| |
+ <p>See it at work: <a href=\"https://pagure.io\">https://pagure.io</a></p>\n\
|
| |
+ <p>Playground version: <a href=\"https://stg.pagure.io\">https://stg.pagure.io</a></p>\n\
|
| |
+ </div>\n<div class=\"section\">\n<h1>Get it running</h1>\n<p>There are several\
|
| |
+ \ options when it comes to a development environment. Vagrant\nwill provide\
|
| |
+ \ you with a virtual machine which you can develop on, or you can\ninstall\
|
| |
+ \ it directly on your host machine.</p>\n<div class=\"section\">\n<h2>Vagrant</h2>\n\
|
| |
+ <p>For a more thorough introduction to Vagrant, see\n<a href=\"https://fedoraproject.org/wiki/Vagrant\"\
|
| |
+ >https://fedoraproject.org/wiki/Vagrant</a>.</p>\n<p>An example Vagrantfile\
|
| |
+ \ is provided as <code>Vagrantfile.example</code>. To use it,\njust copy it\
|
| |
+ \ and install Vagrant:</p>\n<pre>$ cp dev/Vagrantfile.example Vagrantfile\n\
|
| |
+ $ sudo dnf install ansible libvirt vagrant-libvirt vagrant-sshfs vagrant-hostmanager\n\
|
| |
+ $ vagrant up\n</pre>\n<p>The default <code>Vagrantfile</code> forwards ports\
|
| |
+ \ from the host to the guest,\nso you can interact with the application as\
|
| |
+ \ if it were running on your\nhost machine.</p>\n<div class=\"note\">\n<p>Note</p>\n\
|
| |
+ <p><code><span class=\"pre\">vagrant-hostmanager</span></code> will automatically\
|
| |
+ \ maintain /etc/hosts for you so you\ncan access the development environment\
|
| |
+ \ from the host using its hostname, which\nby default is <code><span class=\"\
|
| |
+ pre\">pagure-dev.example.com</span></code>. You can choose not to use this\n\
|
| |
+ functionality by simply not installing the <code><span class=\"pre\">vagrant-hostmanager</span></code>\
|
| |
+ \ plugin, but\nif you want Pagure to provide valid URLs in the UI for git\
|
| |
+ \ repositories, you\nwill need to adjust Pagure's configuration found in ~/pagure.cfg\
|
| |
+ \ on the guest.</p>\n</div>\n</div>\n<div class=\"section\">\n<h2>Manually</h2>\n\
|
| |
+ <ul>\n<li><p>Install the needed system libraries:</p>\n<pre>sudo dnf install\
|
| |
+ \ git python2-virtualenv libgit2-devel \\\n libjpeg-devel\
|
| |
+ \ gcc libffi-devel redhat-rpm-config\n</pre>\n<div class=\"note\">\n<p>Note</p>\n\
|
| |
+ <p>Do note the version of libgit2 that you install, for example\nin <code><span\
|
| |
+ \ class=\"pre\">libgit2-0.23.4-1</span></code> you need to keep in mind the\
|
| |
+ \ <code>0.23</code></p>\n</div>\n<div class=\"note\">\n<p>Note</p>\n<p>On\
|
| |
+ \ Fedora 23 and earlier or on RHEL and derivative (CentOS,\nScientific Linux)\
|
| |
+ \ the package <cite>python2-virtualenv</cite> is named\n<cite>python-virtualenv</cite></p>\n\
|
| |
+ </div>\n</li>\n<li><p>Retrieve the sources:</p>\n<pre>git clone https://pagure.io/pagure.git\n\
|
| |
+ cd pagure\n</pre>\n</li>\n<li><p>Install dependencies</p>\n<ul>\n<li><p>create\
|
| |
+ \ the virtualenv:</p>\n<pre>virtualenv pagure_env\nsource ./pagure_env/bin/activate\n\
|
| |
+ </pre>\n</li>\n<li><p>Install the correct version of pygit2:</p>\n<pre>pip\
|
| |
+ \ install pygit2==<version of libgit2 found>.*\n</pre>\n<p>So in our\
|
| |
+ \ example:</p>\n<pre>pip install pygit2==0.23.*\n</pre>\n</li>\n<li><p>Install\
|
| |
+ \ the rest of the dependencies:</p>\n<pre>pip install -r requirements.txt\n\
|
| |
+ </pre>\n</li>\n</ul>\n</li>\n<li><p>Create the folder that will receive the\
|
| |
+ \ projects, forks, docs, requests and\ntickets' git repo:</p>\n<pre>mkdir\
|
| |
+ \ -p lcl/{repos,docs,forks,tickets,requests,remotes,attachments,releases}\n\
|
| |
+ </pre>\n</li>\n<li><p>Create the inital database scheme:</p>\n<pre>python\
|
| |
+ \ createdb.py\n</pre>\n</li>\n<li><p>Start a worker, in one terminal:</p>\n\
|
| |
+ <pre>./runworker.py\n</pre>\n</li>\n<li><p>Run the application, in another\
|
| |
+ \ terminal:</p>\n<pre>./runserver.py\n</pre>\n</li>\n<li><p>To get some profiling\
|
| |
+ \ information you can also run it as:</p>\n<pre>./runserver.py --profile\n\
|
| |
+ </pre>\n</li>\n</ul>\n<p>This will launch the application at <a href=\"http://127.0.0.1:5000\"\
|
| |
+ >http://127.0.0.1:5000</a></p>\n<ul>\n<li><p>To run unit-tests on pagure</p>\n\
|
| |
+ <ul>\n<li><p>Install the dependencies:</p>\n<pre>pip install -r tests_requirements.txt\n\
|
| |
+ </pre>\n</li>\n<li><p>Run it:</p>\n<pre>./runtests.sh\n</pre>\n<div class=\"\
|
| |
+ note\">\n<p>Note</p>\n<p>While testing for worker tasks, pagure uses celery\
|
| |
+ \ in /usr/bin/\nCelery then looks for eventlet (which we use for testing only)\
|
| |
+ \ at\nsystem level and not in virtualenv. You will need to install eventlet\n\
|
| |
+ outside of your virtualenv if you are using one.</p>\n</div>\n</li>\n</ul>\n\
|
| |
+ </li>\n</ul>\n</div>\n</div>\n</div>\n\n </section>\n </div>\n\
|
| |
+ \ <div class=\"col-md-4\">\n <div class=\"card\">\n <div\
|
| |
+ \ class=\"card-block\">\n <h5><strong>Contributors</strong></h5>\n\
|
| |
+ \ <div class=\"m-b-2\">\n <div>\n <a\
|
| |
+ \ href=\"/user/pingou\">\n <img class=\"avatar circle\" src=\"\
|
| |
+ https://seccdn.libravatar.org/avatar/b3ee7bb4de70b6522c2478df3b4cd6322b5ec5d62ac7ceb1128e3d4ff42f6928?s=20&d=retro\"\
|
| |
+ />\n Pierre-YvesChibon (pingou)\n </a>\n \
|
| |
+ \ - main admin\n </div>\n <div>\n\
|
| |
+ \ <a href=\"/user/ryanlerch\">\n <img\
|
| |
+ \ class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/de5bf8d06663adb3bb1b8d49ccab259828fad7dddeb233b073d0c447d79b4c14?s=20&d=retro\"\
|
| |
+ />\n Ryan Lerch (ryanlerch)\n </a>\n\
|
| |
+ \ - admin\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/puiterwijk\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/85f8b5f58b9808429ad69ba3722d64da01ce850635e348e838dfdc053e1140e3?s=20&d=retro\"\
|
| |
+ />\n Patrick "\u30DE\u30EB\u30BF\u30A4\u30F3\u30A2\
|
| |
+ \u30F3\u30C9\u30EC\u30A2\u30B9" Uiterwijk (puiterwijk)\n \
|
| |
+ \ </a>\n - commit\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/vivekanand1101\"\
|
| |
+ >\n <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/342d1c36d5c2f6984933a1238581dfbe74a08bf09ccaf110793703f1e8067169?s=20&d=retro\"\
|
| |
+ />\n Vivek Anand (vivekanand1101)\n \
|
| |
+ \ </a>\n - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/farhaan\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/b681ddfaffa293b03c57e5f0ed90eb1e06a8f748f4dccdccef8cdd301c66c9ae?s=20&d=retro\"\
|
| |
+ />\n Farhaan Bukhsh (farhaan)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/cverna\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/c7844b93c43c862adaa29920c09bdfb91efed57a843203e5d0b72673e664c003?s=20&d=retro\"\
|
| |
+ />\n Clement Verna (cverna)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/jcline\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/1a108f46a960aa35efcabd0b779cd59b8c3aba2927213fe63373921e1aa3fac4?s=20&d=retro\"\
|
| |
+ />\n Jeremy Cline (jcline)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/lslebodn\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/8c6fcfe0eec099f1f01f5c237935bb5c97f2063a5c1068e57c5815e0bfecbf70?s=20&d=retro\"\
|
| |
+ />\n Lukas Slebodnik (lslebodn)\n \
|
| |
+ \ </a>\n - ticket\n </div>\n \
|
| |
+ \ <div>\n <a href=\"/user/mprahl\">\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/ecae5ad9b37619a38e699de00049e449f120b433c9f26a8beb05b990dfc54c9d?s=20&d=retro\"\
|
| |
+ />\n Matt Prahl (mprahl)\n </a>\n\
|
| |
+ \ - ticket\n </div>\n </div>\n\
|
| |
+ \ <h5><strong>Branches</strong></h5>\n <div class=\"\
|
| |
+ m-b-2\">\n <div id=\"branch-master\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"\n \
|
| |
+ \ title=\"Default branch\"></span>\n <strong title=\"\
|
| |
+ Currently viewing branch master\" data-toggle=\"tooltip\">master</strong>\n\
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\"\
|
| |
+ >\n <span class=\"oi text-muted\" data-glyph=\"star\"\n \
|
| |
+ \ title=\"Default branch\"></span>\n </div>\n\
|
| |
+ \ </div>\n\n <div id=\"branch-2.9.x\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/2.9.x\"\n \
|
| |
+ \ title=\"2.9.x\" data-toggle=\"tooltip\">2.9.x\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-alembic_changes\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/alembic_changes\"\n \
|
| |
+ \ title=\"alembic_changes\" data-toggle=\"tooltip\">alembic_changes\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-confirm_merge\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/confirm_merge\"\n \
|
| |
+ \ title=\"confirm_merge\" data-toggle=\"tooltip\">confirm_merge\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-css_tables\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/css_tables\"\n \
|
| |
+ \ title=\"css_tables\" data-toggle=\"tooltip\">css_tables\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_del_project\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_del_project\"\n \
|
| |
+ \ title=\"fix_del_project\" data-toggle=\"tooltip\">fix_del_project\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_delete\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_delete\"\n \
|
| |
+ \ title=\"fix_delete\" data-toggle=\"tooltip\">fix_delete\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_diff_refs\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_diff_refs\"\n \
|
| |
+ \ title=\"fix_diff_refs\" data-toggle=\"tooltip\">fix_diff_refs\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_doc\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_doc\"\n \
|
| |
+ \ title=\"fix_doc\" data-toggle=\"tooltip\">fix_doc\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_linking\" class=\"repoinfo-branchlistitem row\">\n\
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span\
|
| |
+ \ class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_linking\"\n \
|
| |
+ \ title=\"fix_linking\" data-toggle=\"tooltip\">fix_linking\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_pygit_error\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_pygit_error\"\n \
|
| |
+ \ title=\"fix_pygit_error\" data-toggle=\"tooltip\">fix_pygit_error\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_reply_to\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_reply_to\"\n \
|
| |
+ \ title=\"fix_reply_to\" data-toggle=\"tooltip\">fix_reply_to\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_sse\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_sse\"\n \
|
| |
+ \ title=\"fix_sse\" data-toggle=\"tooltip\">fix_sse\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_sse_status\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_sse_status\"\n \
|
| |
+ \ title=\"fix_sse_status\" data-toggle=\"tooltip\">fix_sse_status\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fix_templates\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fix_templates\"\n \
|
| |
+ \ title=\"fix_templates\" data-toggle=\"tooltip\">fix_templates\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-fixes\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/fixes\"\n \
|
| |
+ \ title=\"fixes\" data-toggle=\"tooltip\">fixes\n </a>\n\
|
| |
+ \n </div>\n <div class=\"branch_del col-md-4\"\
|
| |
+ >\n </div>\n </div>\n <div id=\"\
|
| |
+ branch-force_flag\" class=\"repoinfo-branchlistitem row\">\n \
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span class=\"\
|
| |
+ oi text-muted\" data-glyph=\"random\"></span>\n <a class=\"\
|
| |
+ \" href=\"/pagure/branch/force_flag\"\n title=\"force_flag\"\
|
| |
+ \ data-toggle=\"tooltip\">force_flag\n </a>\n\n \
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\">\n \
|
| |
+ \ </div>\n </div>\n <div id=\"branch-gpg_check\"\
|
| |
+ \ class=\"repoinfo-branchlistitem row\">\n <div class=\"branch_name\
|
| |
+ \ col-md-8\">\n <span class=\"oi text-muted\" data-glyph=\"\
|
| |
+ random\"></span>\n <a class=\"\" href=\"/pagure/branch/gpg_check\"\
|
| |
+ \n title=\"gpg_check\" data-toggle=\"tooltip\">gpg_check\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-logging_milter\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/logging_milter\"\n \
|
| |
+ \ title=\"logging_milter\" data-toggle=\"tooltip\">logging_milter\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-mirroring\" class=\"repoinfo-branchlistitem row\"\
|
| |
+ >\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/mirroring\"\n \
|
| |
+ \ title=\"mirroring\" data-toggle=\"tooltip\">mirroring\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"branch_del\
|
| |
+ \ col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-py3_work2\" class=\"repoinfo-branchlistitem row\">\n \
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span\
|
| |
+ \ class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/py3_work2\"\n title=\"\
|
| |
+ py3_work2\" data-toggle=\"tooltip\">py3_work2\n </a>\n\n\
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\"\
|
| |
+ >\n </div>\n </div>\n <div id=\"\
|
| |
+ branch-rel_2.2.z\" class=\"repoinfo-branchlistitem row\">\n \
|
| |
+ \ <div class=\"branch_name col-md-8\">\n <span class=\"\
|
| |
+ oi text-muted\" data-glyph=\"random\"></span>\n <a class=\"\
|
| |
+ \" href=\"/pagure/branch/rel_2.2.z\"\n title=\"rel_2.2.z\"\
|
| |
+ \ data-toggle=\"tooltip\">rel_2.2.z\n </a>\n\n \
|
| |
+ \ </div>\n <div class=\"branch_del col-md-4\">\n \
|
| |
+ \ </div>\n </div>\n <div id=\"branch-rel_2.3.z\"\
|
| |
+ \ class=\"repoinfo-branchlistitem row\">\n <div class=\"branch_name\
|
| |
+ \ col-md-8\">\n <span class=\"oi text-muted\" data-glyph=\"\
|
| |
+ random\"></span>\n <a class=\"\" href=\"/pagure/branch/rel_2.3.z\"\
|
| |
+ \n title=\"rel_2.3.z\" data-toggle=\"tooltip\">rel_2.3.z\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-scroll_metadata\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/scroll_metadata\"\n \
|
| |
+ \ title=\"scroll_metadata\" data-toggle=\"tooltip\">scroll_metadata\n\
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ <div id=\"branch-utf_search\" class=\"repoinfo-branchlistitem\
|
| |
+ \ row\">\n <div class=\"branch_name col-md-8\">\n \
|
| |
+ \ <span class=\"oi text-muted\" data-glyph=\"random\"></span>\n \
|
| |
+ \ <a class=\"\" href=\"/pagure/branch/utf_search\"\n \
|
| |
+ \ title=\"utf_search\" data-toggle=\"tooltip\">utf_search\n \
|
| |
+ \ </a>\n\n </div>\n <div class=\"\
|
| |
+ branch_del col-md-4\">\n </div>\n </div>\n \
|
| |
+ \ </div>\n <h5><strong>Source GIT URLs</strong> \
|
| |
+ \ <span class=\"pull-xs-right\"><a data-toggle=\"collapse\" href=\"\
|
| |
+ #moregiturls\"\n aria-expanded=\"false\" aria-controls=\"\
|
| |
+ moregiturls\"\n id=\"more_gits\">more</a></span></h5>\n \
|
| |
+ \ <div>\n <div class=\"form-group\">\n \
|
| |
+ \ <div class=\"input-group input-group-sm\">\n <div class=\"\
|
| |
+ input-group-addon\">GIT</div>\n <input class=\"form-control\"\
|
| |
+ \ type=\"text\" value=\"https://pagure.io/pagure.git\" readonly>\n \
|
| |
+ \ </div>\n </div>\n <div class=\"collapse\"\
|
| |
+ \ id=\"moregiturls\">\n <h5><strong>Docs GIT URLs</strong></h5>\n\
|
| |
+ \ <div class=\"form-group\">\n <div class=\"\
|
| |
+ input-group input-group-sm\">\n <div class=\"input-group-addon\"\
|
| |
+ >GIT</div>\n <input class=\"form-control\" type=\"text\"\
|
| |
+ \ value=\"https://pagure.io/docs/pagure.git\" readonly>\n \
|
| |
+ \ </div>\n </div>\n </div>\n </div>\n\
|
| |
+ \ </div>\n <div class=\"repo_date\" title=\"2015-05-13 20:38:10.552662\"\
|
| |
+ >\n created 2 years ago\n </div>\n </div>\n\n\
|
| |
+ \ <div class=\"card\">\n <div class=\"card-header\">\n\
|
| |
+ \ <strong>Recent Commits in\n <span class=\"pr-toplabel\"\
|
| |
+ >\n <span class=\"oi\" data-glyph=\"random\"></span>\n \
|
| |
+ \ master\n </span>\n </strong>\n\
|
| |
+ \ </div>\n <div class=\"card-block p-a-0\">\n \
|
| |
+ \ <div class=\"list-group list-group-flush\">\n <a\
|
| |
+ \ href=\"/pagure/c/a324b4120738bb9765b59625f3e767f9b50d599f\" class=\"list-group-item\"\
|
| |
+ >\n <div class=\"commitdate\" title=\"Sep 25 2017 12:50:46\"\
|
| |
+ >\n <small>\n <strong>\n \
|
| |
+ \ <img class=\"avatar circle\" src=\"https://seccdn.libravatar.org/avatar/b3ee7bb4de70b6522c2478df3b4cd6322b5ec5d62ac7ceb1128e3d4ff42f6928?s=20&d=retro\"\
|
| |
+ />\n Pierre-Yves Chibon\n \
|
| |
+ \ </strong>\n commited 2 days ago\n \
|
| |
+ \ </small>\n </div>\n <div><small>\n\
|
| |
+ \ Fix the unit-tests\n </small></div>\n\
|
| |
+ \ </a>\n <a href=\"/pagure/c/ef569a5160891b30cc2aa4d614b39f4a266d7ad7\"\
|
| |
+ \ class=\"list-group-item\">\n <div class=\"commitdate\"\
|
| |
+ \ title=\"Sep 21 2017 12:15:51\">\n <small>\n \
|
| |
+ \ <strong>\n <img class=\"avatar\
|
| |
+ \ circle\" src=\"https://seccdn.libravatar.org/avatar/342d1c36d5c2f6984933a1238581dfbe74a08bf09ccaf110793703f1e8067169?s=20&d=retro\"\
|
| |
+ />\n Vivek Anand\n </strong>\n\
|
| |
+ \ commited 5 days ago\n </small>\n\
|
| |
+ \ </div>\n <div><small>\n \
|
| |
+ \ give project: generate gitolite acls after giving a project\n\
|
| |
+ \ </small></div>\n </a>\n \
|
| |
+ \ <a href=\"/pagure/c/16c5781815d4695fe89db3c5cec5191dc1b81c6f\" class=\"\
|
| |
+ list-group-item\">\n <div class=\"commitdate\" title=\"\
|
| |
+ Sep 21 2017 10:26:39\">\n <small>\n \
|
| |
+ \ <strong>\n <img class=\"avatar circle\" src=\"\
|
| |
+ https://seccdn.libravatar.org/avatar/342d1c36d5c2f6984933a1238581dfbe74a08bf09ccaf110793703f1e8067169?s=20&d=retro\"\
|
| |
+ />\n Vivek Anand\n </strong>\n\
|
| |
+ \ commited 6 days ago\n </small>\n\
|
| |
+ \ </div>\n <div><small>\n \
|
| |
+ \ read only repo: Add unit test for update_read_only_mode method\n\
|
| |
+ \ </small></div>\n </a>\n \
|
| |
+ \ </div>\n </div>\n </div>\n </div>\n \
|
| |
+ \ </div>\n </div>\n\n\n</div>\n </div>\n\n <div class=\"footer\
|
| |
+ \ p-t-1 p-b-1\">\n <div class=\"container\">\n <p class=\"\
|
| |
+ text-muted credit\">\n Copyright © 2014-2017 Red Hat\n \
|
| |
+ \ <a href=\"https://pagure.io/pagure\">pagure</a> —\n 3.7.1\
|
| |
+ \ — <a href=\"https://docs.pagure.org/pagure/usage/index.html\">Documentation</a>\n\
|
| |
+ \ </p>\n <p><a href=\"/ssh_info\">SSH Hostkey/Fingerprint</a></p>\n\
|
| |
+ \ </div>\n </div>\n\n <script type=\"text/javascript\"\n \
|
| |
+ \ src=\"/static/vendor/jquery/jquery.min.js\">\n </script>\n <script\
|
| |
+ \ type=\"text/javascript\"\n src=\"/static/vendor/jquery-ui/jquery-ui.min.js\"\
|
| |
+ >\n </script>\n <script type=\"text/javascript\"\n src=\"https://apps.fedoraproject.org/global/fedora-bootstrap-1.0.1/fedora-bootstrap.js\"\
|
| |
+ >\n </script>\n <script type=\"text/javascript\">\n$('[data-toggle=\"\
|
| |
+ tooltip\"]').tooltip({placement : 'bottom'});\n </script>\n\n<script type=\"\
|
| |
+ text/javascript\">\n$(document).ready(function() {\n var currentWatchStatusButton\
|
| |
+ \ = $('#unwatch_button');\n currentWatchStatusButton.prepend('<span class=\"\
|
| |
+ oi\" data-glyph=\"circle-check\" style=\"padding-right:0.5em\"></span>');\n\
|
| |
+ \ $('.watch-menu a').not(currentWatchStatusButton).css('padding-left',\
|
| |
+ \ '2.85em');\n\n $(\".watch-menu a\").click(function(){\n var selectedValue\
|
| |
+ \ = $(this).attr('id');\n var watchProjectForm = $(\"#watch_project\"\
|
| |
+ );\n var action = watchProjectForm.attr('action');\n\n if (selectedValue\
|
| |
+ \ === \"watch_issues_button\") {\n action = action.replace('/settings/0',\
|
| |
+ \ '/settings/1');\n } else if (selectedValue === \"watch_commits_button\"\
|
| |
+ ) {\n action = action.replace('/settings/0', '/settings/2');\n\
|
| |
+ \ } else if (selectedValue === \"watch_issues_commits_button\") {\n\
|
| |
+ \ action = action.replace('/settings/0', '/settings/3');\n \
|
| |
+ \ } else if (selectedValue === \"reset_button\") {\n action\
|
| |
+ \ = action.replace('/settings/0', '/settings/-1');\n }\n\n watchProjectForm.attr('action',\
|
| |
+ \ action);\n watchProjectForm.submit();\n });\n});\n</script>\n\n\
|
| |
+ <script type=\"text/javascript\">\n$(document).ready(function() {\n $(\"\
|
| |
+ .extra_gits\").hide();\n});\n\n$(function() {\n $( \"#more_gits\" ).click(function()\
|
| |
+ \ {\n if ($( \"#more_gits\" ).html() == 'more') {\n $( \"#more_gits\"\
|
| |
+ \ ).html('less');\n } else {\n $( \"#more_gits\" ).html('more');\n\
|
| |
+ \ }\n });\n\n});\n</script>\n\n\n</body>\n</html>"}
|
| |
+ headers:
|
| |
+ Connection: [Keep-Alive]
|
| |
+ Content-Length: ['31644']
|
| |
+ Content-Type: [text/html; charset=utf-8]
|
| |
+ Date: ['Wed, 27 Sep 2017 12:07:31 GMT']
|
| |
+ Keep-Alive: ['timeout=5, max=100']
|
| |
+ Server: [Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4
|
| |
+ Python/2.7.5]
|
| |
+ Set-Cookie: ['pagure=eyJfcGVybWFuZW50Ijp0cnVlLCJjc3JmIjp7IiBiIjoiWVdVd01XWTBOVFE0Tnpoak16VXpOV0ZoT1RnME1EUTFNVEV5TUdabVpUUmhaalE1WWpWbFl3PT0ifX0.DK0mAw.6BBoDXAt_1zLVnTcZQa68xAzzTg;
|
| |
+ Expires=Sat, 28-Oct-2017 12:07:31 GMT; Secure; HttpOnly; Path=/']
|
| |
+ Strict-Transport-Security: [max-age=15768000; includeSubDomains; preload]
|
| |
+ status: {code: 200, message: OK}
|
| |
+ version: 1
|
| |
OK, this is very possibly the biggest pull request I've created (yet).
I tried to break it up into smaller commits, separating the backend and the frontend, but the UI change is such a rewrite there isn't really a way to split it up.
The good news is that the widget framework has almost not changed, so there probably won't be a need to update widget currently being worked on by the rest of the team. If there is such a need, I'm willing to adapt them.
There's a lot of new JS dependencies so please run
npm install
in thehubs/static/client
directory to pick them up.In general, this change makes the UI much faster, dynamic, modular and future-proof. No need to change page to edit or reorder widgets, for example. Changes are applied instantly. The SSE update system is also much cleaner.
I'm available if you have any questions of course.