Subject: diff weirdness (bug?)

From: Dario Bertini <[email-masked]>
Date: Fri, 14 Feb 2014 20:20:04 +0100

git clone [email-masked]:ansible/ansible.git
git revert 3616dffb68badb2b8d56

manually solve the conflict (you can look at the commit here:
https://github.com/ansible/ansible/commit/3616dffb68badb2b8d56ef34391d7aae8de79cd6
)

git diff will output:

dario@macbook ~/P/ansible (devel*+|REVERTING)> git diff
diff --cc lib/ansible/constants.py
index c055ccf,6eac602..0000000
--- a/lib/ansible/constants.py
+++ b/lib/ansible/constants.py
@@@ -84,16 -61,8 +84,12 @@@ active_user   = pwd.getpwuid(os.geteuid

  # Needed so the RPM can call setup.py and have modules land in the
  # correct location. See #1277 for discussion
- if getattr(sys, "real_prefix", None):
-     # in a virtualenv
-     DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/')
- else:
-     DIST_MODULE_PATH = '/usr/share/ansible/'
+ DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/')

 +# check all of these extensions when looking for yaml files for things
like
 +# group variables
 +YAML_FILENAME_EXTENSIONS = [ "", ".yml", ".yaml" ]
 +
  # sections in config file
  DEFAULTS='defaults'

now, it weirdly/incorrectly says that we added the YAML-related lines

if we remove these 3 lines, we'll get this diff:

dario@macbook ~/P/ansible (devel*+|REVERTING)> git diff --patience
diff --cc lib/ansible/constants.py
index c055ccf,6eac602..0000000
--- a/lib/ansible/constants.py
+++ b/lib/ansible/constants.py
@@@ -84,16 -61,8 +84,9 @@@ active_user   = pwd.getpwuid(os.geteuid

  # Needed so the RPM can call setup.py and have modules land in the
  # correct location. See #1277 for discussion
- if getattr(sys, "real_prefix", None):
-     # in a virtualenv
-     DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/')
- else:
-     DIST_MODULE_PATH = '/usr/share/ansible/'
+ DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/')

- # check all of these extensions when looking for yaml files for things
like
- # group variables
- YAML_FILENAME_EXTENSIONS = [ "", ".yml", ".yaml" ]
 +
  # sections in config file
  DEFAULTS='defaults'

even more weirdly, it'll say that we deleted the yaml-related lines

if we also remove one of the extra blank lines next to the yaml lines we
get an empty diff:

dario@macbook ~/P/ansible (devel*+|REVERTING)> git diff
diff --cc lib/ansible/constants.py
index c055ccf,6eac602..0000000
--- a/lib/ansible/constants.py
+++ b/lib/ansible/constants.py

running `git add .` and then checking with git diff --cached will show
that everything is normal

the output is the same also with
git diff --minimal
or
git diff --patience

-- 
xmpp: [email-masked]
bitmessage: BM-2cTYXfGiSTsnx3righ6aHcJSWe4MV17jDP
gpg fingerprint: 3F8D53518012716C4EEF7DF67B498306B3BF75A0 (used just
for signing commits)