[svn r58190] adding arigo/hacks/svnwcrevert as a py.svnwcrevert script on py lib trunk
--HG-- branch : trunk
This commit is contained in:
parent
3f7588948c
commit
33b0390ee6
|
@ -26,8 +26,8 @@ version = "1.0.0a1"
|
|||
|
||||
initpkg(__name__,
|
||||
description = "pylib and py.test: agile development and test support library",
|
||||
revision = int('$LastChangedRevision: 57754 $'.split(':')[1][:-1]),
|
||||
lastchangedate = '$LastChangedDate: 2008-09-02 14:24:15 +0200 (Tue, 02 Sep 2008) $',
|
||||
revision = int('$LastChangedRevision: 58190 $'.split(':')[1][:-1]),
|
||||
lastchangedate = '$LastChangedDate: 2008-09-17 10:50:04 +0200 (Wed, 17 Sep 2008) $',
|
||||
version = version,
|
||||
url = "http://pylib.org",
|
||||
download_url = "http://codespeak.net/py/0.9.2/download.html",
|
||||
|
@ -60,6 +60,7 @@ initpkg(__name__,
|
|||
'cmdline.pycountloc' : ('./cmdline/pycountloc.py', 'main',),
|
||||
'cmdline.pycleanup' : ('./cmdline/pycleanup.py', 'main',),
|
||||
'cmdline.pywhich' : ('./cmdline/pywhich.py', 'main',),
|
||||
'cmdline.pysvnwcrevert' : ('./cmdline/pysvnwcrevert.py', 'main',),
|
||||
|
||||
# helpers for use from test functions or collectors
|
||||
'test.__doc__' : ('./test/__init__.py', '__doc__'),
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env python
|
||||
from _findpy import py
|
||||
py.cmdline.pysvnwcrevert()
|
|
@ -0,0 +1,2 @@
|
|||
@echo off
|
||||
python "%~dp0\..\py.svnwcrevert" %*
|
|
@ -0,0 +1,49 @@
|
|||
#! /usr/bin/env python
|
||||
"""\
|
||||
py.svnwcrevert WCPATH
|
||||
|
||||
Running this script and then 'svn up' puts the working copy WCPATH in a state
|
||||
as clean as a fresh check-out.
|
||||
|
||||
WARNING: you'll loose all local changes, obviously!
|
||||
|
||||
This script deletes all files that have been modified
|
||||
or that svn doesn't explicitly know about, including svn:ignored files
|
||||
(like .pyc files, hint hint).
|
||||
|
||||
The goal of this script is to leave the working copy with some files and
|
||||
directories possibly missing, but - most importantly - in a state where
|
||||
the following 'svn up' won't just crash.
|
||||
"""
|
||||
|
||||
import py
|
||||
|
||||
def kill(p, root):
|
||||
print '< %s' % (p.relto(root),)
|
||||
p.remove(rec=1)
|
||||
|
||||
def svnwcrevert(path, root=None):
|
||||
if root is None:
|
||||
root = path
|
||||
wcpath = py.path.svnwc(path)
|
||||
try:
|
||||
st = wcpath.status()
|
||||
except ValueError: # typically, "bad char in wcpath"
|
||||
kill(path, root)
|
||||
return
|
||||
for p in path.listdir():
|
||||
if p.basename == '.svn':
|
||||
continue
|
||||
wcp = py.path.svnwc(p)
|
||||
if wcp not in st.unchanged and wcp not in st.external:
|
||||
kill(p, root)
|
||||
elif p.check(dir=1):
|
||||
svnwcrevert(p, root)
|
||||
|
||||
|
||||
def main():
|
||||
import sys
|
||||
if len(sys.argv) != 2:
|
||||
print __doc__
|
||||
sys.exit(2)
|
||||
svnwcrevert(py.path.local(sys.argv[1]))
|
Loading…
Reference in New Issue