Server IP : 80.241.246.6 / Your IP : 216.73.216.129 Web Server : Apache/2.4.25 (Debian) System : Linux kharagauli 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 User : www-data ( 33) PHP Version : 7.0.33-0+deb9u12 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/usr/share/doc/git/contrib/svn-fe/ |
Upload File : |
#!/usr/bin/python """ Simulates svnrdump by replaying an existing dump from a file, taking care of the specified revision range. To simulate incremental imports the environment variable SVNRMAX can be set to the highest revision that should be available. """ import sys import os if sys.hexversion < 0x02040000: # The limiter is the ValueError() calls. This may be too conservative sys.stderr.write("svnrdump-sim.py: requires Python 2.4 or later.\n") sys.exit(1) def getrevlimit(): var = 'SVNRMAX' if var in os.environ: return os.environ[var] return None def writedump(url, lower, upper): if url.startswith('sim://'): filename = url[6:] if filename[-1] == '/': filename = filename[:-1] # remove terminating slash else: raise ValueError('sim:// url required') f = open(filename, 'r') state = 'header' wroterev = False while(True): l = f.readline() if l == '': break if state == 'header' and l.startswith('Revision-number: '): state = 'prefix' if state == 'prefix' and l == 'Revision-number: %s\n' % lower: state = 'selection' if not upper == 'HEAD' and state == 'selection' and \ l == 'Revision-number: %s\n' % upper: break if state == 'header' or state == 'selection': if state == 'selection': wroterev = True sys.stdout.write(l) return wroterev if __name__ == "__main__": if not (len(sys.argv) in (3, 4, 5)): print("usage: %s dump URL -rLOWER:UPPER") sys.exit(1) if not sys.argv[1] == 'dump': raise NotImplementedError('only "dump" is suppported.') url = sys.argv[2] r = ('0', 'HEAD') if len(sys.argv) == 4 and sys.argv[3][0:2] == '-r': r = sys.argv[3][2:].lstrip().split(':') if not getrevlimit() is None: r[1] = getrevlimit() if writedump(url, r[0], r[1]): ret = 0 else: ret = 1 sys.exit(ret)