view mercurial/strutil.py @ 20977:a57dcd11be34

repair: make paths in "_bundle()" relative to ".hg" This patch makes paths below in "_bundle()" relative to ".hg": - backup directory ("strip-backup"), and - bundle file under backup directory "vfs" is passed to "changegroup.writebundle()" to use relative path directly. This patch applies "vfs.join()" on the value returned by "_bundle()", because the caller expect it to return absolute path. This will be changed by succeeding patch changing the caller side.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sun, 09 Mar 2014 01:03:28 +0900
parents 25e572394f5c
children b723f05ec49b
line wrap: on
line source

# strutil.py - string utilities for Mercurial
#
# Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

def findall(haystack, needle, start=0, end=None):
    if end is None:
        end = len(haystack)
    if end < 0:
        end += len(haystack)
    if start < 0:
        start += len(haystack)
    while start < end:
        c = haystack.find(needle, start, end)
        if c == -1:
            break
        yield c
        start = c + 1

def rfindall(haystack, needle, start=0, end=None):
    if end is None:
        end = len(haystack)
    if end < 0:
        end += len(haystack)
    if start < 0:
        start += len(haystack)
    while end >= 0:
        c = haystack.rfind(needle, start, end)
        if c == -1:
            break
        yield c
        end = c - 1