diff options
Diffstat (limited to 'tools/examples/geturl.py')
-rwxr-xr-x | tools/examples/geturl.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tools/examples/geturl.py b/tools/examples/geturl.py new file mode 100755 index 0000000..d50e22e --- /dev/null +++ b/tools/examples/geturl.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python +# +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# +# +# USAGE: geturl.py FILE_OR_DIR1 FILE_OR_DIR2 ... +# +# prints out the URL associated with each item +# + +import os +import sys + +import svn.wc +import svn.core + +def main(files): + for f in files: + dirpath = fullpath = os.path.abspath(f) + if not os.path.isdir(dirpath): + dirpath = os.path.dirname(dirpath) + adm_baton = svn.wc.adm_open(None, dirpath, 1, 1) + try: + entry = svn.wc.entry(fullpath, adm_baton, 0) + print(entry.url) + finally: + svn.wc.adm_close(adm_baton) + +if __name__ == '__main__': + main(sys.argv[1:]) |