Comments (4)
Reading the CHANGES.rst several changes already have been made to make it compatible with Subversion1.7.
from zest.releaser.
It works just fine with 1.7. But... the assumption is that you're directly inside a checkout. So: your trunk should be checked out, you should not have a whole svn tree including tags and trunk and branches checked out. In that case, the .svn would me multiple directories up.
The .svn/.git/.hg detection is very quick, running "svn info", "git status" etc is much more expensive.
from zest.releaser.
But... the assumption is that you're directly inside a checkout.
Yes and that is a new, undocumented and unnecessary assumption, following one specific type of workflow:
A single developer working on single package that he checked out, commits his changes and makes a release.
Now suppose a team of 10 people, alerting the release-manager their work is ready for releasing.
the release-manager svn ups his root-directory , cd's to some trunks that had changes and make a fullrelease of all subcomponents and the overall application. That type of workflow is now broken.
.svn/.git/.hg detection is very quick, running "svn info", "git status" etc is much more expensive.
The quick .svn/.git/.hg detection can stay as first checks, but if no directory is found, I'd rather have the more expensive call to "svn info", than a very quick critical error, and start doing multiple temporary manual trunk-checkouts.
if '.svn' in curdir_contents:
return svn.Subversion()
elif '.hg' in curdir_contents:
return hg.Hg()
elif '.bzr' in curdir_contents:
return bzr.Bzr()
elif '.git' in curdir_contents:
return git.Git()
elif not subprocess.call("svn info", shell=True, stdout=open(os.devnull, "w"), stderr=subprocess.STDOUT):
# subprocess.call returns 0, if it's a valid svn-checkout
# and returns 1 in case of error: "svn E155007: /path/to/package .. is not a working copy"
return svn.Subversion()
else:
logger.critical('No version control system detected.')
from zest.releaser.
Ok, I released 3.40 with a fix.
Btw, the "one specific workflow" is the one almost everybody has. Your usecase has not come up in the year since the last svn version is out. I've personally only seen the "I'll check out the entire repository" strategy at my current company. And that was before we did proper tagged releases. Having 20 or 30 tags per project cluttering up your harddisk tends to discourage this :-)
Suggestion: point the release manager at checkoutmanager (also on pypi), that might make his life easier.
from zest.releaser.
Related Issues (20)
- ValueError: binary mode doesn't take an encoding argument HOT 9
- fullrelease: error: no such option: --no-input HOT 8
- sdist is missing tox.ini HOT 1
- tests fails with non-GNU ls HOT 4
- testing: the following arguments are required: message HOT 1
- testing: bumpversion and postrelease tests fails HOT 3
- Always create wheels, when possible HOT 2
- Warn/ask to verify for deprecation notices when making a major release HOT 4
- get_last_tag can fail with recent setuptools HOT 1
- Use build to generate wheels and sdists HOT 7
- Read zest.releaser settings from pyproject.toml HOT 3
- Issue during our dependency-check analysis because of tests/pyproject.toml file HOT 1
- Upload to PyPI fails HOT 6
- readthedocs documentation isn't being build anymore HOT 2
- Issues when trying 'build' HOT 7
- Wheel does not contain the required METADATA file HOT 2
- `build` has changed the ProjectBuilder API in 1.0.0 HOT 2
- index-servers option in setup.cfg not working HOT 5
- implement --version HOT 1
- Support Hatchling as build backend HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zest.releaser.