Completed
Push — 17.1 ( 8c3b94...29ee37 )
by Ralf
20:39 queued 11:58
created
resources/inc/class.resources_import_csv.inc.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -45,15 +45,15 @@  discard block
 block discarded – undo
45 45
 	}
46 46
 
47 47
 	/**
48
-	* Import a single record
49
-	*
50
-	* You don't need to worry about mappings or translations, they've been done already.
51
-	* You do need to handle the conditions and the actions taken.
52
-	*
53
-	* Updates the count of actions taken
54
-	*
55
-	* @return boolean success
56
-	*/
48
+	 * Import a single record
49
+	 *
50
+	 * You don't need to worry about mappings or translations, they've been done already.
51
+	 * You do need to handle the conditions and the actions taken.
52
+	 *
53
+	 * Updates the count of actions taken
54
+	 *
55
+	 * @return boolean success
56
+	 */
57 57
 	protected function import_record(importexport_iface_egw_record &$record, &$import_csv)
58 58
 	{
59 59
 		// Check for an un-matched accessory of, try again on just name
@@ -250,14 +250,14 @@  discard block
 block discarded – undo
250 250
 	}
251 251
 
252 252
 	/**
253
-        * Returns warnings that were encountered during importing
254
-        * Maximum of one warning message per record, but you can append if you need to
255
-        *
256
-        * @return Array (
257
-        *       record_# => warning message
258
-        *       )
259
-        */
260
-        public function get_warnings() {
253
+	 * Returns warnings that were encountered during importing
254
+	 * Maximum of one warning message per record, but you can append if you need to
255
+	 *
256
+	 * @return Array (
257
+	 *       record_# => warning message
258
+	 *       )
259
+	 */
260
+		public function get_warnings() {
261 261
 		return $this->warnings;
262 262
 	}
263 263
 }
Please login to merge, or discard this patch.
resources/inc/class.resources_tracking.inc.php 1 patch
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -26,20 +26,20 @@
 block discarded – undo
26 26
 		$this->id_field = 'res_id';
27 27
 
28 28
 		$this->field2history = array(
29
-                        'res_id'        => 'res_id',
30
-                        'name'          => 'name',
31
-                        'short_description'     => 'short_description',
32
-                        'cat_id'        => 'cat_id',
33
-                        'quantity'      => 'quantity',
34
-                        'useable'       => 'useable',
35
-                        'location'      => 'location',
36
-                        'storage_info'  => 'storage_info',
37
-                        'bookable'      => 'bookable',
38
-                        'buyable'       => 'buyable',
39
-                        'prize'         => 'prize',
40
-                        'long_description'      => 'long_description',
41
-                        'inventory_number'      => 'inventory_number',
42
-                        'accessory_of'  => 'accessory_of'
29
+						'res_id'        => 'res_id',
30
+						'name'          => 'name',
31
+						'short_description'     => 'short_description',
32
+						'cat_id'        => 'cat_id',
33
+						'quantity'      => 'quantity',
34
+						'useable'       => 'useable',
35
+						'location'      => 'location',
36
+						'storage_info'  => 'storage_info',
37
+						'bookable'      => 'bookable',
38
+						'buyable'       => 'buyable',
39
+						'prize'         => 'prize',
40
+						'long_description'      => 'long_description',
41
+						'inventory_number'      => 'inventory_number',
42
+						'accessory_of'  => 'accessory_of'
43 43
 		);
44 44
 		parent::__construct($this->appname);
45 45
 	}
Please login to merge, or discard this patch.
addressbook/inc/class.addressbook_wizard_export_vcard.inc.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -27,54 +27,54 @@
 block discarded – undo
27 27
 	}
28 28
 
29 29
 	/**
30
-         * choose charset
31
-         *
32
-         * @param array $content
33
-         * @param array $sel_options
34
-         * @param array $readonlys
35
-         * @param array $preserv
36
-         * @return string template name
37
-         */
38
-        function wizard_step40(&$content, &$sel_options, &$readonlys, &$preserv)
39
-        {
40
-                if($this->debug) error_log(get_class($this) . '::wizard_step40->$content '.print_r($content,true));
41
-                // return from step40
42
-                if ($content['step'] == 'wizard_step40') {
43
-                        switch (array_search('pressed', $content['button']))
44
-                        {
45
-                                case 'next':
46
-                                        return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],1);
47
-                                case 'previous' :
48
-                                        return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],-1);
49
-                                case 'finish':
50
-                                        return 'wizard_finish';
51
-                                default :
52
-                                        return $this->wizard_step40($content,$sel_options,$readonlys,$preserv);
53
-                        }
54
-                }
55
-                // init step40
56
-                else
57
-                {
58
-                        $content['msg'] = $this->steps['wizard_step40'];
59
-                        $content['step'] = 'wizard_step40';
30
+	 * choose charset
31
+	 *
32
+	 * @param array $content
33
+	 * @param array $sel_options
34
+	 * @param array $readonlys
35
+	 * @param array $preserv
36
+	 * @return string template name
37
+	 */
38
+		function wizard_step40(&$content, &$sel_options, &$readonlys, &$preserv)
39
+		{
40
+				if($this->debug) error_log(get_class($this) . '::wizard_step40->$content '.print_r($content,true));
41
+				// return from step40
42
+				if ($content['step'] == 'wizard_step40') {
43
+						switch (array_search('pressed', $content['button']))
44
+						{
45
+								case 'next':
46
+										return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],1);
47
+								case 'previous' :
48
+										return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],-1);
49
+								case 'finish':
50
+										return 'wizard_finish';
51
+								default :
52
+										return $this->wizard_step40($content,$sel_options,$readonlys,$preserv);
53
+						}
54
+				}
55
+				// init step40
56
+				else
57
+				{
58
+						$content['msg'] = $this->steps['wizard_step40'];
59
+						$content['step'] = 'wizard_step40';
60 60
 			if(!$content['charset'] && $content['plugin_options']['charset']) {
61
-                                $content['charset'] = $content['plugin_options']['charset'] ? $content['plugin_options']['charset'] : 'user';
62
-                        }
61
+								$content['charset'] = $content['plugin_options']['charset'] ? $content['plugin_options']['charset'] : 'user';
62
+						}
63 63
 			$sel_options['charset'] = Api\Translation::get_installed_charsets()+
64
-                        array(
65
-                                'user'  => lang('User preference'),
66
-                        );
64
+						array(
65
+								'user'  => lang('User preference'),
66
+						);
67 67
 			$preserv = $content;
68 68
 
69
-                        // Add in extra allowed charsets
70
-                        $config = Api\Config::read('importexport');
71
-                        $extra_charsets = array_intersect(explode(',',$config['import_charsets']), mb_list_encodings());
72
-                        if($extra_charsets)
73
-                        {
74
-                                $sel_options['charset'] += array(lang('Extra encodings') => array_combine($extra_charsets,$extra_charsets));
75
-                        }
69
+						// Add in extra allowed charsets
70
+						$config = Api\Config::read('importexport');
71
+						$extra_charsets = array_intersect(explode(',',$config['import_charsets']), mb_list_encodings());
72
+						if($extra_charsets)
73
+						{
74
+								$sel_options['charset'] += array(lang('Extra encodings') => array_combine($extra_charsets,$extra_charsets));
75
+						}
76 76
 			unset ($preserv['button']);
77
-                        return $this->step_templates[$content['step']];
77
+						return $this->step_templates[$content['step']];
78 78
 		}
79 79
 	}
80 80
 
Please login to merge, or discard this patch.
addressbook/inc/class.addressbook_export_contacts_csv.inc.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -365,10 +365,10 @@  discard block
 block discarded – undo
365 365
 	}
366 366
 
367 367
 	/**
368
-	* Convert some internal data to something with more meaning
369
-	*
370
-	* Dates, times, user IDs, category IDs
371
-	*/
368
+	 * Convert some internal data to something with more meaning
369
+	 *
370
+	 * Dates, times, user IDs, category IDs
371
+	 */
372 372
 	public static function convert(addressbook_egw_record &$record, $options) {
373 373
 
374 374
 		if ($record->tel_prefer) {
@@ -436,7 +436,7 @@  discard block
 block discarded – undo
436 436
 	 * Adjust automatically generated filter fields
437 437
 	 */
438 438
 	public function get_filter_fields(Array &$filters)
439
-    {
439
+	{
440 440
 		unset($filters['last_event']);
441 441
 		unset($filters['next_event']);
442 442
 		foreach($filters as $field_name => &$settings)
Please login to merge, or discard this patch.
addressbook/inc/class.addressbook_import_contacts_csv.inc.php 1 patch
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -381,38 +381,38 @@
 block discarded – undo
381 381
 	}
382 382
 
383 383
 	/**
384
-        * Returns warnings that were encountered during importing
385
-        * Maximum of one warning message per record, but you can append if you need to
386
-        *
387
-        * @return Array (
388
-        *       record_# => warning message
389
-        *       )
390
-        */
391
-        public function get_warnings() {
384
+	 * Returns warnings that were encountered during importing
385
+	 * Maximum of one warning message per record, but you can append if you need to
386
+	 *
387
+	 * @return Array (
388
+	 *       record_# => warning message
389
+	 *       )
390
+	 */
391
+		public function get_warnings() {
392 392
 		return $this->warnings;
393 393
 	}
394 394
 
395 395
 	/**
396
-        * Returns errors that were encountered during importing
397
-        * Maximum of one error message per record, but you can append if you need to
398
-        *
399
-        * @return Array (
400
-        *       record_# => error message
401
-        *       )
402
-        */
403
-        public function get_errors() {
396
+	 * Returns errors that were encountered during importing
397
+	 * Maximum of one error message per record, but you can append if you need to
398
+	 *
399
+	 * @return Array (
400
+	 *       record_# => error message
401
+	 *       )
402
+	 */
403
+		public function get_errors() {
404 404
 		return $this->errors;
405 405
 	}
406 406
 
407 407
 	/**
408
-        * Returns a list of actions taken, and the number of records for that action.
409
-        * Actions are things like 'insert', 'update', 'delete', and may be different for each plugin.
410
-        *
411
-        * @return Array (
412
-        *       action => record count
413
-        * )
414
-        */
415
-        public function get_results() {
416
-                return $this->results;
417
-        }
408
+	 * Returns a list of actions taken, and the number of records for that action.
409
+	 * Actions are things like 'insert', 'update', 'delete', and may be different for each plugin.
410
+	 *
411
+	 * @return Array (
412
+	 *       action => record count
413
+	 * )
414
+	 */
415
+		public function get_results() {
416
+				return $this->results;
417
+		}
418 418
 }
Please login to merge, or discard this patch.
addressbook/inc/class.addressbook_vcal.inc.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -90,20 +90,20 @@  discard block
 block discarded – undo
90 90
 	 */
91 91
 	var $clientProperties;
92 92
 	/**
93
-	* Set Logging
94
-	*
95
-	* @var string
96
-	* off = false;
97
-	*/
93
+	 * Set Logging
94
+	 *
95
+	 * @var string
96
+	 * off = false;
97
+	 */
98 98
 	var $log = false;
99 99
 	var $logfile="/tmp/log-vcard";
100 100
 	/**
101
-	* Constructor
102
-	*
103
-	* @param string $contact_app			the current application
104
-	* @param string	$_contentType			the content type (version)
105
-	* @param array $_clientProperties		client properties
106
-	*/
101
+	 * Constructor
102
+	 *
103
+	 * @param string $contact_app			the current application
104
+	 * @param string	$_contentType			the content type (version)
105
+	 * @param array $_clientProperties		client properties
106
+	 */
107 107
 	function __construct($contact_app='addressbook', $_contentType='text/x-vcard', &$_clientProperties = array())
108 108
 	{
109 109
 		parent::__construct($contact_app);
@@ -126,15 +126,15 @@  discard block
 block discarded – undo
126 126
 		$this->supportedFields = $this->databaseFields;
127 127
 	}
128 128
 	/**
129
-	* import a vard into addressbook
130
-	*
131
-	* @param string	$_vcard		the vcard
132
-	* @param int/string	$_abID =null		the internal addressbook id or !$_abID for a new enty
133
-	* @param boolean $merge =false	merge data with existing entry
134
-	* @param string $charset  The encoding charset for $text. Defaults to
135
-    *                         utf-8 for new format, iso-8859-1 for old format.
136
-	* @return int contact id
137
-	*/
129
+	 * import a vard into addressbook
130
+	 *
131
+	 * @param string	$_vcard		the vcard
132
+	 * @param int/string	$_abID =null		the internal addressbook id or !$_abID for a new enty
133
+	 * @param boolean $merge =false	merge data with existing entry
134
+	 * @param string $charset  The encoding charset for $text. Defaults to
135
+	 *                         utf-8 for new format, iso-8859-1 for old format.
136
+	 * @return int contact id
137
+	 */
138 138
 	function addVCard($_vcard, $_abID=null, $merge=false, $charset=null)
139 139
 	{
140 140
 		if (!($contact = $this->vcardtoegw($_vcard, $charset))) return false;
@@ -174,17 +174,17 @@  discard block
 block discarded – undo
174 174
 			$contact['id'] = $_abID;
175 175
 		}
176 176
 		else
177
-    	{
178
-    		if (is_array($contact['cat_id']))
177
+		{
178
+			if (is_array($contact['cat_id']))
179 179
 			{
180 180
 				$contact['cat_id'] = implode(',',$this->find_or_add_categories($contact['cat_id'], -1));
181 181
 			}
182
-    	}
183
-    	if (isset($contact['owner']) && $contact['owner'] != $this->user)
184
-    	{
185
-    		$contact['private'] = 0;	// foreign contacts are never private!
186
-    	}
187
-    	if ($this->log)
182
+		}
183
+		if (isset($contact['owner']) && $contact['owner'] != $this->user)
184
+		{
185
+			$contact['private'] = 0;	// foreign contacts are never private!
186
+		}
187
+		if ($this->log)
188 188
 		{
189 189
 			error_log(__FILE__.'['.__LINE__.'] '.__METHOD__."()\n" .
190 190
 				array2string($contact)."\n",3,$this->logfile);
@@ -193,13 +193,13 @@  discard block
 block discarded – undo
193 193
 	}
194 194
 
195 195
 	/**
196
-	* return a vcard
197
-	*
198
-	* @param int/string	$_id the id of the contact
199
-	* @param string $_charset ='UTF-8' encoding of the vcard, default UTF-8
200
-	* @param boolean $extra_charset_attribute =true GroupDAV/CalDAV dont need the charset attribute and some clients have problems with it
201
-	* @return string containing the vcard
202
-	*/
196
+	 * return a vcard
197
+	 *
198
+	 * @param int/string	$_id the id of the contact
199
+	 * @param string $_charset ='UTF-8' encoding of the vcard, default UTF-8
200
+	 * @param boolean $extra_charset_attribute =true GroupDAV/CalDAV dont need the charset attribute and some clients have problems with it
201
+	 * @return string containing the vcard
202
+	 */
203 203
 	function getVCard($_id,$_charset='UTF-8',$extra_charset_attribute=true)
204 204
 	{
205 205
 		$vCard = new Horde_Icalendar_Vcard($this->version);
@@ -533,14 +533,14 @@  discard block
 block discarded – undo
533 533
 	}
534 534
 
535 535
 	/**
536
-     * Parses a string containing vCard data.
537
-     *
538
-     * @param string $_vcard   The data to parse.
539
-     * @param string $charset  The encoding charset for $text. Defaults to
540
-     *                         utf-8 for new format, iso-8859-1 for old format.
541
-     *
542
-     * @return array|boolean   The contact data or false on errors.
543
-     */
536
+	 * Parses a string containing vCard data.
537
+	 *
538
+	 * @param string $_vcard   The data to parse.
539
+	 * @param string $charset  The encoding charset for $text. Defaults to
540
+	 *                         utf-8 for new format, iso-8859-1 for old format.
541
+	 *
542
+	 * @return array|boolean   The contact data or false on errors.
543
+	 */
544 544
 	function vcardtoegw($_vcard, $charset=null)
545 545
 	{
546 546
 		// the horde class does the charset conversion. DO NOT CONVERT HERE.
@@ -799,7 +799,7 @@  discard block
 block discarded – undo
799 799
 					}
800 800
 					break;
801 801
 				case 'TEL;OTHER;VOICE':
802
-				    if (!in_array('TEL;OTHER', $rowNames)
802
+					if (!in_array('TEL;OTHER', $rowNames)
803 803
 							&& !isset($finalRowNames['TEL;OTHER']))
804 804
 					{
805 805
 						$finalRowNames['TEL;OTHER'] = $vcardKey;
Please login to merge, or discard this patch.
addressbook/inc/class.addressbook_zpush.inc.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -277,7 +277,7 @@  discard block
 block discarded – undo
277 277
 	 * @param string $id folder id
278 278
 	 * @param int $cutoffdate =null
279 279
 	 * @return array
280
-  	 */
280
+	 */
281 281
 	function GetMessageList($id, $cutoffdate=NULL)
282 282
 	{
283 283
 		unset($cutoffdate);	// not used, but required by function signature
@@ -378,10 +378,10 @@  discard block
 block discarded – undo
378 378
 				case 'bday':	// zpush seems to use a timestamp in utc (at least vcard backend does)
379 379
 					if (!empty($contact[$attr]))
380 380
 					{
381
-            			$tz = date_default_timezone_get();
382
-            			date_default_timezone_set('UTC');
383
-            			$message->birthday = strtotime($contact[$attr]);
384
-            			date_default_timezone_set($tz);
381
+						$tz = date_default_timezone_get();
382
+						date_default_timezone_set('UTC');
383
+						$message->birthday = strtotime($contact[$attr]);
384
+						date_default_timezone_set($tz);
385 385
 					}
386 386
 					break;
387 387
 
@@ -634,7 +634,7 @@  discard block
 block discarded – undo
634 634
 	 * @param $folderid of the current folder
635 635
 	 * @param $id of the message
636 636
 	 * @param $newfolderid
637
-     * @param ContentParameters   $contentParameters
637
+	 * @param ContentParameters   $contentParameters
638 638
 	 *
639 639
 	 * @return $newid as a string | boolean false on error
640 640
 	 *
@@ -662,7 +662,7 @@  discard block
 block discarded – undo
662 662
 	 *
663 663
 	 * @param $folderid
664 664
 	 * @param $id
665
-     * @param ContentParameters   $contentParameters
665
+	 * @param ContentParameters   $contentParameters
666 666
 	 *
667 667
 	 * @return boolean true on success, false on error, diffbackend does NOT use the returnvalue
668 668
 	 *
@@ -681,23 +681,23 @@  discard block
 block discarded – undo
681 681
 		return $ret;
682 682
 	}
683 683
 
684
-    /**
685
-     * Changes the 'read' flag of a message on disk. The $flags
686
-     * parameter can only be '1' (read) or '0' (unread). After a call to
687
-     * SetReadFlag(), GetMessageList() should return the message with the
688
-     * new 'flags' but should not modify the 'mod' parameter. If you do
689
-     * change 'mod', simply setting the message to 'read' on the mobile will trigger
690
-     * a full resync of the item from the server.
691
-     *
692
-     * @param string              $folderid            id of the folder
693
-     * @param string              $id                  id of the message
694
-     * @param int                 $flags               read flag of the message
695
-     * @param ContentParameters   $contentParameters
696
-     *
697
-     * @access public
698
-     * @return boolean                      status of the operation
699
-     * @throws StatusException              could throw specific SYNC_STATUS_* exceptions
700
-     */
684
+	/**
685
+	 * Changes the 'read' flag of a message on disk. The $flags
686
+	 * parameter can only be '1' (read) or '0' (unread). After a call to
687
+	 * SetReadFlag(), GetMessageList() should return the message with the
688
+	 * new 'flags' but should not modify the 'mod' parameter. If you do
689
+	 * change 'mod', simply setting the message to 'read' on the mobile will trigger
690
+	 * a full resync of the item from the server.
691
+	 *
692
+	 * @param string              $folderid            id of the folder
693
+	 * @param string              $id                  id of the message
694
+	 * @param int                 $flags               read flag of the message
695
+	 * @param ContentParameters   $contentParameters
696
+	 *
697
+	 * @access public
698
+	 * @return boolean                      status of the operation
699
+	 * @throws StatusException              could throw specific SYNC_STATUS_* exceptions
700
+	 */
701 701
 	function SetReadFlag($folderid, $id, $flags, $contentParameters)
702 702
 	{
703 703
 		unset($folderid, $id, $flags, $contentParameters);
@@ -713,7 +713,7 @@  discard block
 block discarded – undo
713 713
 	 *
714 714
 	 *
715 715
 	 * @DESC The $flags parameter must contains the poommailflag Object
716
- 	 */
716
+	 */
717 717
 	function ChangeMessageFlag($folderid, $id, $flags)
718 718
 	{
719 719
 		unset($folderid, $id, $flags);
Please login to merge, or discard this patch.
addressbook/inc/class.addressbook_ui.inc.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -1885,12 +1885,12 @@  discard block
 block discarded – undo
1885 1885
 	}
1886 1886
 
1887 1887
 	/**
1888
-	* Edit a contact
1889
-	*
1890
-	* @param array $content=null submitted content
1891
-	* @param int $_GET['contact_id'] contact_id mainly for popup use
1892
-	* @param bool $_GET['makecp'] true if you want to copy the contact given by $_GET['contact_id']
1893
-	*/
1888
+	 * Edit a contact
1889
+	 *
1890
+	 * @param array $content=null submitted content
1891
+	 * @param int $_GET['contact_id'] contact_id mainly for popup use
1892
+	 * @param bool $_GET['makecp'] true if you want to copy the contact given by $_GET['contact_id']
1893
+	 */
1894 1894
 	function edit($content=null)
1895 1895
 	{
1896 1896
 		if (is_array($content))
@@ -3069,8 +3069,8 @@  discard block
 block discarded – undo
3069 3069
 	}
3070 3070
 
3071 3071
 	/**
3072
-	* Set up history log widget
3073
-	*/
3072
+	 * Set up history log widget
3073
+	 */
3074 3074
 	protected function setup_history(&$content, &$sel_options)
3075 3075
 	{
3076 3076
 		if ($this->contact_repository == 'ldap' || !$content['id'] ||
Please login to merge, or discard this patch.
addressbook/inc/class.addressbook_wizard_export_contacts_csv.inc.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -35,8 +35,8 @@  discard block
 block discarded – undo
35 35
 	}
36 36
 
37 37
 	/**
38
-	* Overridden to be able to skip the next step
39
-	*/
38
+	 * Overridden to be able to skip the next step
39
+	 */
40 40
 	function wizard_step40(&$content, &$sel_options, &$readonlys, &$preserv) {
41 41
 
42 42
 		if ($content['step'] == 'wizard_step40' && array_search('pressed', $content['button']) == 'next') {
@@ -52,10 +52,10 @@  discard block
 block discarded – undo
52 52
 		}
53 53
 	}
54 54
 
55
-        /**
56
-        * Choose how to export multi-selects (includes Api\Categories)
57
-        */
58
-        function wizard_step50(&$content, &$sel_options, &$readonlys, &$preserv)
55
+		/**
56
+		 * Choose how to export multi-selects (includes Api\Categories)
57
+		 */
58
+		function wizard_step50(&$content, &$sel_options, &$readonlys, &$preserv)
59 59
 	{
60 60
 		if($this->debug) error_log(get_class($this) . '::wizard_step50->$content '.print_r($content,true));
61 61
 		// return from step50
@@ -130,8 +130,8 @@  discard block
 block discarded – undo
130 130
 	}
131 131
 
132 132
 	/**
133
-	* Get a list of multi-select fields
134
-	*/
133
+	 * Get a list of multi-select fields
134
+	 */
135 135
 	protected function get_field_list($content) {
136 136
 		$field_list = array();
137 137
 
Please login to merge, or discard this patch.