bootstrap.py not overwriting modified sources
Hi all, It appears that when bootstrap.py is invoked to update sources then unsurprisingly it doesn't overwrite existing sources if these are more recent, as in someone has modified them and not committed the changes. Occasionally this leads to broken builds. To prevent this from happening would it not be a good idea to change bootstrap.py to default to overwrite any uncommitted changes unless some flag is set on the command line? Rob -- Robert Oeffner, Ph.D. Research Associate, The Read Group Department of Haematology, Cambridge Institute for Medical Research University of Cambridge Cambridge Biomedical Campus Wellcome Trust/MRC Building Hills Road Cambridge CB2 0XY www.cimr.cam.ac.uk/investigators/read/index.html tel: +44(0)1223 763234 mobile: +44(0)7712 887162
Hi Rob
I would say that this would be a rather dangerous default. You would lose any uncommitted changes and there is no way back. At least (assuming a git repository) do a git stash instead -- although to the unsuspecting non-expert user this would still look like the changes are lost.
How about: If changes present, warn the user and advise that they can irrevocably reset the repository with eg.
git reset --hard HEAD; git clean -dffx
-Markus
(I only ever use ‘update’ to do the initial checkout, so whatever the decision it wouldn’t affect me.)
From: [email protected] [mailto:[email protected]] On Behalf Of R.D. Oeffner
Sent: 14 February 2017 12:49
To: cctbx mailing list
Hi all, bootstrap.py now stops if you have local edits that cause git pull
to fail. Allowing repositories to go stale was causing us problems.
Better ideas are welcome :)
-Aaron
On Tue, Feb 14, 2017 at 5:00 AM,
Hi Rob
I would say that this would be a rather dangerous default. You would lose any uncommitted changes and there is no way back. At least (assuming a git repository) do a *git stash* instead -- although to the unsuspecting non-expert user this would still look like the changes are lost.
How about: If changes present, warn the user and advise that they can irrevocably reset the repository with eg.
git reset --hard HEAD; git clean -dffx
-Markus
(I only ever use ‘update’ to do the initial checkout, so whatever the decision it wouldn’t affect me.)
*From:* [email protected] [mailto:cctbxbb-bounces@ phenix-online.org] *On Behalf Of *R.D. Oeffner *Sent:* 14 February 2017 12:49 *To:* cctbx mailing list
*Subject:* [cctbxbb] bootstrap.py not overwriting modified sources Hi all,
It appears that when bootstrap.py is invoked to update sources then unsurprisingly it doesn't overwrite existing sources if these are more recent, as in someone has modified them and not committed the changes. Occasionally this leads to broken builds.
To prevent this from happening would it not be a good idea to change bootstrap.py to default to overwrite any uncommitted changes unless some flag is set on the command line?
Rob
-- Robert Oeffner, Ph.D.
Research Associate, The Read Group
Department of Haematology,
Cambridge Institute for Medical Research
University of Cambridge
Cambridge Biomedical Campus
Wellcome Trust/MRC Building
Hills Road
Cambridge CB2 0XY
www.cimr.cam.ac.uk/investigators/read/index.html
tel: +44(0)1223 763234 <+44%201223%20763234>
mobile: +44(0)7712 887162 <+44%207712%20887162>
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hi Aaron,
Looks good to me. Sorting out what should happen with uncommitted changes etc. should be sorted out by the user.
-Markus
From: [email protected] [mailto:[email protected]] On Behalf Of Aaron Brewster
Sent: 01 April 2017 00:26
To: cctbx mailing list
Hi Markus,
The issue as I understand it happens when the source changes are made to a
repo used in the nightly builds and the user for one reason or another has
not reverted or pushed the changes to the remote repo. One could argue that
this is sloppiness by the user. But maybe they were debugging code a few
minutes before a nighty build got triggered. But it nevertheless happens
ever so often. Given that the nightly builds are automated the user may not
be around to tidy up a messy repo.
How about providing an option flag for bootstrap that when used will force
overwriting dirty repos? It would then be up to the user running nightly
builds deciding if they wanted to use this option.
Rob
-----Original Message-----
From: [email protected]
Sent: Saturday, April 1, 2017 3:31 AM
To: [email protected]
Subject: Re: [cctbxbb] bootstrap.py not overwriting modified sources
Hi Aaron,
Looks good to me. Sorting out what should happen with uncommitted changes
etc. should be sorted out by the user.
-Markus
From: [email protected]
[mailto:[email protected]] On Behalf Of Aaron Brewster
Sent: 01 April 2017 00:26
To: cctbx mailing list
Hi Rob,
Well you wouldn't have to completely destroy any changes, best would be to just stash all changes, maybe with a semi-useful stash name. Then the user can go back to their changes, rebase them manually or whatever.
I guess we could do a --stash or something to that end.
While I'm here - anybody have any concerns moving away from the abandonware that is PIL (Python Image Library) to the actively maintained fork of the PIL-replacement library, Pillow?
-Markus
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of R. D. Oeffner
Sent: 01 April 2017 11:24
To: cctbx mailing list
participants (4)
-
Aaron Brewster
-
markus.gerstel@diamond.ac.uk
-
R. D. Oeffner
-
R.D. Oeffner