nfc-tools / libfreefare

A convenience API for NFC cards manipulations on top of libnfc.
Other
395 stars 106 forks source link

Replace macro DESFIRE_TRANSCEIVE by a function #102

Closed broth-itk closed 5 years ago

broth-itk commented 5 years ago

This is to address TODO n° 3

The DESFIRE_TRANSCEIVE macro was replaced by a proper function. Extensive tests have been made to make sure the code works like before.

broth-itk commented 5 years ago

I think I messed up my branches - sorry! Looks like that request contains both the new function and the timeout improvement.

smortex commented 5 years ago

Yeah, better stick to a Pull Request per change :wink:

What you can do:

# Create a new branch at the same point of history:
% git checkout -b make-timeout-configurable

% git rebase -i master
# Your editor will pop-up and list the 2 commits in your branch, remove the line which is not related to the timeout (because we are in the timeout branch)
% git push -u broth-itk make-timeout-configurable
# (assuming your remote is "broth-itk"… it may be "origin")

# You can then open a new Pull-Request with the commit in the
# make-timeout-configurable branch.

# Then, we can rewrite the history of the branch of the Pull Request:
% git checkout fix_desfire_transceive
% git rebase -i master
# Same, but now you remove the other commit
% git push -f

# The -f is required because we changed history.  This will update the pull-request.

This should put us on track :-)

smortex commented 5 years ago

D'oh, I did not see that you already did #101 for the other problem.

You only need to do the last 2 things:

% git rebase -i master
% git push -f
broth-itk commented 5 years ago

Something is wrong. I think it's too late today to learn about the git magic :)

$ git push origin HEAD:fix_desfire_transceive
Username for 'https://github.com': broth-itk
Password for 'https://broth-itk@github.com': 
To https://github.com/broth-itk/libfreefare
 ! [rejected]        HEAD -> fix_desfire_transceive (non-fast-forward)
error: failed to push some refs to 'https://github.com/broth-itk/libfreefare'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
smortex commented 5 years ago

I guess you are just missing a -f to force the operation. By default, git does not allow you to change something that was pushed to the outside… unless you force it to do so.

$ git push -f origin HEAD:fix_desfire_transceive

should do the trick