Giter VIP home page Giter VIP logo

Comments (4)

woutervh avatar woutervh commented on July 22, 2024

Reading the CHANGES.rst several changes already have been made to make it compatible with Subversion1.7.

from zest.releaser.

reinout avatar reinout commented on July 22, 2024

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.

woutervh avatar woutervh commented on July 22, 2024

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.

reinout avatar reinout commented on July 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.