-
Notifications
You must be signed in to change notification settings - Fork 525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to easily update a chain of internal projects? #1484
Comments
If you would like to update all solution simultaneously you probably want to have simple |
Because a solution is a self-contained unit. It would be ridiculous to have the |
To approach this problem from another point of view. I have the projects (and dependencies): Say, currently they are all 1.0.0 and reference each other via some feed/folder with Now, I introduce a CI strategy. I change I can think of two approaches.
I can't understand how to make it all work together, would be grateful for any comments. |
Do B and C always have to automatically use the newest version of A, meaning you do not actually want to control the versions at all (thus no need for repeatable builds)? Or is this just one specific CI build e.g. to detect potential conflicts early on? |
On 1) wouldn't you then have to check out the project files, since |
Yes, I also just realized the project files are always affected, even if no changes are made.
Well, I think they can reference It comes down to what to do with |
Just to understand your scenario: If you do two builds form exactly the same source code revision of B you would expect two different results/outputs if a new version of A has been built in between (without touching A at all)? |
@cdrnet So basically, after #1471 and c6bfd75 project files are always touched when doing Can it be covered with some optional flag? Maybe reuse the same To reiterate, what i want is to get the latest available versions on each build without touching/updating/checking out anything. |
:( |
Yes that's what @cdrnet did right? |
@forki, no. https://github.com/fsprojects/Paket/releases/tag/2.50.9 (before #1471 / #1485) did not update https://github.com/fsprojects/Paket/releases/tag/2.50.10 (with #1471 / #1485) always updates project files. This causes issues when working with Perforce because all files are read-only by default. The latest https://github.com/fsprojects/Paket/releases/tag/2.54.0 (with #1493) claims "with forceTouch to only modify the last write time without content if unchanged". But it doesn't matter, it fails on read-only files anyway. I suggest to make it not change anything in the |
yes that's the goal |
Currently on restore, "forceTouch" is disabled by default and can be enabled with |
tbh I think it should not touch if nothing changes. |
So what about doing it the same way as for restore, i.e. disabling forceTouch by default on install, add etc but enable it optionally with (For the case where "nothing changes" means the project file itself does not change, but some of its dependencies have been changed) |
yes that's what I meant --touch-affected-refs should work for paket and install. Default should be: don't touch if you don't need |
That would work for me. The change should be straight forward, I can provide a PR. |
thanks that would awesome! 2016-03-22 16:02 GMT+01:00 Christoph Ruegg [email protected]:
|
@cdrnet Christoph, I don't want to be bragging, but is there any chance this can be implemented? |
@orloffm Ah right; I've scheduled some time later today to put the PR together |
@orloffm does v2.58.2 resolve your issues? |
@cdrnet Yes. Amazing, thank you very much! |
I have a tree of internal projects that use each other via
.nupkg
files. I increase the version number of someTools
library. How do I then update the.lock
ed version of this package in all other solutions? There is no way to do it other than callingpaket update
manually on each solution, right?The text was updated successfully, but these errors were encountered: