Merge branch 'master' into blender-tweaks

This commit is contained in:
2017-01-20 14:12:45 +01:00
1555 changed files with 56011 additions and 24365 deletions

View File

@@ -1,4 +1,5 @@
{ {
"phabricator.uri": "https://developer.blender.org/", "phabricator.uri": "https://developer.blender.org/",
"load": ["src/"] "load": ["src/"],
"history.immutable": false
} }

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@
# Diviner # Diviner
/docs/ /docs/
/.divinercache/ /.divinercache/
/src/.cache/
# libphutil # libphutil
/src/.phutil_module_cache /src/.phutil_module_cache

1
bin/calendar Symbolic link
View File

@@ -0,0 +1 @@
../scripts/setup/manage_calendar.php

View File

@@ -1 +0,0 @@
../scripts/setup/manage_hunks.php

View File

@@ -251,20 +251,42 @@ class MimeMailParser {
return $headers; return $headers;
} }
/** /**
* Returns the attachments contents in order of appearance * Returns the attachments contents in order of appearance
* @return Array * @return Array
* @param $type Object[optional] * @param $type Object[optional]
*/ */
public function getAttachments() { public function getAttachments() {
// NOTE: This has been modified for Phabricator. Some mail clients do not
// send attachments with "Content-Disposition" headers.
$attachments = array(); $attachments = array();
$dispositions = array("attachment","inline"); $dispositions = array("attachment","inline");
$non_attachment_types = array("text/plain", "text/html");
$nonameIter = 0;
foreach ($this->parts as $part) { foreach ($this->parts as $part) {
$disposition = $this->getPartContentDisposition($part); $disposition = $this->getPartContentDisposition($part);
if (in_array($disposition, $dispositions)) { $filename = 'noname';
if (isset($part['disposition-filename'])) {
$filename = $part['disposition-filename'];
} elseif (isset($part['content-name'])) {
// if we have no disposition but we have a content-name, it's a valid attachment.
// we simulate the presence of an attachment disposition with a disposition filename
$filename = $part['content-name'];
$disposition = 'attachment';
} elseif (!in_array($part['content-type'], $non_attachment_types, true)
&& substr($part['content-type'], 0, 10) !== 'multipart/'
) {
// if we cannot get it with getMessageBody, we assume it is an attachment
$disposition = 'attachment';
}
if (in_array($disposition, $dispositions) && isset($filename) === true) {
if ($filename == 'noname') {
$nonameIter++;
$filename = 'noname'.$nonameIter;
}
$attachments[] = new MimeMailParser_attachment( $attachments[] = new MimeMailParser_attachment(
$part['disposition-filename'], $filename,
$this->getPartContentType($part), $this->getPartContentType($part),
$this->getAttachmentStream($part), $this->getAttachmentStream($part),
$disposition, $disposition,

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -36,6 +36,7 @@ return array(
'phuix-dropdown-menu', 'phuix-dropdown-menu',
'phuix-action-list-view', 'phuix-action-list-view',
'phuix-action-view', 'phuix-action-view',
'phuix-icon-view',
'phabricator-phtize', 'phabricator-phtize',
'javelin-behavior-phabricator-oncopy', 'javelin-behavior-phabricator-oncopy',
'phabricator-tooltip', 'phabricator-tooltip',
@@ -83,11 +84,15 @@ return array(
'conpherence-thread-manager', 'conpherence-thread-manager',
'javelin-behavior-detect-timezone', 'javelin-behavior-detect-timezone',
'javelin-behavior-setup-check-https', 'javelin-behavior-setup-check-https',
'javelin-behavior-aphlict-status',
'javelin-behavior-user-menu',
'phabricator-favicon',
), ),
'core.pkg.css' => array( 'core.pkg.css' => array(
'phabricator-core-css', 'phabricator-core-css',
'phabricator-zindex-css', 'phabricator-zindex-css',
'phui-button-css', 'phui-button-css',
'phui-theme-css',
'phabricator-standard-page-view', 'phabricator-standard-page-view',
'aphront-dialog-view-css', 'aphront-dialog-view-css',
'phui-form-view-css', 'phui-form-view-css',
@@ -96,6 +101,7 @@ return array(
'aphront-tokenizer-control-css', 'aphront-tokenizer-control-css',
'aphront-typeahead-control-css', 'aphront-typeahead-control-css',
'aphront-list-filter-view-css', 'aphront-list-filter-view-css',
'application-search-view-css',
'phabricator-remarkup-css', 'phabricator-remarkup-css',
'syntax-highlighting-css', 'syntax-highlighting-css',
@@ -104,18 +110,22 @@ return array(
'aphront-tooltip-css', 'aphront-tooltip-css',
'phabricator-flag-css', 'phabricator-flag-css',
'phui-info-view-css', 'phui-info-view-css',
'sprite-menu-css',
'phabricator-main-menu-view', 'phabricator-main-menu-view',
'phabricator-notification-css', 'phabricator-notification-css',
'phabricator-notification-menu-css', 'phabricator-notification-menu-css',
'lightbox-attachment-css', 'phui-lightbox-css',
'phui-comment-panel-css',
'phui-header-view-css', 'phui-header-view-css',
'phabricator-filetree-view-css',
'phabricator-nav-view-css', 'phabricator-nav-view-css',
'phabricator-side-menu-view-css', 'phui-basic-nav-view-css',
'phui-crumbs-view-css', 'phui-crumbs-view-css',
'phui-object-item-list-view-css', 'phui-oi-list-view-css',
'phui-oi-color-css',
'phui-oi-big-ui-css',
'phui-oi-drag-ui-css',
'phui-oi-simple-ui-css',
'phui-oi-flush-ui-css',
'global-drag-and-drop-css', 'global-drag-and-drop-css',
'phui-spacing-css', 'phui-spacing-css',
'phui-form-css', 'phui-form-css',
@@ -129,19 +139,41 @@ return array(
'phui-list-view-css', 'phui-list-view-css',
'font-fontawesome', 'font-fontawesome',
'font-lato',
'font-aleo',
'phui-font-icon-base-css', 'phui-font-icon-base-css',
'phui-fontkit-css',
'phui-box-css', 'phui-box-css',
'phui-object-box-css', 'phui-object-box-css',
'phui-timeline-view-css', 'phui-timeline-view-css',
'phui-two-column-view-css',
'phui-curtain-view-css',
'sprite-login-css',
'sprite-tokens-css', 'sprite-tokens-css',
'tokens-css', 'tokens-css',
'phui-status-list-view-css', 'auth-css',
'phui-status-list-view-css',
'phui-feed-story-css', 'phui-feed-story-css',
'phabricator-feed-css', 'phabricator-feed-css',
'phabricator-dashboard-css', 'phabricator-dashboard-css',
'aphront-multi-column-view-css', 'aphront-multi-column-view-css',
),
'conpherence.pkg.css' => array(
'conpherence-durable-column-view', 'conpherence-durable-column-view',
'conpherence-menu-css',
'conpherence-message-pane-css',
'conpherence-notification-css',
'conpherence-transaction-css',
'conpherence-participant-pane-css',
'conpherence-header-pane-css',
),
'conpherence.pkg.js' => array(
'javelin-behavior-conpherence-menu',
'javelin-behavior-conpherence-participant-pane',
'javelin-behavior-conpherence-pontificate',
'javelin-behavior-toggle-widget',
), ),
'differential.pkg.css' => array( 'differential.pkg.css' => array(
'differential-core-view-css', 'differential-core-view-css',
@@ -155,6 +187,7 @@ return array(
'phabricator-content-source-view-css', 'phabricator-content-source-view-css',
'inline-comment-summary-css', 'inline-comment-summary-css',
'phui-inline-comment-view-css', 'phui-inline-comment-view-css',
'phabricator-filetree-view-css',
), ),
'differential.pkg.js' => array( 'differential.pkg.js' => array(
'phabricator-drag-and-drop-file-upload', 'phabricator-drag-and-drop-file-upload',
@@ -165,7 +198,6 @@ return array(
'javelin-behavior-differential-populate', 'javelin-behavior-differential-populate',
'javelin-behavior-differential-diff-radios', 'javelin-behavior-differential-diff-radios',
'javelin-behavior-differential-comment-jump', 'javelin-behavior-differential-comment-jump',
'javelin-behavior-differential-add-reviewers-and-ccs',
'javelin-behavior-differential-keyboard-navigation', 'javelin-behavior-differential-keyboard-navigation',
'javelin-behavior-aphront-drag-and-drop-textarea', 'javelin-behavior-aphront-drag-and-drop-textarea',
'javelin-behavior-phabricator-object-selector', 'javelin-behavior-phabricator-object-selector',

View File

@@ -15,8 +15,7 @@
], ],
"conduit.uri" : null, "conduit.uri" : null,
"conduit.user" : null, "conduit.token" : null,
"conduit.cert" : null,
"macro.size" : 48, "macro.size" : 48,
"macro.aspect" : 0.66, "macro.aspect" : 0.66,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -81,16 +81,16 @@
"rule": ".login-PayPal", "rule": ".login-PayPal",
"hash": "dfa09f45369c93bb0fd82a333b0fe927" "hash": "dfa09f45369c93bb0fd82a333b0fe927"
}, },
"login-Persona": {
"name": "login-Persona",
"rule": ".login-Persona",
"hash": "14cc5b479b14abe16261c01fc432ffd1"
},
"login-Phabricator": { "login-Phabricator": {
"name": "login-Phabricator", "name": "login-Phabricator",
"rule": ".login-Phabricator", "rule": ".login-Phabricator",
"hash": "d0f830803593bbcc025d7d5a29ee3ecd" "hash": "d0f830803593bbcc025d7d5a29ee3ecd"
}, },
"login-Slack": {
"name": "login-Slack",
"rule": ".login-Slack",
"hash": "fe0df2df040032b949aa05948b6bd986"
},
"login-Stripe": { "login-Stripe": {
"name": "login-Stripe", "name": "login-Stripe",
"rule": ".login-Stripe", "rule": ".login-Stripe",

View File

@@ -1,31 +0,0 @@
{
"version": 1,
"sprites": {
"dark-eye": {
"name": "dark-eye",
"rule": ".dark-eye",
"hash": "c8112e52666fa1cb509ebb2cdf3a3df5"
},
"dark-logo": {
"name": "dark-logo",
"rule": ".dark-logo",
"hash": "e3425da87e8f6737d8db0063d064cd7d"
},
"light-eye": {
"name": "light-eye",
"rule": ".light-eye",
"hash": "5b6bf7c8c10d4f7414d976f6e79ae2ff"
},
"light-logo": {
"name": "light-logo",
"rule": ".light-logo",
"hash": "bee37c0a86825ec7ded38936b1ba7b65"
}
},
"scales": [
1,
2
],
"header": "\/**\n * @provides sprite-menu-css\n * @generated\n *\/\n\n.sprite-menu {\n background-image: url(\/rsrc\/image\/sprite-menu.png);\n background-repeat: no-repeat;\n}\n\n@media\nonly screen and (min-device-pixel-ratio: 1.5),\nonly screen and (-webkit-min-device-pixel-ratio: 1.5),\nonly screen and (min-resolution: 1.5dppx) {\n .sprite-menu {\n background-image: url(\/rsrc\/image\/sprite-menu-X2.png);\n background-size: {X}px {Y}px;\n }\n}\n",
"type": "standard"
}

View File

@@ -4,88 +4,128 @@
"tokens-coin-1": { "tokens-coin-1": {
"name": "tokens-coin-1", "name": "tokens-coin-1",
"rule": ".tokens-coin-1", "rule": ".tokens-coin-1",
"hash": "0ec4c7309f8191972340c6789a6b5691" "hash": "5343d745423994c45c5fc689edc47d05"
}, },
"tokens-coin-2": { "tokens-coin-2": {
"name": "tokens-coin-2", "name": "tokens-coin-2",
"rule": ".tokens-coin-2", "rule": ".tokens-coin-2",
"hash": "4c85dd4b0c388cfefe0075b7056384fd" "hash": "9a94b5f925f3e6f8eed673d50fbfe148"
}, },
"tokens-coin-3": { "tokens-coin-3": {
"name": "tokens-coin-3", "name": "tokens-coin-3",
"rule": ".tokens-coin-3", "rule": ".tokens-coin-3",
"hash": "a2e3770894539957e436a7d5a2be4703" "hash": "68db03ca248309a76cee97ada64239c6"
}, },
"tokens-coin-4": { "tokens-coin-4": {
"name": "tokens-coin-4", "name": "tokens-coin-4",
"rule": ".tokens-coin-4", "rule": ".tokens-coin-4",
"hash": "856cb87c5590975c0a25177ca2fd2a8f" "hash": "75832b7e42df9287b3c35c6afed12a93"
},
"tokens-emoji-1": {
"name": "tokens-emoji-1",
"rule": ".tokens-emoji-1",
"hash": "17f57bdeb4078f9c05f1f037ccb1c162"
},
"tokens-emoji-2": {
"name": "tokens-emoji-2",
"rule": ".tokens-emoji-2",
"hash": "6877c6e0c63522d5819531aaf4aba787"
},
"tokens-emoji-3": {
"name": "tokens-emoji-3",
"rule": ".tokens-emoji-3",
"hash": "cc67534b0119d4cc385a93ed5aff86e4"
},
"tokens-emoji-4": {
"name": "tokens-emoji-4",
"rule": ".tokens-emoji-4",
"hash": "f2a6febd638670962dfb5fdd76b23cfb"
},
"tokens-emoji-5": {
"name": "tokens-emoji-5",
"rule": ".tokens-emoji-5",
"hash": "22bc23d162449fde492e0fd3eccc7301"
},
"tokens-emoji-6": {
"name": "tokens-emoji-6",
"rule": ".tokens-emoji-6",
"hash": "e3689840f410ff1bbf365f6b06043d3f"
},
"tokens-emoji-7": {
"name": "tokens-emoji-7",
"rule": ".tokens-emoji-7",
"hash": "a689b9fe7c9f6f300d757b5350e2cc4b"
},
"tokens-emoji-8": {
"name": "tokens-emoji-8",
"rule": ".tokens-emoji-8",
"hash": "26570ef132caea33307e1e7574d754e8"
}, },
"tokens-heart-1": { "tokens-heart-1": {
"name": "tokens-heart-1", "name": "tokens-heart-1",
"rule": ".tokens-heart-1", "rule": ".tokens-heart-1",
"hash": "370228318750a79d93848bdf686444e5" "hash": "2d4812b2129a8eb05fcdbed1e9654422"
}, },
"tokens-heart-2": { "tokens-heart-2": {
"name": "tokens-heart-2", "name": "tokens-heart-2",
"rule": ".tokens-heart-2", "rule": ".tokens-heart-2",
"hash": "197144d3987308aaef311e29e3503707" "hash": "64cbdbfb0dc565f17b6f13b5e41bc000"
}, },
"tokens-like-1": { "tokens-like-1": {
"name": "tokens-like-1", "name": "tokens-like-1",
"rule": ".tokens-like-1", "rule": ".tokens-like-1",
"hash": "3c5271d6678ad6d217a47779488c9918" "hash": "1b3966d6e0e5d902b558fe3d76ed8a79"
}, },
"tokens-like-2": { "tokens-like-2": {
"name": "tokens-like-2", "name": "tokens-like-2",
"rule": ".tokens-like-2", "rule": ".tokens-like-2",
"hash": "b009176baadc3e71786ac24ce8229c5a" "hash": "b74308407fdaa94e08492cfd9b44f2a2"
}, },
"tokens-medal-1": { "tokens-medal-1": {
"name": "tokens-medal-1", "name": "tokens-medal-1",
"rule": ".tokens-medal-1", "rule": ".tokens-medal-1",
"hash": "cd897529c6834917da062589ae1a69ae" "hash": "33d837e703091060c1892c402535eef0"
}, },
"tokens-medal-2": { "tokens-medal-2": {
"name": "tokens-medal-2", "name": "tokens-medal-2",
"rule": ".tokens-medal-2", "rule": ".tokens-medal-2",
"hash": "d56f106b508c33bca6c0a33e2544d0d6" "hash": "fa2f3b237d7616a6cb309718ad162d7a"
}, },
"tokens-medal-3": { "tokens-medal-3": {
"name": "tokens-medal-3", "name": "tokens-medal-3",
"rule": ".tokens-medal-3", "rule": ".tokens-medal-3",
"hash": "d4e7c06cfd39d932a35aa25841d5008c" "hash": "d7282911ba57373b54b4093986143f3e"
}, },
"tokens-medal-4": { "tokens-medal-4": {
"name": "tokens-medal-4", "name": "tokens-medal-4",
"rule": ".tokens-medal-4", "rule": ".tokens-medal-4",
"hash": "36f596bd2615e521542ac10a771d6902" "hash": "a107a334968d57314ec6a71620c45b99"
}, },
"tokens-misc-1": { "tokens-misc-1": {
"name": "tokens-misc-1", "name": "tokens-misc-1",
"rule": ".tokens-misc-1", "rule": ".tokens-misc-1",
"hash": "8f7575c0176570b30aaffb801bcb2c13" "hash": "671ce03f62c7b0946482ec92d35b8aa3"
}, },
"tokens-misc-2": { "tokens-misc-2": {
"name": "tokens-misc-2", "name": "tokens-misc-2",
"rule": ".tokens-misc-2", "rule": ".tokens-misc-2",
"hash": "5c61bc36fd0b5545ebf31b57c6ab5185" "hash": "872353ba82e41512c3b54e5dc2aa3d43"
}, },
"tokens-misc-3": { "tokens-misc-3": {
"name": "tokens-misc-3", "name": "tokens-misc-3",
"rule": ".tokens-misc-3", "rule": ".tokens-misc-3",
"hash": "97a383def5eb847077b2b26a1a441c0e" "hash": "cdf9171ec6397b95ea9abe1edeaab359"
}, },
"tokens-misc-4": { "tokens-misc-4": {
"name": "tokens-misc-4", "name": "tokens-misc-4",
"rule": ".tokens-misc-4", "rule": ".tokens-misc-4",
"hash": "229c8a28e3b6bb883effbb62689e190f" "hash": "7371fa5ecde282e718b7a15b02ca51e8"
} }
}, },
"scales": [ "scales": [
1, 1,
2 2
], ],
"header": "\/**\n * @provides sprite-tokens-css\n * @generated\n *\/\n\n.sprite-tokens {\n background-image: url(\/rsrc\/image\/sprite-tokens.png);\n background-repeat: no-repeat;\n}\n\n@media\nonly screen and (min-device-pixel-ratio: 1.5),\nonly screen and (-webkit-min-device-pixel-ratio: 1.5),\nonly screen and (min-resolution: 1.5dppx) {\n .sprite-tokens {\n background-image: url(\/rsrc\/image\/sprite-tokens-X2.png);\n background-size: {X}px {Y}px;\n }\n}\n", "header": "/**\n * @provides sprite-tokens-css\n * @generated\n */\n\n.sprite-tokens {\n background-image: url(/rsrc/image/sprite-tokens.png);\n background-repeat: no-repeat;\n}\n\n@media\nonly screen and (min-device-pixel-ratio: 1.5),\nonly screen and (-webkit-min-device-pixel-ratio: 1.5),\nonly screen and (min-resolution: 1.5dppx) {\n .sprite-tokens {\n background-image: url(/rsrc/image/sprite-tokens-X2.png);\n background-size: {X}px {Y}px;\n }\n}\n",
"type": "standard" "type": "standard"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 638 B

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 B

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 791 B

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 742 B

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 719 B

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 653 B

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 692 B

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 B

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1019 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 794 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -4,27 +4,30 @@ $project_table = new PhabricatorProject();
$table_name = $project_table->getTableName(); $table_name = $project_table->getTableName();
$conn_w = $project_table->establishConnection('w'); $conn_w = $project_table->establishConnection('w');
$slug_table_name = id(new PhabricatorProjectSlug())->getTableName(); $slug_table_name = id(new PhabricatorProjectSlug())->getTableName();
$time = time(); $time = PhabricatorTime::getNow();
echo pht('Migrating project phriction slugs...')."\n"; echo pht('Migrating projects to slugs...')."\n";
foreach (new LiskMigrationIterator($project_table) as $project) { foreach (new LiskMigrationIterator($project_table) as $project) {
$id = $project->getID(); $id = $project->getID();
echo pht('Migrating project %d...', $id)."\n"; echo pht('Migrating project %d...', $id)."\n";
$phriction_slug = rtrim($project->getPhrictionSlug(), '/');
$slug_text = PhabricatorSlug::normalizeProjectSlug($project->getName());
$slug = id(new PhabricatorProjectSlug()) $slug = id(new PhabricatorProjectSlug())
->loadOneWhere('slug = %s', $phriction_slug); ->loadOneWhere('slug = %s', $slug_text);
if ($slug) { if ($slug) {
echo pht('Already migrated %d... Continuing.', $id)."\n"; echo pht('Already migrated %d... Continuing.', $id)."\n";
continue; continue;
} }
queryfx( queryfx(
$conn_w, $conn_w,
'INSERT INTO %T (projectPHID, slug, dateCreated, dateModified) '. 'INSERT INTO %T (projectPHID, slug, dateCreated, dateModified) '.
'VALUES (%s, %s, %d, %d)', 'VALUES (%s, %s, %d, %d)',
$slug_table_name, $slug_table_name,
$project->getPHID(), $project->getPHID(),
$phriction_slug, $slug_text,
$time, $time,
$time); $time);
echo pht('Migrated %d.', $id)."\n"; echo pht('Migrated %d.', $id)."\n";

View File

@@ -17,7 +17,7 @@ foreach ($iterator as $event) {
// later patch. See T8209. // later patch. See T8209.
$user = id(new PhabricatorPeopleQuery()) $user = id(new PhabricatorPeopleQuery())
->setViewer($viewer) ->setViewer($viewer)
->withPHIDs(array($event->getUserPHID())) ->withPHIDs(array($event->getHostPHID()))
->executeOne(); ->executeOne();
if ($user) { if ($user) {

View File

@@ -7,7 +7,7 @@
$project_table = new PhabricatorProject(); $project_table = new PhabricatorProject();
$conn_w = $project_table->establishConnection('w'); $conn_w = $project_table->establishConnection('w');
$panel_table = id(new PhabricatorProfilePanelConfiguration()); $panel_table = id(new PhabricatorProfileMenuItemConfiguration());
$panel_conn = $panel_table->establishConnection('w'); $panel_conn = $panel_table->establishConnection('w');
foreach (new LiskMigrationIterator($project_table) as $project) { foreach (new LiskMigrationIterator($project_table) as $project) {
@@ -50,9 +50,9 @@ foreach (new LiskMigrationIterator($project_table) as $project) {
$panel_table->getTableName(), $panel_table->getTableName(),
$panel_table->generatePHID(), $panel_table->generatePHID(),
$project->getPHID(), $project->getPHID(),
PhabricatorProjectWorkboardProfilePanel::PANELKEY, PhabricatorProjectWorkboardProfileMenuItem::MENUITEMKEY,
PhabricatorProject::PANEL_WORKBOARD, PhabricatorProject::ITEM_WORKBOARD,
PhabricatorProfilePanelConfiguration::VISIBILITY_DEFAULT, PhabricatorProfileMenuItemConfiguration::VISIBILITY_DEFAULT,
'{}', '{}',
2, 2,
PhabricatorTime::getNow(), PhabricatorTime::getNow(),

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_phame.phame_blog
MODIFY parentDomain VARCHAR(128) NULL COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_phame.phame_blog
MODIFY parentSite VARCHAR(128) NULL COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_calendar.calendar_event
ADD isStub BOOL NOT NULL;

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_file.file
ADD builtinKey VARCHAR(64) COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_file.file
ADD UNIQUE KEY `key_builtin` (builtinKey);

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_calendar.calendar_event
CHANGE userPHID hostPHID VARBINARY(64) NOT NULL;

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_calendar.calendar_event
ADD allDayDateFrom INT UNSIGNED NOT NULL;

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_calendar.calendar_event
ADD allDayDateTo INT UNSIGNED NOT NULL;

View File

@@ -0,0 +1,3 @@
<?php
// This migration was replaced by "20161004.cal.01.noepoch.php".

View File

@@ -0,0 +1,37 @@
<?php
$table = new PhabricatorCalendarEventTransaction();
$conn_w = $table->establishConnection('w');
echo pht(
"Restructuring calendar invite transactions...\n");
foreach (new LiskMigrationIterator($table) as $txn) {
$type = PhabricatorCalendarEventInviteTransaction::TRANSACTIONTYPE;
if ($txn->getTransactionType() != $type) {
continue;
}
$old_value = array_keys($txn->getOldValue());
$orig_new = $txn->getNewValue();
$status_uninvited = 'uninvited';
foreach ($orig_new as $key => $status) {
if ($status == $status_uninvited) {
unset($orig_new[$key]);
}
}
$new_value = array_keys($orig_new);
queryfx(
$conn_w,
'UPDATE %T SET '.
'oldValue = %s, newValue = %s'.
'WHERE id = %d',
$table->getTableName(),
phutil_json_encode($old_value),
phutil_json_encode($new_value),
$txn->getID());
}
echo pht('Done.')."\n";

View File

@@ -0,0 +1,11 @@
CREATE TABLE {$NAMESPACE}_packages.packages_publisher (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
phid VARBINARY(64) NOT NULL,
name VARCHAR(64) NOT NULL COLLATE {$COLLATE_TEXT},
publisherKey VARCHAR(64) NOT NULL COLLATE {$COLLATE_SORT},
editPolicy VARBINARY(64) NOT NULL,
dateCreated INT UNSIGNED NOT NULL,
dateModified INT UNSIGNED NOT NULL,
UNIQUE KEY `key_phid` (phid),
UNIQUE KEY `key_publisher` (publisherKey)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,19 @@
CREATE TABLE {$NAMESPACE}_packages.packages_publishertransaction (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
phid VARBINARY(64) NOT NULL,
authorPHID VARBINARY(64) NOT NULL,
objectPHID VARBINARY(64) NOT NULL,
viewPolicy VARBINARY(64) NOT NULL,
editPolicy VARBINARY(64) NOT NULL,
commentPHID VARBINARY(64) DEFAULT NULL,
commentVersion INT UNSIGNED NOT NULL,
transactionType VARCHAR(32) COLLATE {$COLLATE_TEXT} NOT NULL,
oldValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
newValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
contentSource LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
metadata LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
dateCreated INT UNSIGNED NOT NULL,
dateModified INT UNSIGNED NOT NULL,
UNIQUE KEY `key_phid` (`phid`),
KEY `key_object` (`objectPHID`)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,16 @@
CREATE TABLE {$NAMESPACE}_packages.edge (
src VARBINARY(64) NOT NULL,
type INT UNSIGNED NOT NULL,
dst VARBINARY(64) NOT NULL,
dateCreated INT UNSIGNED NOT NULL,
seq INT UNSIGNED NOT NULL,
dataID INT UNSIGNED,
PRIMARY KEY (src, type, dst),
KEY `src` (src, type, dateCreated, seq),
UNIQUE KEY `key_dst` (dst, type, src)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
CREATE TABLE {$NAMESPACE}_packages.edgedata (
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
data LONGTEXT NOT NULL COLLATE {$COLLATE_TEXT}
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,13 @@
CREATE TABLE {$NAMESPACE}_packages.packages_package (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
phid VARBINARY(64) NOT NULL,
name VARCHAR(64) NOT NULL COLLATE {$COLLATE_TEXT},
publisherPHID VARBINARY(64) NOT NULL,
packageKey VARCHAR(64) NOT NULL COLLATE {$COLLATE_SORT},
viewPolicy VARBINARY(64) NOT NULL,
editPolicy VARBINARY(64) NOT NULL,
dateCreated INT UNSIGNED NOT NULL,
dateModified INT UNSIGNED NOT NULL,
UNIQUE KEY `key_phid` (phid),
UNIQUE KEY `key_package` (publisherPHID, packageKey)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,19 @@
CREATE TABLE {$NAMESPACE}_packages.packages_packagetransaction (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
phid VARBINARY(64) NOT NULL,
authorPHID VARBINARY(64) NOT NULL,
objectPHID VARBINARY(64) NOT NULL,
viewPolicy VARBINARY(64) NOT NULL,
editPolicy VARBINARY(64) NOT NULL,
commentPHID VARBINARY(64) DEFAULT NULL,
commentVersion INT UNSIGNED NOT NULL,
transactionType VARCHAR(32) COLLATE {$COLLATE_TEXT} NOT NULL,
oldValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
newValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
contentSource LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
metadata LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
dateCreated INT UNSIGNED NOT NULL,
dateModified INT UNSIGNED NOT NULL,
UNIQUE KEY `key_phid` (`phid`),
KEY `key_object` (`objectPHID`)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,10 @@
CREATE TABLE {$NAMESPACE}_packages.packages_version (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
phid VARBINARY(64) NOT NULL,
name VARCHAR(64) NOT NULL COLLATE {$COLLATE_SORT},
packagePHID VARBINARY(64) NOT NULL,
dateCreated INT UNSIGNED NOT NULL,
dateModified INT UNSIGNED NOT NULL,
UNIQUE KEY `key_phid` (phid),
UNIQUE KEY `key_package` (packagePHID, name)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,19 @@
CREATE TABLE {$NAMESPACE}_packages.packages_versiontransaction (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
phid VARBINARY(64) NOT NULL,
authorPHID VARBINARY(64) NOT NULL,
objectPHID VARBINARY(64) NOT NULL,
viewPolicy VARBINARY(64) NOT NULL,
editPolicy VARBINARY(64) NOT NULL,
commentPHID VARBINARY(64) DEFAULT NULL,
commentVersion INT UNSIGNED NOT NULL,
transactionType VARCHAR(32) COLLATE {$COLLATE_TEXT} NOT NULL,
oldValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
newValue LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
contentSource LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
metadata LONGTEXT COLLATE {$COLLATE_TEXT} NOT NULL,
dateCreated INT UNSIGNED NOT NULL,
dateModified INT UNSIGNED NOT NULL,
UNIQUE KEY `key_phid` (`phid`),
KEY `key_object` (`objectPHID`)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,7 @@
CREATE TABLE {$NAMESPACE}_packages.packages_publishername_ngrams (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
objectID INT UNSIGNED NOT NULL,
ngram CHAR(3) NOT NULL COLLATE {$COLLATE_TEXT},
KEY `key_object` (objectID),
KEY `key_ngram` (ngram, objectID)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,7 @@
CREATE TABLE {$NAMESPACE}_packages.packages_packagename_ngrams (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
objectID INT UNSIGNED NOT NULL,
ngram CHAR(3) NOT NULL COLLATE {$COLLATE_TEXT},
KEY `key_object` (objectID),
KEY `key_ngram` (ngram, objectID)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,7 @@
CREATE TABLE {$NAMESPACE}_packages.packages_versionname_ngrams (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
objectID INT UNSIGNED NOT NULL,
ngram CHAR(3) NOT NULL COLLATE {$COLLATE_TEXT},
KEY `key_object` (objectID),
KEY `key_ngram` (ngram, objectID)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_repository.repository_commit
CHANGE summary summary VARCHAR(255) NOT NULL COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1 @@
DROP TABLE {$NAMESPACE}_conduit.conduit_connectionlog;

View File

@@ -0,0 +1,8 @@
CREATE TABLE {$NAMESPACE}_repository.repository_commithint (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
repositoryPHID VARBINARY(64) NOT NULL,
oldCommitIdentifier VARCHAR(40) NOT NULL COLLATE {$COLLATE_TEXT},
newCommitIdentifier VARCHAR(40) COLLATE {$COLLATE_TEXT},
hintType VARCHAR(32) NOT NULL COLLATE {$COLLATE_TEXT},
UNIQUE KEY `key_old` (repositoryPHID, oldCommitIdentifier)
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};

View File

@@ -0,0 +1,39 @@
<?php
$table = new PhabricatorRepositoryCommit();
$conn = $table->establishConnection('w');
$rows = queryfx_all(
$conn,
'SELECT fullCommitName FROM repository_badcommit');
$viewer = PhabricatorUser::getOmnipotentUser();
foreach ($rows as $row) {
$identifier = $row['fullCommitName'];
$commit = id(new DiffusionCommitQuery())
->setViewer($viewer)
->withIdentifiers(array($identifier))
->executeOne();
if (!$commit) {
echo tsprintf(
"%s\n",
pht(
'Skipped hint for "%s", this is not a valid commit.',
$identifier));
} else {
PhabricatorRepositoryCommitHint::updateHint(
$commit->getRepository()->getPHID(),
$commit->getCommitIdentifier(),
null,
PhabricatorRepositoryCommitHint::HINT_UNREADABLE);
echo tsprintf(
"%s\n",
pht(
'Updated commit hint for "%s".',
$identifier));
}
}

Some files were not shown because too many files have changed in this diff Show More