From patchwork Fri Nov 7 15:07:31 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2, of, 2, v2] synthrepo: when adding files, ensure new path is not a directory From: adgar@google.com X-Patchwork-Id: 6633 Message-Id: To: mercurial-devel@selenic.com Date: Fri, 07 Nov 2014 10:07:31 -0500 # HG changeset patch # User Mike Edgar # Date 1413829243 14400 # Mon Oct 20 14:20:43 2014 -0400 # Node ID a81819ad894bbb060617c7a1b7fcf6ba930d3563 # Parent 2ba7af12f8c59172e230295a238183400b19faf6 synthrepo: when adding files, ensure new path is not a directory diff -r 2ba7af12f8c5 -r a81819ad894b contrib/synthrepo.py --- a/contrib/synthrepo.py Mon Oct 20 13:59:13 2014 -0400 +++ b/contrib/synthrepo.py Mon Oct 20 14:20:43 2014 -0400 @@ -410,16 +410,18 @@ break if filesadded: dirs = list(pctx.dirs()) - dirs.append('') + dirs.insert(0, '') for __ in xrange(pick(filesadded)): - path = [random.choice(dirs)] - if pick(dirsadded): + pathstr = '' + while pathstr in dirs: + path = [random.choice(dirs)] + if pick(dirsadded): + path.append(random.choice(words)) path.append(random.choice(words)) - path.append(random.choice(words)) - path = '/'.join(filter(None, path)) + pathstr = '/'.join(filter(None, path)) data = '\n'.join(makeline() for __ in xrange(pick(linesinfilesadded))) + '\n' - changes[path] = context.memfilectx(repo, path, data) + changes[pathstr] = context.memfilectx(repo, pathstr, data) def filectxfn(repo, memctx, path): return changes[path] if not changes: