Xcode piddles on my xib and storyboard files for no good reason

Originator:borkwareLLC
Number:rdar://19761962 Date Originated:2/8/2015
Status:Open Resolved:
Product:Developer Tools Product Version:Version 6.1.1 (6A2006)
Classification:Serious Bug Reproducible:Always
 
Summary:
Xcode modifies xib and storyboard files when I click on them to look at them (no changes made).  So now they're marked dirty.  Also, they get saved, so now my source code control has a file that is marked dirty.

This is not only visually noisy - "why has that file changed?", but also clutters up source code control if I'm not careful to examine the diffs, and then I have to manually rollback unnecessary changes.

Steps to Reproduce:
1. Open a project that was created before or after the current version of Xcode
2. Click on a xib or storyboard

Expected Results:
You see the xib or storyboard.  Nothing else happens, like with source files, images, etc

Actual Results:
The file is marked dirty, and saved.
The only diff is stuff like

-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6247"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6246"/>


and

-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6254"\
 systemVersion="14C109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6254"\
 systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">

This causes extra work for no reason, especially on a team where the members have slightly different versions of xcode or slightly different versions of OS X

Version:
10.9.5 13F34
Version 6.1.1 (6A2006)


Notes:


Configuration:


Attachments:

Comments

Have a movie: https://vimeo.com/125808975

By borkwareLLC at April 23, 2015, 3:23 p.m. (reply...)

Unsurprisingly, still a problem in 6.3.1

Response:

Engineering has requested the following information in order to further investigate this issue:

Typically Xcode avoids saving metadata changes unless it thinks something else – something significant – has changed. However, we have seen a number of cases in which Xcode thinks a trivial change (even as trivial as a coordinate changing from one value to the same value) is significant enough to dirty the document. When that happens, the updated metadata is reflected in the diff.

Are there certain controls that cause the dirtying to always occur, or does it happen regardless of the file’s contents? Attaching an example document that exhibits the problem may be helpful as well, in case there’s something in the document that tends to trigger the problem. Thank you for your help in narrowing down the problem.

Please provide your response or results by updating your bug report.

Please compress any bundled files (e.g. nested folders) prior to uploading.

Counter-response (29-mar-2015)

Happens in Xcode 6.2 as well. Video attached. Every single xib file in the project regardless of age or origin. The diffs are all of the form.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> - + - + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" custom\

Nothing but plugin version number changes. 'piddlemania.mov' was successfully uploaded.

Response 22-Apr-2015

Happens in Xcode 6.3-final as well. 'piddle-party-2.mov' was successfully uploaded.

By borkwareLLC at April 23, 2015, 3:16 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!